<SEC-DOCUMENT>0001493152-24-012435.txt : 20240401
<SEC-HEADER>0001493152-24-012435.hdr.sgml : 20240401
<ACCEPTANCE-DATETIME>20240401164213
ACCESSION NUMBER:		0001493152-24-012435
CONFORMED SUBMISSION TYPE:	10-K
PUBLIC DOCUMENT COUNT:		108
CONFORMED PERIOD OF REPORT:	20231231
FILED AS OF DATE:		20240401
DATE AS OF CHANGE:		20240401

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			FLEXIBLE SOLUTIONS INTERNATIONAL INC
		CENTRAL INDEX KEY:			0001069394
		STANDARD INDUSTRIAL CLASSIFICATION:	MISCELLANEOUS CHEMICAL PRODUCTS [2890]
		ORGANIZATION NAME:           	08 Industrial Applications and Services
		IRS NUMBER:				911922863
		STATE OF INCORPORATION:			NV
		FISCAL YEAR END:			1231

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

	BUSINESS ADDRESS:	
		STREET 1:		2614 QUEENSWOOD DR
		CITY:			VICTORIA B C
		STATE:			A1
		ZIP:			V8N 1X5
		BUSINESS PHONE:		2504779969

	MAIL ADDRESS:	
		STREET 1:		2614 QUEENSWOOD DR
		CITY:			VICTORIA BC CANADA
		STATE:			A1
		ZIP:			V8N 1X5
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-K
<SEQUENCE>1
<FILENAME>form10-k.htm
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:us-roles="http://fasb.org/us-roles/2023" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:ecd="http://xbrl.sec.gov/ecd/2023" xmlns:country="http://xbrl.sec.gov/country/2023" xmlns:srt="http://fasb.org/srt/2023" xmlns:FSI="http://flexiblesolutions.com/20231231">
<head>
     <title></title>
<meta http-equiv="Content-Type" content="text/html"/>
</head>
<!-- Field: Set; Name: xdx; ID: xdx_02E_US%2DGAAP%2D2023%2D(with%2DECD) -->
<!-- Field: Set; Name: xdx; ID: xdx_03B_FSI_flexiblesolutions.com_20231231 -->
<!-- Field: Set; Name: xdx; ID: xdx_04A_20230101_20231231 -->
<!-- Field: Set; Name: xdx; ID: xdx_059_edei%2D%2DAmendmentFlag_false -->
<!-- Field: Set; Name: xdx; ID: xdx_05A_edei%2D%2DDocumentFiscalPeriodFocus_FY -->
<!-- Field: Set; Name: xdx; ID: xdx_059_edei%2D%2DEntityCentralIndexKey_0001069394 -->
<!-- Field: Set; Name: xdx; ID: xdx_076_XDX_form10%2Dk.xdx -->
<!-- Field: Set; Name: xdx; ID: xdx_06B_USD_1_iso4217%2D%2DUSD -->
<!-- Field: Set; Name: xdx; ID: xdx_062_Shares_2_xbrli%2D%2Dshares -->
<!-- Field: Set; Name: xdx; ID: xdx_06D_USDPShares_3_iso4217%2D%2DUSD_xbrli%2D%2Dshares -->
<!-- Field: Set; Name: xdx; ID: xdx_069_Pure_4_xbrli%2D%2Dpure -->
<!-- Field: Set; Name: xdx; ID: xdx_06D_Segments_0_Segments -->
<!-- Field: Set; Name: xdx; ID: xdx_06E_CAD_0_iso4217%2D%2DCAD -->
<!-- Field: Set; Name: xdx; ID: xdx_06D_sqft_0_utr%2D%2Dsqft -->
<body style="font: 10pt Times New Roman, Times, Serif">
<div style="display: none">
<ix:header>
 <ix:hidden>
  <ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000003" name="dei:AmendmentFlag">false</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000004" name="dei:DocumentFiscalPeriodFocus">FY</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000005" name="dei:EntityCentralIndexKey">0001069394</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl0023" name="dei:EntityIncorporationStateCountryCode">A0</ix:nonNumeric>
  <ix:nonFraction name="us-gaap:ProvisionForDoubtfulAccounts" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl0259" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:GainLossOnDispositionOfAssets1" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl0269" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="FSI:GainOnPreviouslyHeldEquityInterest" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl0274" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl0356" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:ProvisionForDoubtfulAccounts" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl0358" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="FSI:GainOnAcquisitionOfSubsidiary" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl0364" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PaymentsToAcquireInvestments" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl0395" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="FSI:ProceedsFromRedemptionOfInvestments" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl0398" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="FSI:ProceedsFromNoncontrollingInterestOfMendota" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl0404" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="FSI:PaymentsToAcquireLongTermDeposits" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl0407" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:ProceedsFromSaleOfProductiveAssets" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl0410" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl0415" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PaymentsOfDividends" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl0437" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0491" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2022-01-012022-12-31_custom_CapitalInExcessOfParValueMember" id="xdx2ixbrl0492" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0493" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2022-01-012022-12-31_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0496" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0499" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2022-01-012022-12-31_custom_CapitalInExcessOfParValueMember" id="xdx2ixbrl0500" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2022-01-012022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0502" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0509" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2022-01-012022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0510" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2022-01-012022-12-31_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0512" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0517" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2022-01-012022-12-31_custom_CapitalInExcessOfParValueMember" id="xdx2ixbrl0518" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0519" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2022-01-012022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0520" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2022-01-012022-12-31_us-gaap_ParentMember" id="xdx2ixbrl0521" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0525" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0527" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2022-01-012022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0528" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2022-01-012022-12-31_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0530" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0553" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2023-01-012023-12-31_custom_CapitalInExcessOfParValueMember" id="xdx2ixbrl0554" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0555" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2023-01-012023-12-31_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0558" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:Dividends" contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0561" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:Dividends" contextRef="From2023-01-012023-12-31_custom_CapitalInExcessOfParValueMember" id="xdx2ixbrl0562" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:Dividends" contextRef="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0564" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:Dividends" contextRef="From2023-01-012023-12-31_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0566" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination" contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0569" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination" contextRef="From2023-01-012023-12-31_custom_CapitalInExcessOfParValueMember" id="xdx2ixbrl0570" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination" contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0571" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination" contextRef="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0572" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination" contextRef="From2023-01-012023-12-31_us-gaap_ParentMember" id="xdx2ixbrl0573" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0577" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-012023-12-31_custom_CapitalInExcessOfParValueMember" id="xdx2ixbrl0578" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0580" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0587" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0588" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2023-01-012023-12-31_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0590" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0595" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2023-01-012023-12-31_custom_CapitalInExcessOfParValueMember" id="xdx2ixbrl0596" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0597" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0598" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2023-01-012023-12-31_us-gaap_ParentMember" id="xdx2ixbrl0599" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0603" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0605" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0606" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-01-012023-12-31_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0608" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-12-31_us-gaap_LandMember" id="xdx2ixbrl0855" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31_us-gaap_LeaseholdImprovementsMember" id="xdx2ixbrl0859" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31_us-gaap_DevelopedTechnologyRightsMember" id="xdx2ixbrl0862" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2022-12-31_us-gaap_LeaseholdImprovementsMember" id="xdx2ixbrl0892" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2022-12-31_us-gaap_DevelopedTechnologyRightsMember" id="xdx2ixbrl0895" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2022-12-31_us-gaap_LandMember" id="xdx2ixbrl0897" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="AsOf2023-12-31" id="xdx2ixbrl0920" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="AsOf2022-12-31" id="xdx2ixbrl0926" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" contextRef="From2023-01-012023-12-31_us-gaap_PatentsMember68517890" id="xdx2ixbrl0928" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:EquityMethodInvestments" contextRef="AsOf2023-12-31_custom_EnpPeruInvestmentsLlcMember" id="xdx2ixbrl1029" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:Investments" contextRef="AsOf2023-12-31" id="xdx2ixbrl1037" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:ShortTermBorrowings" contextRef="AsOf2023-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockBankMember_us-gaap_RevolvingCreditFacilityMember" id="xdx2ixbrl1122" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:InterestExpenseDebt" contextRef="From2023-01-012023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember" id="xdx2ixbrl1136" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:DebtDefaultLongtermDebtAmount" contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember" id="xdx2ixbrl1140" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:DebtDefaultLongtermDebtAmount" contextRef="AsOf2022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember" id="xdx2ixbrl1142" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:InterestExpenseDebt" contextRef="From2023-01-012023-12-31_custom_NanoChemSolutionsIncMember_custom_MidlandBankMember" id="xdx2ixbrl1148" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:DebtDefaultLongtermDebtAmount" contextRef="AsOf2023-12-31_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember" id="xdx2ixbrl1152" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:DebtDefaultLongtermDebtAmount" contextRef="AsOf2022-12-31_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember" id="xdx2ixbrl1154" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:InterestExpenseDebt" contextRef="From2022-01-012022-12-31_custom_MendotaMember_custom_TermLoanMember" id="xdx2ixbrl1225" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:DebtDefaultLongtermDebtAmount" contextRef="AsOf2022-12-31_custom_TermLoanMember_custom_MendotaMember" id="xdx2ixbrl1229" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="FSI:ProceedsFromLoanAcquiredFromAcquisition" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl1242" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2023-12-31_custom_MidlandStatesBankMember" id="xdx2ixbrl1253" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2022-12-31_custom_MidlandStatesBankMember" id="xdx2ixbrl1254" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2023-12-31_custom_MidlandStatesBankOneMember" id="xdx2ixbrl1256" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2022-12-31_custom_MidlandStatesBankOneMember" id="xdx2ixbrl1257" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2022-12-31_custom_StockYardsBankTrustFiveMember" id="xdx2ixbrl1275" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:DeferredForeignIncomeTaxExpenseBenefit" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl1314" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:DeferredForeignIncomeTaxExpenseBenefit" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl1315" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets" contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember" id="xdx2ixbrl1368" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets" contextRef="AsOf2022-12-31_us-gaap_CanadaRevenueAgencyMember" id="xdx2ixbrl1370" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:DeferredTaxAssetsNet" contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember" id="xdx2ixbrl1384" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:DeferredTaxAssetsNet" contextRef="AsOf2022-12-31_us-gaap_CanadaRevenueAgencyMember" id="xdx2ixbrl1386" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" contextRef="AsOf2023-12-31_us-gaap_InternalRevenueServiceIRSMember" id="xdx2ixbrl1388" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" contextRef="AsOf2022-12-31_us-gaap_InternalRevenueServiceIRSMember" id="xdx2ixbrl1390" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:DeferredTaxAssetsInvestments" contextRef="AsOf2023-12-31_us-gaap_InternalRevenueServiceIRSMember" id="xdx2ixbrl1396" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:DeferredTaxAssetsDerivativeInstruments" contextRef="AsOf2023-12-31_us-gaap_InternalRevenueServiceIRSMember" id="xdx2ixbrl1408" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:DeferredTaxAssetsDerivativeInstruments" contextRef="AsOf2022-12-31_us-gaap_InternalRevenueServiceIRSMember" id="xdx2ixbrl1410" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="FSI:DeferredTaxAssetNotRecognized" contextRef="AsOf2023-12-31_us-gaap_InternalRevenueServiceIRSMember" id="xdx2ixbrl1412" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="FSI:DeferredTaxAssetNotRecognized" contextRef="AsOf2022-12-31_us-gaap_InternalRevenueServiceIRSMember" id="xdx2ixbrl1414" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2023-01-012023-12-31_custom_ConsultantsMember" id="xdx2ixbrl1570" unitRef="Shares" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="From2023-01-012023-12-31_custom_ConsultantsMember" id="xdx2ixbrl1574" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2023-01-012023-12-31_custom_EmployeesMember" id="xdx2ixbrl1582" unitRef="Shares" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="From2023-01-012023-12-31_custom_EmployeesMember" id="xdx2ixbrl1586" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2023-01-012023-12-31_custom_ConsultantsMember" id="xdx2ixbrl1596" unitRef="Shares" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember" id="xdx2ixbrl1606" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl1628" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:DividendsPayableAmountPerShare" contextRef="AsOf2022-12-31" id="xdx2ixbrl1632" unitRef="USDPShares" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:MinorityInterest" contextRef="AsOf2022-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember" id="xdx2ixbrl1672" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2023-01-012023-12-31_custom_EWCPMember_custom_SegmentMember" id="xdx2ixbrl1710" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:InterestExpense" contextRef="From2022-01-012022-12-31_custom_EWCPMember_custom_SegmentMember" id="xdx2ixbrl1718" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2022-01-012022-12-31_custom_EWCPMember_custom_SegmentMember" id="xdx2ixbrl1738" unitRef="USD" xs:nil="true"/>
  </ix:hidden>
 <ix:references>
  <link:schemaRef xlink:href="fsi-20231231.xsd" xlink:type="simple"/>
  </ix:references>
 <ix:resources>
    <xbrli:context id="From2023-01-01to2023-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-29">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-29</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</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:context id="AsOf2021-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2021-12-31_custom_CapitalInExcessOfParValueMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2021-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2021-12-31_us-gaap_ParentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2021-12-31_us-gaap_NoncontrollingInterestMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2022-12-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2022-12-31_custom_CapitalInExcessOfParValueMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2022-12-31_us-gaap_ParentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2022-12-31_us-gaap_NoncontrollingInterestMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</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:context id="From2022-01-012022-12-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</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="From2022-01-012022-12-31_custom_CapitalInExcessOfParValueMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</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="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</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="From2022-01-012022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</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="From2022-01-012022-12-31_us-gaap_ParentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</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="From2022-01-012022-12-31_us-gaap_NoncontrollingInterestMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</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="From2023-01-012023-12-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_CapitalInExcessOfParValueMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_ParentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_NoncontrollingInterestMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_CapitalInExcessOfParValueMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_ParentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_NoncontrollingInterestMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_MendotaLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_ENPInvestmentsLLCAndENPMendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCAndENPMendotaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_ENPPeruMember_custom_UnrelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPPeruMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:UnrelatedPartyMember</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="From2022-01-012022-12-31_custom_ENPPeruMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPPeruMember</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="From2022-01-012022-12-31_custom_ENPInvestmentsAndENPMendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsAndENPMendotaMember</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="From2023-01-012023-12-31_custom_ENPPeruMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPPeruMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_MendotaLLCMember_custom_UnrelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:UnrelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_FirstTermMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">FSI:FirstTermMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_SecondTermMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">FSI:SecondTermMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_ThirdTermMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">FSI:ThirdTermMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_FourthTermMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">FSI:FourthTermMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_ShippingAndHandlingMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_us-gaap_ShippingAndHandlingMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</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="From2023-01-012023-12-31_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</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="From2023-01-012023-12-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</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="From2023-01-012023-12-31_custom_InvestmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:InvestmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_ComputerEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_MachineryAndEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_OfficeEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_BoatMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">FSI:BoatMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_BuildingAndBuildingImprovementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_TrailerMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">FSI:TrailerMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_AutomobilesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AutomobilesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_PatentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_TechnologyEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:TechnologyEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_LeaseholdImprovementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_CustomerRelationshipsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_SoftwareMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">FSI:SoftwareMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_BuildingAndBuildingImprovementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_AutomobilesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AutomobilesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_ComputerEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_OfficeEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_MachineryAndEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_TrailerMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">FSI:TrailerMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_LandMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_LeaseholdImprovementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_DevelopedTechnologyRightsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_BuildingAndBuildingImprovementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2022-12-31_us-gaap_AutomobilesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AutomobilesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_ComputerEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_OfficeEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2022-12-31_us-gaap_MachineryAndEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2022-12-31_custom_TrailerMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">FSI:TrailerMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_BoatMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">FSI:BoatMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_LeaseholdImprovementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2022-12-31_us-gaap_DevelopedTechnologyRightsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_LandMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_PatentsMember68517890">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_us-gaap_PatentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</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="AsOf2021-12-31_custom_EnPInvestmentsCorporationLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnPInvestmentsCorporationLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_EnPInvestmentsCorporationLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnPInvestmentsCorporationLLCMember</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="AsOf2022-12-31_custom_EnPInvestmentsCorporationLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnPInvestmentsCorporationLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_EnPInvestmentsCorporationLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnPInvestmentsCorporationLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_EnPInvestmentsCorporationLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnPInvestmentsCorporationLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_FiniteLivedIntangibleAssetsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:FiniteLivedIntangibleAssetsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2016-12-31_custom_EnpPeruInvestmentsLlcMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:EnpPeruInvestmentsLlcMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2016-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2016-12-31_custom_NanoChemMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:NanoChemMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2016-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2016-12-31_custom_ENPInvestmentsLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2016-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_custom_NanoChemMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:NanoChemMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-06-012022-06-30_custom_ENPPeruMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPPeruMember</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="AsOf2022-06-30_custom_ENPPeruMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPPeruMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_EnpnvestmentsLlcMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:EnpnvestmentsLlcMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_ENPInvestmentsLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_ENPInvestmentsLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2018-12-31_custom_AppliedHoldingCorpMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:AppliedHoldingCorpMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2018-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2023-10-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-10-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2018-12-31_custom_TrioOpportunityCorpMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:TrioOpportunityCorpMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2018-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-04-30_custom_TrioOpportunityCorpMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:TrioOpportunityCorpMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-04-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2018-12-012018-12-31_us-gaap_CommonClassBMember_custom_TrioOpportunityCorpMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:TrioOpportunityCorpMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2018-12-01</xbrli:startDate>
        <xbrli:endDate>2018-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2018-12-31_us-gaap_CommonClassBMember_custom_TrioOpportunityCorpMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:TrioOpportunityCorpMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2018-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2019-01-31_custom_FloridaBasedLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2019-01-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_FloridaBasedLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_FloridaBasedLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</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="AsOf2023-12-31_custom_FloridaBasedLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_FloridaBasedLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-12-012020-12-31_custom_LygosIncMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:LygosIncMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-12-01</xbrli:startDate>
        <xbrli:endDate>2020-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31_custom_LygosIncMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:LygosIncMember</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="AsOf2021-12-31_custom_LygosIncMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:LygosIncMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_EnpPeruInvestmentsLlcMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpPeruInvestmentsLlcMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_custom_EnpPeruInvestmentsLlcMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpPeruInvestmentsLlcMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_EnpPeruInvestmentsLlcMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpPeruInvestmentsLlcMember</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="AsOf2022-12-31_custom_EnpPeruInvestmentsLlcMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpPeruInvestmentsLlcMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_EnpPeruInvestmentsLlcMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpPeruInvestmentsLlcMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_custom_FloridaBasedLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-06-012023-06-30_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-06-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionIncMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_NoncontrollingInterestMember_custom_StockYardAndBankMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionIncMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-06-012023-06-30_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-06-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockBankMember_us-gaap_RevolvingCreditFacilityMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionIncMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockBankMember_us-gaap_RevolvingCreditFacilityMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionIncMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
          <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="AsOf2020-10-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-10-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-10-31_custom_TermLoanMember_custom_MidlandBankMember_us-gaap_PrimeRateMember_custom_NanoChemSolutionsIncMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-10-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-10-012020-10-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-10-01</xbrli:startDate>
        <xbrli:endDate>2020-10-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</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="AsOf2023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-10-31_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-10-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-10-31_custom_MidlandBankMember_us-gaap_PrimeRateMember_custom_NanoChemSolutionsIncMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-10-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_NanoChemSolutionsIncMember_custom_MidlandBankMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_NanoChemSolutionsIncMember_custom_MidlandBankMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</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="AsOf2023-12-31_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-01-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-012020-01-31_custom_StockYardsBankTrustMember_custom_EnpRealtyLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpRealtyLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-01-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-01-31_custom_StockYardsBankTrustMember_us-gaap_PrimeRateMember_custom_EnpRealtyLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpRealtyLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-01-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-012020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-01-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</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="AsOf2023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-06-012022-06-30_custom_StockYardsBankTrustMember_custom_EnpRealtyLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpRealtyLLCMember</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="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruInvestmentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_NanoChemMember_custom_TermLoanMember_custom_MidlandBankMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_NanoChemMember_custom_TermLoanMember_custom_MidlandBankMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</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="AsOf2023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-01-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_us-gaap_PrimeRateMember_custom_ENPPeruOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-01-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-012020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-01-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</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="AsOf2023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-06-012022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruInvestmentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</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="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_us-gaap_PrimeRateMember_custom_ENPPeruInvestmentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</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="AsOf2023-12-31_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_TermLoanMember_custom_NanoChemMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_TermLoanMember_custom_NanoChemMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_TermLoanMember_custom_NanoChemMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</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="AsOf2023-12-31_custom_TermLoanMember_custom_NanoChemMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_TermLoanMember_custom_MendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_MendotaMember_custom_TermLoanMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_MendotaMember_custom_TermLoanMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</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="AsOf2023-12-31_custom_TermLoanMember_custom_MendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_TermLoanMember_custom_MendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_MidlandStatesBankMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_MidlandStatesBankMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_MidlandStatesBankOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_MidlandStatesBankOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_StockYardsBankTrustMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_StockYardsBankTrustMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_StockYardsBankTrustOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_StockYardsBankTrustOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_StockYardsBankTrustTwoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustTwoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_StockYardsBankTrustTwoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustTwoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_StockYardsBankTrustThreeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustThreeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_StockYardsBankTrustThreeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustThreeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_StockYardsBankTrustFourMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustFourMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_StockYardsBankTrustFourMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustFourMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_StockYardsBankTrustFiveMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustFiveMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_StockYardsBankTrustFiveMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustFiveMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_CanadaRevenueAgencyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_InternalRevenueServiceIRSMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:InternalRevenueServiceIRSMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_InternalRevenueServiceIRSMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:InternalRevenueServiceIRSMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_TwoThousandThirtyTaxYearMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">FSI:TwoThousandThirtyTaxYearMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_TwoThousandThirtyOneYearMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">FSI:TwoThousandThirtyOneYearMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_TwoThousandThirtyTwoYearMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">FSI:TwoThousandThirtyTwoYearMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_TwoThousandThirtySevenYearMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">FSI:TwoThousandThirtySevenYearMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_TwoThousandThirtyNineYearMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">FSI:TwoThousandThirtyNineYearMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_TwoThousandFourtyYearMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">FSI:TwoThousandFourtyYearMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_ConsultantsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:ConsultantsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_ConsultantsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:ConsultantsMember</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="From2023-01-012023-12-31_custom_EmployeesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:EmployeesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_EmployeesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:EmployeesMember</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="From2023-01-012023-12-31_us-gaap_CanadaRevenueAgencyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_us-gaap_CanadaRevenueAgencyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</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="AsOf2021-12-31_srt_MinimumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_srt_MinimumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</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="From2022-01-012022-12-31_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2022-12-31_srt_MinimumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2022-12-31_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</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="From2023-01-012023-12-31_srt_MinimumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_srt_MinimumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_us-gaap_EmployeeStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</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="From2022-01-012022-12-31_custom_ConsultantStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">FSI:ConsultantStockOptionMember</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="From2023-01-012023-12-31_custom_ENPInvestmentsLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_ENPInvestmentsLLCMember68528578">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_ENPInvestmentsLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</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="AsOf2022-12-31_custom_ENPInvestmentsLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_MendotaLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</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="AsOf2022-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_AccountsReceivableMember_custom_ThreeCustomersMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">FSI:ThreeCustomersMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_ThreeCustomersMember_us-gaap_AccountsReceivableMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">FSI:ThreeCustomersMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_AccountsReceivableMember_custom_ThreeCustomersMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">FSI:ThreeCustomersMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_ThreeCustomersMember_us-gaap_AccountsReceivableMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">FSI:ThreeCustomersMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</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="From2023-01-012023-12-31_custom_EWCPMember_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:EWCPMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_BCPAMember_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:BCPAMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_EWCPMember_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:EWCPMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</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="From2022-01-012022-12-31_custom_BCPAMember_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:BCPAMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</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="From2022-01-012022-12-31_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</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="From2023-01-012023-12-31_country_CA">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_country_CA">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</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="From2023-01-012023-12-31_custom_UnitedStatesandAbroadMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">FSI:UnitedStatesandAbroadMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_UnitedStatesandAbroadMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">FSI:UnitedStatesandAbroadMember</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="AsOf2023-12-31_country_CA">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_country_CA">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_country_US">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_country_US">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-01-31_us-gaap_SubsequentEventMember_custom_ConsultantsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:ConsultantsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-01-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-01-31_us-gaap_SubsequentEventMember_custom_EmployeesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:EmployeesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-01-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:unit id="USD">
      <xbrli:measure>iso4217:USD</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="Shares">
      <xbrli:measure>xbrli:shares</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="USDPShares">
      <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:unit id="Pure">
      <xbrli:measure>xbrli:pure</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="Segments">
      <xbrli:measure>FSI:Segments</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="CAD">
      <xbrli:measure>iso4217:CAD</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="sqft">
      <xbrli:measure>utr:sqft</xbrli:measure>
    </xbrli:unit>
  </ix:resources>
 </ix:header>
</div>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center">&#160;</p>

<!-- Field: Rule-Page --><div style="margin-top: 0pt; margin-bottom: 0pt; width: 100%"><div style="border-top: Black 4pt solid; font-size: 1pt; border-bottom: Black 1.5pt solid">&#160;</div></div><!-- Field: /Rule-Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: bold 18pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 18pt; text-transform: uppercase"><b>united
states</b></span></p>

<p style="font: bold 18pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 18pt"><b>SECURITIES
AND EXCHANGE COMMISSION</b></span></p>

<p style="font: bold 12pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 12pt"><b>WASHINGTON,
D.C. 20549</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: bold 18pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 18pt"><b>FORM
<span id="xdx_901_edei--DocumentType_c20230101__20231231_zo34xoz1iL01"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000015" name="dei:DocumentType">10-K</ix:nonNumeric></span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_902_edei--DocumentAnnualReport_c20230101__20231231_zAnBCerSPqHf"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt:booleantrue" id="Fact000016" name="dei:DocumentAnnualReport">&#9746;</ix:nonNumeric></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ANNUAL
    REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
the Fiscal Year Ended <span id="xdx_90F_edei--DocumentPeriodEndDate_c20230101__20231231_zhSO9KLAfZB7"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt:datemonthdayyearen" id="Fact000017" name="dei:DocumentPeriodEndDate"><span id="xdx_90C_edei--CurrentFiscalYearEndDate_c20230101__20231231_zDAH4Hzgt7M3"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt:datemonthdayen" id="Fact000018" name="dei:CurrentFiscalYearEndDate">December 31</ix:nonNumeric></span>, <span id="xdx_90E_edei--DocumentFiscalYearFocus_c20230101__20231231_zeKUmJfFxBg6"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000019" name="dei:DocumentFiscalYearFocus">2023</ix:nonNumeric></span></ix:nonNumeric></span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">OR</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90B_edei--DocumentTransitionReport_c20230101__20231231_zBkPcJiOlswl"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt:booleanfalse" id="Fact000020" name="dei:DocumentTransitionReport">&#9744;</ix:nonNumeric></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">TRANSITION
    REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Commission
File No. <span id="xdx_904_edei--EntityFileNumber_c20230101__20231231_zDVVO4dSaLYd"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000021" name="dei:EntityFileNumber">001-31540</ix:nonNumeric></span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: bold 18pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 18pt"><b><span style="text-decoration: underline"><span id="xdx_902_edei--EntityRegistrantName_c20230101__20231231_zBG9iNOSXgD1"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000022" name="dei:EntityRegistrantName">FLEXIBLE
SOLUTIONS INTERNATIONAL, INC.</ix:nonNumeric></span></span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Exact
name of registrant as specified in its charter)</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90C_edei--EntityIncorporationStateCountryCode_dxL_c20230101__20231231_zJGIZHSDcBs9" title="::XDX::A0"><span style="-sec-ix-hidden: xdx2ixbrl0023">Alberta</span></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_906_edei--EntityTaxIdentificationNumber_c20230101__20231231_z6hfe9mMj1q6"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000024" name="dei:EntityTaxIdentificationNumber">71-1630889</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(State
    or other jurisdiction of incorporation or organization)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Employer
    Identification No.)</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_907_edei--EntityAddressAddressLine1_c20230101__20231231_z1KZsaJmq7Tc"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000025" name="dei:EntityAddressAddressLine1">6001
    54 Ave.</ix:nonNumeric></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90F_edei--EntityAddressCityOrTown_c20230101__20231231_zejj5I5VVTFi"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000026" name="dei:EntityAddressCityOrTown">Taber</ix:nonNumeric></span>,
    <span id="xdx_906_edei--EntityAddressStateOrProvince_c20230101__20231231_zx28LsbYn3Pi"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt-sec:stateprovnameen" id="Fact000027" name="dei:EntityAddressStateOrProvince">Alberta</ix:nonNumeric></span>, <span id="xdx_905_edei--EntityAddressCountry_c20230101__20231231_zrqE0IGiOGw"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt-sec:countrynameen" id="Fact000028" name="dei:EntityAddressCountry">Canada</ix:nonNumeric></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90A_edei--EntityAddressPostalZipCode_c20230101__20231231_zXqI3PR635Xh"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000029" name="dei:EntityAddressPostalZipCode">T1G
    1X4</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Address
    of Principal Executive Office)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Zip
    Code</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Registrant&#8217;s
telephone number, including Area Code: <span id="xdx_909_edei--CityAreaCode_c20230101__20231231_zQfmS3Ynt8ne"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000030" name="dei:CityAreaCode">(403)</ix:nonNumeric></span> <span id="xdx_907_edei--LocalPhoneNumber_c20230101__20231231_z7iaxtqBwaCk"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000031" name="dei:LocalPhoneNumber">223-2995</ix:nonNumeric></span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Securities
registered pursuant to Section 12(b) of the Act:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 36%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Title
    of each class</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 18%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Trading
    Symbol</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 42%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Name
    of each exchange on which registered</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_900_edei--Security12bTitle_c20230101__20231231_zP5jFmZsqYyb"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000032" name="dei:Security12bTitle">Common
    Stock, $0.001 par value</ix:nonNumeric></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_901_edei--TradingSymbol_c20230101__20231231_zjkx083dozW1"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000033" name="dei:TradingSymbol">FSI</ix:nonNumeric></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_909_edei--SecurityExchangeName_c20230101__20231231_zW2wyFZUXpO3"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt-sec:exchnameen" id="Fact000034" name="dei:SecurityExchangeName">NYSE
    American</ix:nonNumeric></span></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Securities
registered pursuant to Section 12(g) of the Act: None</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indicate
by check mark if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Yes
&#9744; <span id="xdx_909_edei--EntityWellKnownSeasonedIssuer_c20230101__20231231_z6vYaYMJGbSe"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000035" name="dei:EntityWellKnownSeasonedIssuer">No</ix:nonNumeric></span> &#9746;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indicate
by check mark if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Yes
&#9744; <span id="xdx_901_edei--EntityVoluntaryFilers_c20230101__20231231_z9yYdV9hwDHb"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000036" name="dei:EntityVoluntaryFilers">No</ix:nonNumeric></span> &#9746;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indicate
by check mark whether the registrant (1) has filed all reports to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934
during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2) has been subject
to such filing requirements for the past 90 days. <span id="xdx_907_edei--EntityCurrentReportingStatus_c20230101__20231231_zCvHucQi3II7"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000037" name="dei:EntityCurrentReportingStatus">Yes</ix:nonNumeric></span> &#9746; No &#9744;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indicate
by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted and posted pursuant
to Rule 405 of Regulation S-T (&#167;232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant
was required to submit and post such files). <span id="xdx_90C_edei--EntityInteractiveDataCurrent_c20230101__20231231_zJVIn55GuG6i"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000038" name="dei:EntityInteractiveDataCurrent">Yes</ix:nonNumeric></span> &#9746; No &#9744;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indicate
by check mark if disclosure of delinquent filers pursuant to Item 405 of Regulation S-K is not contained herein, and will not be contained,
to the best of Registrant&#8217;s knowledge, in definitive proxy or information statements incorporated by reference in Part III of this
Form 10-K or any amendment to this Form 10-K. &#9746;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indicate
by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, or a smaller reporting
company or an emerging growth company. See the definitions of &#8220;large accelerated filer,&#8221; &#8220;accelerated filer&#8221;,
&#8220;smaller reporting company&#8221; and &#8220;emerging growth company&#8221; in Rule 12b-2 of the Exchange Act.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 50%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Large
    accelerated filer &#9744;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 50%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Accelerated
    filer &#9744;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90B_edei--EntityFilerCategory_c20230101__20231231_zZq3xljvFwT2"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt-sec:entityfilercategoryen" id="Fact000039" name="dei:EntityFilerCategory">Non-accelerated
    filer</ix:nonNumeric></span> &#9746;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Smaller
    reporting company <span id="xdx_903_edei--EntitySmallBusiness_c20230101__20231231_zTnXLvl3jYY6"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt:booleantrue" id="Fact000040" name="dei:EntitySmallBusiness">&#9746;</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Emerging
    growth company <span id="xdx_901_edei--EntityEmergingGrowthCompany_c20230101__20231231_zSgjErNKbCQ6"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt:booleanfalse" id="Fact000041" name="dei:EntityEmergingGrowthCompany">&#9744;</ix:nonNumeric></span></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">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. &#9744;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indicate
by check mark whether the registrant has filed a report on and attestation to its management&#8217;s assessment of the effectiveness
of its internal control over financial reporting under Section 404(b) of the Sarbanes-Oxley Act by the registered public accounting firm
that prepared or issued its audit report. &#9744; Yes &#9746; <span id="xdx_905_edei--IcfrAuditorAttestationFlag_c20230101__20231231_z5wlprJBRJc6"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt:booleanfalse" id="Fact000042" name="dei:IcfrAuditorAttestationFlag">No</ix:nonNumeric></span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">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. <span id="xdx_90D_edei--DocumentFinStmtErrorCorrectionFlag_c20230101__20231231_zyNlGsu9ygA3"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt:booleanfalse" id="Fact000043" name="dei:DocumentFinStmtErrorCorrectionFlag">&#9744;</ix:nonNumeric></span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">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&#8217;s executive officers during the relevant recovery period pursuant to &#167;240.10D-1(b).
&#9744;</span></p>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indicate
by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Act): &#9744; Yes <span id="xdx_901_edei--EntityShellCompany_dbF_c20230101__20231231_zhfSss8Hresa"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt:booleanfalse" id="Fact000044" name="dei:EntityShellCompany">&#9746;</ix:nonNumeric>
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">No</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of June 30, 2023 the aggregate market value of the Company&#8217;s common stock held by non-affiliates was $<span id="xdx_906_edei--EntityPublicFloat_iI_c20230630_zqLhgB8Neh1d"><ix:nonFraction name="dei:EntityPublicFloat" contextRef="AsOf2023-06-30" id="Fact000045" format="ixt:numdotdecimal" decimals="0" unitRef="USD">19,343,103</ix:nonFraction></span> based on the closing
price for shares of the Company&#8217;s common stock on the NYSE American for that date.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of March 29, 2024, the Company had <span id="xdx_909_edei--EntityCommonStockSharesOutstanding_iI_pid_c20240329_z6FhY8C8jy4f"><ix:nonFraction name="dei:EntityCommonStockSharesOutstanding" contextRef="AsOf2024-03-29" id="Fact000046" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,450,532</ix:nonFraction></span> issued and outstanding shares of common stock.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Documents
incorporated by reference: <span id="xdx_906_edei--DocumentsIncorporatedByReferenceTextBlock_c20230101__20231231_zbUZB4uHhMO"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000047" name="dei:DocumentsIncorporatedByReferenceTextBlock">None</ix:nonNumeric></span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
terms &#8220;Flexible&#8221;, &#8220;Company&#8221;, &#8220;we&#8221;, &#8220;us&#8221;, and &#8220;our&#8221; are used to refer to Flexible
Solutions International, Inc. and its subsidiaries, unless the context otherwise requires.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<!-- Field: Rule-Page --><div style="margin: 0pt; width: 100%"><div style="border-top: Black 1.5pt solid; margin: 0pt; font-size: 1pt; border-bottom: Black 4pt solid">&#160;</div></div><!-- Field: /Rule-Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 1 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>CAUTIONARY
NOTE REGARDING FORWARD-LOOKING STATEMENTS</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">This
Annual Report on Form 10-K for the year ended December 31, 2023 (&#8220;Annual Report&#8221;), including the Audited Consolidated Financial
Statements, contains forward-looking statements within the meaning of the Private Securities Litigation Reform Act of 1995. Forward-looking
statements include, without limitation, those statements relating to development of new products, our financial condition and our ability
to increase distribution of our products. Forward-looking statements can be identified by the use of forward-looking terminology, such
as &#8220;may,&#8221; &#8220;will,&#8221; &#8220;should,&#8221; &#8220;expect,&#8221; &#8220;anticipate,&#8221; &#8220;estimate,&#8221;
&#8220;continue,&#8221; &#8220;plans,&#8221; &#8220;intends,&#8221; or other similar terminology. These forward-looking statements are
not guarantees of future performance and involve risks, uncertainties and assumptions that are difficult to predict. Therefore, actual
outcomes and results may differ materially from what is anticipated or forecasted in these forward-looking statements due to numerous
factors, including, but not limited to, our ability to generate or obtain sufficient working capital to continue our operations, changes
in demand for our products, the timing of customer orders and deliveries and the impact of competitive products and pricing. In addition,
such statements could be affected by general industry and market conditions and growth rates, and general domestic and international
economic conditions.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Although
we believe that the expectations reflected in these forward-looking statements are reasonable and achievable, such statements involve
risks and uncertainties and no assurance can be given that our actual results will be consistent with these forward-looking statements.
Except as otherwise required by applicable securities laws, we undertake no obligation to publicly update or revise any forward-looking
statements, whether as a result of new information, future events, changed circumstances or any other reason, after the date this Annual
Report is filed with the Securities and Exchange Commission.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>PART
I</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    1.</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Description
    of Business</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
were incorporated as Flexible Solutions Ltd., a British Columbia corporation on January 26, 1991. On May 12, 1998, we merged Flexible
Solutions Ltd. into Flexible Solutions International, Inc., a Nevada corporation. In connection with this merger, we issued 7,000,000
shares of common stock to the former shareholders of Flexible Solutions Ltd. in exchange for all of the outstanding shares of Flexible
Solutions Ltd.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
June 2004 we purchased 52 U.S. and 139 International Patents (&#8220;IP&#8221;), as well as a 56,780 sq. ft. manufacturing plant near
Chicago, Illinois from the bankruptcy estate of Donlar Corporation (&#8220;Donlar&#8221;) for $6.15 million. The IP we acquired from
Donlar relates to water-soluble chemicals (&#8220;TPAs&#8221;) which prevent corrosion and scaling in water pipes used in the petroleum,
chemical, utility and mining industries. TPAs are also used to enhance fertilizers and improve crop yields and as additives for household
laundry detergents, consumer care products and pesticides. These assets are held in our wholly owned subsidiary, NanoChem Solutions Inc. (&#8220;NanoChem&#8221;),
which has become our largest revenue generator.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
October 2018, we purchased 65% of ENP Investments, LLC, a <span style="background-color: white">manufacturing and distribution company
active in the areas of golf, turf and ornamental agriculture products.</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
January 2019, we <span style="background-color: white">purchased 50% of a Florida based limited liability company engaged in international
sales of fertilizer additives. This purchase is accounted for as an equity accounted investment.</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">In
2019, we changed our corporate domicile from Nevada to Alberta, Canada.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">In
January 2020, ENP Realty, LLC became a wholly owned subsidiary of ENP Investments, LLC and was renamed to ENP Mendota, LLC. ENP Mendota
owns a building that the Company occupies.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">In
June 2022, ENP Peru Investments, LLC became a wholly owned subsidiary with NanoChem owning 91.67% and ENP Investments, LLC owning
8.33%. of ENP Peru. </span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In 2023, NanoChem purchased the
remaining 8.33% of shares to become sole owner. ENP Peru was previously accounted for under the equity method however, from 2022 it
is consolidated into the financial statements from the date control was obtained. ENP Peru owns a building the Company
occupies.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 3; Options: NewSection; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->2<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
June 2023, 317 Mendota LLC (&#8220;317 Mendota&#8221;) was created to purchase real estate and the Company has 80% ownership with an
unrelated party (NCI) owning the remaining 20%. The Company occupies part of the building currently owned by 317 Mendota and
intends to rent out the remaining portion of the building. For financial reporting purposes, the assets, liabilities and earnings of
317 Mendota are consolidated into these financial statements. The NCI&#8217;s ownership interest in 317 Mendota is recorded in
non-controlling interests in these consolidated financial statements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
operate through a number of wholly-owned subsidiaries which are further discussed in Note 1 to the consolidated financial statements
included as part of this report. Unless otherwise indicated, all references to our business include the operations of these subsidiaries.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
website is www.flexiblesolutions.com</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Our
Products</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>Thermal
Polyaspartates (&#8220;TPAs&#8221;)</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
manufacture TPAs in our Peru, Illinois plant using a thermal polymerizing process. The multiple variants produced are optimized for individual
market verticals and sold for end use or through distribution.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">TPAs
for Oilfields</span>. TPAs are used to reduce scale and corrosion in various &#8220;topside&#8221; water systems. They are used in place
of traditional phosphonate and other products when biodegradability is required by environmental regulations. We have the ability to
custom manufacture TPAs depending on the specific water conditions associated with any oil well. TPAs are also used in fracking fluids
to reduce the toxicity while maintaining equal function.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">TPAs
for the Agricultural Industry</span>. TPAs have the ability to reduce fertilizer crystallization before, during and after application and
can also delay crystal formation between fertilizer and minerals present in the soil. Once crystallized, fertilizer and soil minerals
are not able to provide plant nourishment. As a result, in select conditions the use of TPAs either blended with fertilizer or applied
directly to crops can increase yields significantly. TPAs are designated for crop nutrient management programs and should not be confused
with crop protection and pesticides or other agricultural chemical applications. Depending on the application, TPA products are marketed
under a variety of brands including EX-10TM, AmisorbTM, LYNXTM, MAGNETTM, AmGroTM and VOLTTM. Markets of significance include corn, wheat,
soybeans, rice, potatoes, sugar beets, cotton, tomatoes, almonds and other high value per acre crops.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">TPAs
for Irrigation</span>. The crystallization prevention ability of TPAs can also be useful in select irrigation conditions. By reducing calcium
carbonate scale propagation, TPAs can prevent early plugging of drip irrigation ports, reduce maintenance costs and lengthen the life
of equipment. TPAs compete with acid type scale removers, but have the advantage of a positive yield effect on the plant, as well as
an easier deployment formulation with liquid fertilizers when used as part of a &#8220;fertigation&#8221; program. Our TPAs for drip
irrigation scale prevention are marketed and sold through the same channels as TPAs used by the agricultural industry.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">TPAs
in Cleaning Products</span>. TPA can replace polyacrylates in cleaning products which is valuable because TPA is biodegradable while polyacrylates
are not. In a cleaning product formulation, TPA prevents the re-deposition of dirt onto the surfaces to be cleaned allowing dirt to be
rinsed away.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">Nitrogen
Conservation Products for Agriculture.</span> We manufacture and sell two conservation products and mixtures used for slowing nitrogen loss
from fields. One significant loss route for nitrogen fertilizer is enzymatic degradation by bacteria naturally present in soil. Our product,
SUN 27TM inhibits the bacterial action and keeps the nitrogen fertilizer available for plant growth. The second significant nitrogen
loss mechanism is de-nitrification. This is also caused by bacterial activity in soil resulting in oxygen being stripped from the fertilizer
leaving nitrogen gas. The gas can&#8217;t be used by the plants and escapes into the atmosphere. Our N Savr 30TM product uses the most
effective active ingredients available to combat this cause of fertilizer loss. We sell SUN 27TM and N Savr 30TM through distributors
in North and South America under our trade names and under private labels.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>&#160;</i></span></p>


<!-- Field: Page; Sequence: 4; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->3<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>&#160;</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>Food
and Nutritional Materials</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have installed custom equipment used to produce food and nutritional materials. All the ingredients we produce are custom products
for specific clients and are confidential. We anticipate that this market vertical will grow over time.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>&#160;</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>HEATSAVR&#174;</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
studies indicate that approximately 70% of the energy lost from a swimming pool occurs through water evaporation. HEATSAVR&#174; is a
chemical product for use in swimming pools and spas that forms a thin, transparent layer on the water&#8217;s surface. The transparent
layer slows the evaporation of water, allowing the water to retain a higher temperature for a longer period of time and thereby reducing
the energy required to maintain the desired temperature of the water. We have received reports from our commercial customers documenting
energy savings of between $2,400 and $6,000 per year when using HEATSAVR&#174;.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
outdoor pools, the HEATSAVR&#174; also provides convenience compared to pool blankets. It is often inconvenient to use conventional pool
blankets since a pool blanket must be removed and stored before the pool can be used. Pool blankets do not provide any energy savings
when not on the pool. Conversely, HEATSAVR&#174; eliminates the need to install, remove and store the blanket and works 24 hours a day.
In addition, the use of HEATSAVR&#174; in an indoor pool results in even greater energy savings since indoor pool locations use energy
not only to heat the pool water, but also to air condition the pool environment. By slowing the transfer of heat and water vapor from
the pool to the atmosphere of the pool enclosure, less energy is required to maintain a pool at the desired temperature and there is
a reduced load on the air-conditioning system. We also manufacture and sell products which automatically dispense HEATSAVR&#174; into
commercial size swimming pools or spas at the rate of one ounce per 400 sq. ft. of water surface per day.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>WATERSAVR&#174;</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">This
product utilizes a patented variation of our HEATSAVR technology to reduce water evaporation in reservoirs, potable water storage tanks,
livestock watering ponds, aqueducts, canals and irrigation ditches. WATERSAVR may also be used for lawn and turf care and potted and
bedding plants.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">WATERSAVR&#174;
is sold in granulated form and can be applied by hand, by fully automated scheduled metering, or by an automatic dispenser.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Tests
have indicated that WATERSAVR&#174;:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Reduces
    daily water evaporation as much as 54%;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Reduces
    monthly water evaporation as much as 37%;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Is
    odorless;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Has
    no effect on invertebrates or vertebrates;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Has
    no anticipated effect on any current drinking water treatment processes; and</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Is
    biodegradable.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have one part-time employee involved in the sales and marketing of WATERSAVR&#174;.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Principal
Customers</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
table below presents our revenue resulting from purchases by our major customers for the periods presented.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">Year Ended December 31,</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">2023</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">2022</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Company A</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">6,811,083</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">6,677,815</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Company B</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">10,260,870</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">12,938,735</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Company C</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">3,410,845</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">8,159,066</td><td style="text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 5; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->4<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Customers
with balances greater than 10% of our receivable balances as of each of the fiscal year ends presented are shown in the following table:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">Year Ended December 31,</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">2023</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">2022</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Company A</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">4,225,028</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">3,634,083</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Company B</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">2,073,813</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,423,285</td><td style="text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Competition</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>TPAs:
</i>Our TPA products have direct competition with Lanxess AG (spun out of Bayer AG) (&#8220;Lanxess&#8221;), a German manufacturer of
TPAs, which uses a patented process different from ours. We have cross-licensed each other&#8217;s processes and either company can use
either process for the term of the patents involved. We believe that Lanxess has approximately the same production capacity and product
costs as we do. We believe that we can compete effectively with Lanxess by offering excellent customer service in oilfield sales, superior
distributor support in the agricultural marketplace and flexibility due to our relative size. In addition, we intend to continue to seek
market niches that are not the primary targets of Lanxess. There are other competitors based in Asia.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
TPA products face indirect competition from other chemicals in every market in which we are active. For purposes of oilfield scale prevention,
phosphonates, phosphates and molibdonates provide the same effect. For crop enhancement, increased fertilizer levels can serve as a substitute
for TPAs. In irrigation scale control, acid washes are our prime competitor. Notwithstanding the above, we believe our competitive advantages
include:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Biodegradability
    compared to competing oil field chemicals;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cost-effectiveness
    for crop enhancement compared to increased fertilizer use; and</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Environmental
    considerations, ease of formulation and increased crop yield opportunities in irrigation scale markets.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>HEATSAVR&#174;:
</i>Although we are aware of two other companies that manufacture products that compete with HEATSAVR&#174;, we believe our products are
more effective and safer. We maintain fair pricing equal to or lower than our competitors and protect our intellectual property carefully.
Our products are expected to maintain market share in the competitive pool market. HEATSAVR&#174; also competes with plastic pool blanket
products. However, we believe that HEATSAVR&#174; is more effective and convenient than pool blankets.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>WATERSAVR&#174;:
</i>WATERSAVR&#174; competes with solid and floating covers. We believe our WATERSAVR&#174; product is superior for the following reasons:
it is less expensive, requires little capital expenditure to deploy and can be started and stopped as water scarcity escalates or declines.
As water conservation is an important priority throughout the world, numerous researchers are working to develop solutions that may compete
with, or be superior to, WATERSAVR.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Manufacturing</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
56,780 sq. ft. facility in Peru, Illinois manufactures our TPA products. Raw materials for TPA production are sourced from various manufacturers
throughout the world and we believe they are available in sufficient quantities for any increase in sales. Raw materials are, however,
derived from crude oil and are subject to price fluctuations related to world oil prices.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
HEATSAVR&#174; products and dispensers are made from chemicals, plastics and other materials and parts that are readily available from
multiple suppliers. We have never experienced any shortage in the availability of raw materials and parts for these products and we do
not have any long term supply contracts for any of these items. We have these products made by outside parties without long term contracts.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 6; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->5<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
WATERSAVR&#174; products are manufactured by a third party. We are not required to purchase any minimum quantity of this product.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
January 2020, ENP Investments, LLC acquired a 100% interest in ENP Realty, LLC and the 14,000 sq. ft. manufacturing facility in Mendota,
Illinois owned by this entity.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Government
Regulations</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>TPAs:
</i>In the industrial oil field and agricultural markets, we have received government approval for all TPAs currently sold.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>Nitrogen
Conservation Products: </i>We have obtained all government approvals for the markets in which we sell these products.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>HEATSAVR&#174;:
</i>Chemical products for use in swimming pools are covered by a variety of governmental regulations in all countries where we sell these
products. These regulations cover packaging, labeling, and product safety. We believe our products are in compliance with these regulations.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>WATERSAVR&#174;:
</i>Our WATERSAVR&#174; product is subject to regulation in most countries, particularly for agricultural and drinking water uses. We
do not anticipate that governmental regulations will be an impediment to marketing WATERSAVR&#174; because the components in WATERSAVR&#174;
have historically been used in agriculture for many years for other purposes. Nevertheless, we may require county or state approval on
a case by case basis to sell WATERSAVR&#174; in the United States for agricultural and drinking water uses. We have received National
Sanitation Foundation approval for the use of WATERSAVR&#174; in drinking water in the United States.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Proprietary
Rights</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
success is dependent, in part, upon our proprietary technology. We rely on a combination of patent, copyright, trademarks, trade secrets
and nondisclosure agreements to protect our proprietary technology. We hold several US patents with various expiry dates. We have applied
for additional patents in new areas of invention and may extend these patents, if granted to other jurisdictions. There can be no assurance
that our patent applications will be granted or that any issued patent will be upheld as valid or prevent the development of competitive
products, which may be equivalent to or superior to our products. We have not received any claims alleging infringement of the intellectual
property rights of others, but there can be no assurance that we may not be subject to such claims in the future.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Research
and Development</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
spent $158,246 during the year ended December 31, 2023 and $99,275 during year ended December 31, 2022 on research and development. This
work relates primarily to the development of our water and energy conservation products, as well as new research in connection with our
TPA products.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Employees</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of December 31, 2023, we had 46 employees, including one officer, 15 sales and customer support personnel, and 30 manufacturing personnel.
None of our employees are represented by a labor union and we have not experienced any work stoppages to date.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
<tr style="vertical-align: top">
  <td style="text-align: justify; width: 0.75in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
  1A.</b></span></td>
  <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Risk Factors</b></span></td></tr>
</table>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">This
Form 10-K contains forward-looking information based on our current expectations. Because our actual results may differ materially from
any forward-looking statements made by us, this section includes a discussion of important factors that could affect our future operations
and result in a decline in the market price of our common stock.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 7; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->6<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>We
have in the past incurred significant operating losses and may not sustain profitability in the future.</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have in the past experienced operating losses and negative cash flow from operations. If our revenues decline, our results of operations
and liquidity may be materially and adversely affected. If we experience slower than anticipated revenue growth or if our operating expenses
exceed our expectations, we may not be profitable. We may not remain profitable in future periods.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Fluctuations
in our operating results may cause our stock price to decline.</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Given
the nature of the markets in which we operate, we cannot reliably predict future revenues and profitability. Changes in competitive,
market and economic conditions may cause us to adjust our operations. A high proportion of our costs are fixed, due in part to our sales,
research and development and manufacturing costs. Thus, small declines in revenue could disproportionately affect our operating results.
Factors that may affect our operating results and the market price of our common stock include:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Demand
    for and market acceptance of our products;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Competitive
    pressures resulting in lower selling prices;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Adverse
    changes in the level of economic activity in regions in which we do business;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Adverse
    changes in the oil and gas industry on which we are particularly dependent;</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Changes
    in the portions of our revenue represented by various products and customers;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Delays
    or problems in the introduction of new products;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    announcement or introduction of new products, services or technological innovations by our competitors;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Variations
    in our product mix;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    timing and amount of our expenditures in anticipation of future sales;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Increased
    costs of raw materials or supplies; and</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Changes
    in the volume or timing of product orders.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Our
operations are subject to seasonal fluctuation.</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
TPA business is the least seasonal, however there is a small increase in the spring related to inventory building for the crop season
in the United States and a small slowdown in December as oilfield customers run down stock in advance of year end, but otherwise, there
is little seasonal variation. We believe we are able to adequately respond to these seasonal fluctuations by reducing or increasing production
as needed. The foregoing is equally true of our nitrogen conservation products. The use of our swimming pool products increases in summer
months in most markets and results in our sales from January to June being greater than in July through December. Markets for our WATERSAVR&#174;
product are also seasonal, depending on the wet versus dry seasons in particular countries. We attempt to sell into a variety of countries
with different seasons on both sides of the equator in order to minimize seasonality.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 8; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->7<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Interruptions
in our ability to purchase raw materials and components may adversely affect our profitability.</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
purchase certain raw materials and components from third parties pursuant to purchase orders placed from time to time. Because we do
not have guaranteed long-term supply arrangements with our suppliers, any material interruption in our ability to purchase necessary
raw materials or components could have a material adverse effect on our business, financial condition and results of operations.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Our
WATERSAVR&#174; product has not proven to be a revenue producing product and we may never recoup the cost associated with its development.</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
marketing efforts of our WATERSAVR&#174; product may result in continued losses. We introduced our WATERSAVR&#174; product in June 2002
and, to date, we have delivered quantities for testing by potential customers, but only a few customers have ordered the product for
commercial use. This product can achieve success only if it is ordered in substantial quantities by commercial customers who have determined
that the water saving benefits of the product exceed the costs of purchase and deployment of the product. We can offer no assurance that
we will receive sufficient orders of this product to achieve profits or cover the expenses incurred to manufacture and market this product.
We have received National Sanitation Foundation approval for the use of WATERSAVR&#174; in drinking water in the United States. Nevertheless,
we may require county or state approval on a case by case basis. We expect to spend $50,000 on the marketing and production of our WATERSAVR&#174;
product in fiscal 2024.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>If
we do not introduce new products in a timely manner, our products could become obsolete and our operating results would suffer.</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Without
the timely introduction of new products and enhancements, our products could become obsolete over time, in which case our revenue and
operating results would suffer. The success of our new product offerings will depend upon several factors, including our ability to:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Accurately
    anticipate customer needs;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Innovate
    and develop new products and applications;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Successfully
    commercialize new products in a timely manner;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Price
    our products competitively and manufacture and deliver our products in sufficient volumes and on time; and</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Differentiate
    our products from our competitors&#8217; products.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
developing any new product, we may be required to make a substantial investment before we can determine the commercial viability of the
new product. If we fail to accurately foresee our customers&#8217; needs and future activities, we may invest heavily in research and
development of products that do not lead to significant revenues.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>We
are dependent upon certain customers.</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Among
our current customers, we have identified three that are sizable enough that the loss of any one would be significant. Any loss of one
or more of these customers could result in a substantial reduction in our revenues. See &#8220;Principal Customers&#8221; in Item 1 of
this report for further details.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Economic,
political and other risks associated with international sales and operations could adversely affect our sales.</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Revenues
from shipments made outside of the United States accounted for approximately 21% of our revenues in the year ended December 31, 2023,
20% in the year ended December 31, 2022 and 32% in the year ended December 31, 2021. Since we sell our products worldwide, our business
is subject to risks associated with doing business internationally. We anticipate that revenues from international operations will continue
to represent a sizable portion of our total revenue. Accordingly, our future results could be harmed by a variety of factors, including:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Changes
    in foreign currency exchange rates;</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 9; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->8<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Changes
    in a country&#8217;s or region&#8217;s political or economic conditions, particularly in developing or emerging markets;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Longer
    payment cycles of foreign customers and difficulty of collecting receivables in foreign jurisdictions;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Trade
    protection measures and import or export licensing requirements;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Differing
    tax laws and changes in those laws;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Difficulty
    in staffing and managing widespread operations;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Differing
    laws regarding protection of intellectual property; and</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Differing
    regulatory requirements and changes in those requirements.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>We
are subject to credit risk and may be subject to substantial write-offs if one or more of our significant customers default on their
payment obligations to us.</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
currently allow our major customers between 30 and 90 days to pay for each sale. This practice, while customary, presents an accounts
receivable write-off risk if one or more of our significant customers defaulted on their payment obligations to us. Any such write-off,
if substantial, would have a material adverse effect on our business and results of operations. See above principal customer information.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Our
products can be hazardous if not handled, stored and used properly; litigation related to the handling, storage and safety of our products
would have a material adverse effect on our business and results of operations.</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Some
of our products are flammable and must be stored properly to avoid fire risk. Additionally, some of our products may cause irritation
to a person&#8217;s eyes if they are exposed to the concentrated product. Although we label our products to warn of such risks, our sales
could be reduced if our products were considered dangerous to use or if they are implicated in causing personal injury or property damage.
We are not currently aware of any circumstances in which our products have caused harm or property damage to consumers. Nevertheless,
litigation regarding the handling, storage and safety of our products would have a material adverse effect on our business and results
of operations.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Our
failure to comply with environmental regulations may create significant environmental liabilities and force us to modify our manufacturing
processes.</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
are subject to various federal, state and local environmental laws, ordinances and regulations relating to the use, storage, handling
and disposal of chemicals. Under such laws, we may become liable for the costs of removal or remediation of these substances that have
been used by our consumers or in our operations. Such laws may impose liability without regard to whether we knew of, or caused, the
release of such substances. Any failure by us to comply with present or future regulations could subject us to substantial fines, suspension
of production, alteration of manufacturing processes or cessation of operations, any of which could have a material adverse effect on
our business, financial condition and results of operations.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Our
failure to protect our intellectual property could impair our competitive position.</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">While
we own certain patents and trademarks, some aspects of our business cannot be protected by patents or trademarks. Accordingly, in these
areas there are few legal barriers that prevent potential competitors from copying certain of our products, processes and technologies
or from otherwise entering into operations in direct competition with us..</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 10; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->9<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Our
products may infringe on the intellectual property rights of others, and resulting claims against us could be costly and prevent us from
making or selling certain products.</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Third
parties may seek to claim that our products and operations infringe on their patent<b>s</b> or other intellectual property rights. We
may incur significant expense in any legal proceedings to protect our proprietary rights or to defend infringement claims by third parties.
In addition, claims of third parties against us could result in awards of substantial damages or court orders that could effectively
prevent us from making, using or selling our products in the United States or internationally.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>A
product liability claim for damages could materially and adversely affect our financial condition and results of operations.</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
business exposes us to potential product liability risks. There are many factors beyond our control that could lead to liability claims,
including the failure of our products to work properly and the chance that consumers will use our products incorrectly or for purposes
for which they were not intended. There can be no assurance that the amount of product liability insurance that we carry will be sufficient
to protect us from product liability claims. A product liability claim in excess of the amount of insurance we carry could have a material
adverse effect on our business, financial condition and results of operations.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Our
ongoing success is dependent upon the continued availability of certain key employees.</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
business would be adversely affected if the services of Daniel B. O&#8217;Brien ceased to be available to us since we currently do not
have any other employee with an equivalent level of expertise in and knowledge of our industry. If Mr. O&#8217;Brien no longer served
as our President and Chief Executive Officer, we would have to recruit one or more new executives, with no real assurance that we would
be able to engage a replacement executive with the required skills on satisfactory terms. The market for skilled employees is highly
competitive, especially for employees in the fields in which we operate. While our compensation programs are intended to attract and
retain qualified employees, there can be no assurance that we will be able to retain the services of all our key employees or a sufficient
number to execute our plans, nor can there be any assurances that we will be able to continue to attract new employees as required.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    1B. </b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Unresolved
    Staff Comments.</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Not
applicable.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    1C. </b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Cybersecurity.</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Companies
such as ours face a variety of risks, including financial reporting, legal, credit, liquidity, operational, health, safety and cybersecurity
risks. The Board believes an effective risk management system will (1) identify the material risks that we face in a timely manner, (2)
communicate necessary information with respect to material risks to senior executives and, as appropriate, to our directors (3) implement
or oversee implementation of appropriate and responsive risk management and mitigation strategies consistent with our risk profile, and
(4) integrate risk management into our decision-making.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
Board oversees risk management after receiving briefings from advisors and also based on its own analysis and conclusions regarding the
adequacy of our risk management processes. The Board continuously evaluates and manages material risks including geopolitical and enterprise
risks, financial risks, environmental risks, health and safety risks and cybersecurity risks.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">George
Murray, our Operations Manager, is responsible for assessing and managing cybersecurity risks. Mr. Murray is experienced in assessing
and managing cybersecurity risks due to his direct oversight of our internet and digital communications contractors.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">To
date we have not experienced any cybersecurity threats and any risks from cybersecurity threats have not materially affected, and are
not reasonably likely to materially affect, our business strategy, results of operations, or financial condition.</span></p>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    2.</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Properties.</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
lease a 6,400 sq. ft. facility in Naperville, Illinois which we use for offices and laboratories at a cost of $5,670 per month with a
lease effective to December 2025. We also lease a 1,300 sq. ft. facility in Mendota, Illinois used for offices at a cost of $880 per
month on a month by month basis. We own a 61,200 sq. ft. facility and a 56,780 sq. ft. facility in Peru, Illinois along with a 14,000
sq. ft facility in Mendota, Illinois which is used to manufacture our TPA line of products. In 2017, we purchased a 3,000 sq ft building
on 1 acre of land in Taber, Alberta. In 2023, the Company purchased an 80% share in 317 Mendota, a real estate company that was
set up to purchase a manufacturing building in Mendota, IL. ENP Investments now occupies part of this space.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    3.</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Legal
    Proceedings.</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">None.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    4.</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Mine
    Safety Disclosures.</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Not
applicable.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 11; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->10<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>PART
II</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    5. </b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Market
    for Registrant&#8217;s Common Equity, Related Stockholder Matters and Issuer Purchase of Equity Securities.</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
common stock is traded on the NYSE American under the symbol &#8220;FSI&#8221;. The following is the range of high and low closing prices
for our common stock for the periods indicated:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; font-weight: bold; text-align: center">High</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; font-weight: bold; text-align: center">Low</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-decoration: underline; font-weight: bold">Year Ended December 31, 2023</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 60%; text-align: left">First Quarter</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">3.35</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">2.86</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Second Quarter</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3.32</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2.60</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Third Quarter</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2.96</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3.51</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Fourth Quarter</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2.69</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1.37</td><td style="text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="vertical-align: bottom; text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; font-weight: bold; text-align: center">High</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; font-weight: bold; text-align: center">Low</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-decoration: underline; font-weight: bold">Year Ended December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 60%; text-align: left">First Quarter</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">4.44</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">3.01</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Second Quarter</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3.96</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2.23</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Third Quarter</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2.68</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1.56</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Fourth Quarter</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3.24</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2.38</td><td style="text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of March 29, 2024, we had approximately 3,400 shareholders.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company declared a special dividend of $0.05 per share on April 14, 2023, paid on May 16, 2023 to shareholders of record on April 28,
2023.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">None
of our officers or directors, nor any of our principal shareholders purchased, on our behalf, any shares of our common stock from third
parties either in a private transaction or as a result of purchases in the open market during the years ended December 31, 2023 and 2022.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of March 29, 2024, we had 12,450,532 outstanding shares of common stock. The following table lists additional shares of our common stock,
including shares issuable upon the exercise of options which have not yet vested, which may be issued as of March 29, 2024:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="vertical-align: bottom; text-align: center">&#160;</td><td style="text-align: center; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="vertical-align: bottom; text-align: center">Number</td><td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="vertical-align: bottom; text-align: center">Note</td><td style="text-align: center; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="vertical-align: bottom; text-align: center">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">Of Shares</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">Reference</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Shares issuable upon exercise of options granted to our officers, directors, employees, consultants, and third parties</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">1,649,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">A</span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">A.
Options are exercisable at prices ranging from $1.75 to $3.61 per share. See Item 11 of this report for more information concerning these
options.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    6.</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Selected
    Financial Data.</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Not
applicable.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 12; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->11<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    7.</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Management&#8217;s
    Discussion and Analysis of Financial Condition and Results of Operation.</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Results
of Operations</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 35.45pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have three product lines.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 35.45pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
first is a chemical (&#8220;EWCP&#8221;) used in swimming pools and spas. The product forms a thin, transparent layer on the water&#8217;s
surface. The transparent layer slows the evaporation of water, allowing the water to retain a higher temperature for a longer period
of time thereby reducing the energy required to maintain the desired temperature of the water. A modified version of EWCP can also be
used in reservoirs, potable water storage tanks, livestock watering pods, canals, and irrigation ditches for the purpose of reducing
evaporation.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 35.45pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
second product, biodegradable polymers (&#8220;TPAs&#8221;), is used by the petroleum, chemical, utility and mining industries to prevent
corrosion and scaling in water piping. TPAs can also be used to increase biodegradability in detergents and in the agriculture industry
to increase crop yields by enhancing fertilizer uptake.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
third product line is nitrogen conservation products used for the agriculture industry. These products decrease the loss of nitrogen
fertilizer after initial application and allows less fertilizer to be used. These products are made and sold by the Company&#8217;s TPA
division.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Material
changes in the line items in our Statement of Income and Comprehensive Income for the year ended December 31, 2023 as compared to the
same period last year, are discussed below:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; text-align: justify; width: 32%; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; width: 2%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; vertical-align: top; width: 24%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Increase
    (I) or Decrease (D)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; width: 2%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; text-align: justify; width: 40%; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Reason</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Sales</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-left: 10pt; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">TPA
    products</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">D</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Decreased
    customer orders along with decrease in pricing.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cost
    of goods sold, as a percentage of sales</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">I</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Increased
    raw material costs and increased wages to add and retain manufacturing employees along with added costs associated with obtaining
    new certifications.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Wages</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">I</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Increased
    wages for employee retention. </span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Administrative
    salaries</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">I</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Increased
    wages for employee retention.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Insurance</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">I</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Prior
    year increase in assets and in sales resulted in higher insurance costs.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Interest
    expense</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">I</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Increased
    debt resulted in increased interest expense.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Office
    and miscellaneous</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">I</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Increase
    in property tax associated with more properties along with various other one time costs.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Travel</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">I</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Travel
    has resumed as COVID-19 has become an endemic. </span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Professional
    fees</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">D</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Decreased
    due to one time costs associated with the planned merger with Lygos in 2022.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Lease
    expense</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">D</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Purchases
    of ENP Mendota and ENP Peru, the businesses we were renting from, reduced our lease expense.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
factors that will most significantly affect future operating results will be:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    sale price of crude oil which is used in the manufacture of aspartic acid we import from China. Aspartic acid is a key ingredient
    in our TPA product. If tariffs increase and if relief is not available, some customers may experience price increases;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Activity
    in the oil and gas industry, as we sell our TPA product to oil and gas companies; and </span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Drought
    conditions, since we also sell our TPA product to farmers.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
than the foregoing we do not know of any trends, events or uncertainties that have had, or are reasonably expected to have, a material
impact on our revenues or expenses.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 13; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->12<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Capital
Resources and Liquidity</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
sources and (uses) of cash for the years ended December 31, 2023 and 2022 are shown below:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="vertical-align: bottom; text-align: center">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">2023</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">2022</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Cash provided by operations</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">6,989,966</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">1,476,903</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Purchase of investments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(470,000</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Redemption of investments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">200,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Distributions from equity investments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">201,034</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">265,001</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Acquisition of ENP Peru, LLC</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(499,329</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Non-Controlling Interest of 317 Mendota LLC</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">200,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Long-term deposits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">815,714</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Sale of property and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,411</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Purchases of property and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(4,990,675</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(1,981,307</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Advances (repayment) of short term line of credit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(1,008,112</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">517,772</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Repayment of long term debt</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(725,824</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(2,292,819</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Proceeds of long term debt</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,686,682</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,230,798</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Dividends paid</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(626,777</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Lease payments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(58,080</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(58,611</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Distributions to non-controlling interests</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(719,439</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(689,434</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Sale of common stock</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">13,600</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">140,620</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Impact of foreign exchange rates</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,653</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(30,069</td><td style="text-align: left">)</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have sufficient cash resources to meets our future commitments and cash flow requirements for the coming year. As of December 31, 2023,
our working capital was $20,172,833 (2022 - $20,692,527) and we have no substantial commitments or capital requirements that require
significant outlays of cash over the coming fiscal year.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
are committed to minimum rental payments for property and premises aggregating approximately $142,380 over the term of two leases, the
last expiring on December 31, 2025.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Commitments
for rent in the next two years are as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 60%; margin-left: 0.5in">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: justify">2024</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">70,440</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 1.5pt">2025</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">71,940</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
than as disclosed above, we do not know of any trends, demands, commitments, events or uncertainties that will result in, or that are
reasonable likely to result in, our liquidity increasing or decreasing in any material way.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
than as disclosed above, we do not know of any significant changes in our expected sources and uses of cash.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
do not have any commitments or arrangements from any person to provide us with any equity capital.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Critical
Accounting Policies and Estimates</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>Allowances
for Product Returns</i>. We grant certain of our customers the right to return product which they are unable to sell. Upon sale, we evaluate
the need to record a provision for product returns based on our historical experience, economic trends and changes in customer demand.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>Allowances
for Doubtful Accounts Receivable</i>. We evaluate our accounts receivable to determine if they will ultimately be collected. This evaluation
includes significant judgments and estimates, including an analysis of receivables aging and a review of large accounts. If, for example,
the financial condition of a customer deteriorates resulting in an impairment of its ability to pay or a pattern of late payment develops,
an allowance may be required.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 14; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->13<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>Provisions
for Inventory Obsolescence</i>. We may need to record a provision for estimated obsolescence and shrinkage of inventory. Our estimates consider the cost of inventory, the estimated market value, the shelf life of the inventory and our historical experience. If there
are changes to these estimates, provisions for inventory obsolescence may be necessary.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>Valuation
of Goodwill and Intangible Assets.</i> We review goodwill and intangible assets to determine if there are qualitative factors which exist
which may indicate that the carrying value exceeds the fair value. Our estimates are based upon an assessment of market conditions and
expected future cash flows to be generated by the reporting units and related assets. If factors exist which indicate that the carrying
value exceeds the fair value, an impairment charge against the goodwill and intangible assets could be required.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>Useful
Lives of Property, Equipment and Leaseholds and Intangible Assets.</i> We amortize and depreciate our property, equipment and leaseholds
and intangible assets based on their estimated useful lives. We estimate the expected useful lives based on the expected term over which
the asset is expected to continue to generate economic benefit for our company. If there are differences between the expected useful
lives and the actual useful lives of the asset, impairment of property, equipment and leaseholds or intangible assets could be necessary.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>Revenue
Recognition. </i>We follow a five-step model for revenue recognition. The five steps are: (1) identification of the contract(s) with
the customer, (2) identification of the performance obligation(s) in the contract(s), (3) determination of the transaction price, (4)
allocation of the transaction price to the performance obligation, and (5) recognition of revenue when (or as) the performance obligation
is satisfied. We fulfill our performance obligations when control of product transfers to the customer, which is generally at the time
the product is shipped since risk of loss is transferred to the purchaser upon delivery to the carrier. For shipments which are F.O.B.
shipping point, we have elected to account for shipping and handling activities as a fulfillment cost rather than as an additional promised
service and performance obligation.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>Stock
Based Compensation</i> The fair value of share-based payments are subject to the limitations of the Black-Scholes option pricing model
that incorporates market data and involves uncertainty in estimates used by management in the assumptions. Because the Black-Scholes
option pricing model requires the inputs of highly subjective assumptions, including the volatility of share prices, changes in subjective
input assumptions can materially affect the estimate.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>Income
Taxes </i>Tax interpretations, regulations and legislation in the various jurisdictions in which the Company operates are subject to
change and interpretation. As such, income taxes are subject to measurement uncertainty. Assessing the recoverability of deferred tax
assets requires the Company to make estimates related to the expectations of future taxable income and the application of existing tax
laws. To the extent that future taxable income differs significantly from estimates, the ability of the Company to realize deferred tax
assets could be impacted.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>Privately
Held Equity Investments </i>The recoverability of privately held equity investments requires management to make certain assumptions and
estimates. Changes in these assumptions and estimates could result in materially different results.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">See
Note 2 to the consolidated financial statements included as part of this report for a description of our significant accounting policies.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Recent
Accounting Pronouncements</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have evaluated recent accounting pronouncements issued since January 1, 2023 and determined that the adoption of these recent accounting
pronouncements will not have a material effect on our consolidated financial statements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    7A.</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Quantitative
    and Qualitative Disclosures About Market Risk.</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.75in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Not
applicable.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 15; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->14<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    8.</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Financial
    Statements and Supplementary Data.</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>FLEXIBLE
SOLUTIONS INTERNATIONAL, INC. AND SUBSIDIARIES</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>INDEX
TO CONSOLIDATED FINANCIAL STATEMENTS</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 0.5in; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Page
    </b></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: #CCEEFF">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#nd_001">Report of Independent Registered Public Accounting Firm, <span id="xdx_90E_edei--AuditorName_c20230101__20231231_zZuKQxl7zeCf"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000048" name="dei:AuditorName">Smythe LLP</ix:nonNumeric></span></a> (PCAOB ID NO: <span id="xdx_905_edei--AuditorFirmId_c20230101__20231231_zgKRD7bNJkY1"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000049" name="dei:AuditorFirmId">995</ix:nonNumeric></span>)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">F-1</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#nd_002">Consolidated Balance Sheets as of December 31, 2023 and 2022</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">F-3</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: #CCEEFF">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#nd_003">Consolidated Statements of Income and Comprehensive Income for the Years Ended December 31, 2023 and 2022</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">F-4</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#nd_004">Consolidated Statements of Cash Flows for the Years Ended December 31, 2023 and 2022</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">F-5</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: #CCEEFF">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#nd_005">Consolidated Statements of Stockholders&#8217; Equity for the Years Ended December 31, 2023 and 2022</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">F-6</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#nd_006">Notes to Consolidated Financial Statements</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">F-7</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 16; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->15<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="nd_001"></span>Report
of Independent Registered Public Accounting Firm</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><img src="form10-k_001.jpg" alt=""/></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">To
the Stockholders and the Board of Directors of Flexible Solutions International, Inc.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Opinion
on the Consolidated Financial Statements</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have audited the accompanying consolidated financial statements of Flexible Solutions International, Inc. and its subsidiaries (the &#8220;Company&#8221;)
which comprise the consolidated balance sheets as of December 31, 2023 and 2022, and the related consolidated statements of income and
comprehensive income, cash flows and stockholders&#8217; equity for the years then ended, and the related notes (collectively referred
to as the &#8220;consolidated financial statements&#8221;).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
our opinion, the consolidated financial statements present fairly, in all material respects, the consolidated financial position of the
Company as of December 31, 2023 and 2022, and the consolidated results of its operations and its consolidated cash flows for the years
then ended, in conformity with accounting principles generally accepted in the United States of America.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Basis
for Opinion</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">These
consolidated financial statements are the responsibility of the Company&#8217;s management. Our responsibility is to express an opinion
on the Company&#8217;s consolidated financial statements based on our audits. We are a public accounting firm registered with the Public
Company Accounting Oversight Board (United States) (&#8220;PCAOB&#8221;) 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.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain
reasonable assurance about whether the consolidated financial statements are free of material misstatement, whether due to error or fraud.
The Company is not required to have, nor were we engaged to perform, an audit of its internal control over financial reporting. As part
of our audits, we are required to obtain an understanding of internal control over financial reporting, but not for the purpose of expressing
an opinion on the effectiveness of the Company&#8217;s internal control over financial reporting. Accordingly, we express no such opinion.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
audits included performing procedures to assess the risks of material misstatement of the consolidated financial statements, whether
due to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence
regarding the amounts and disclosures in the consolidated financial statements. Our audits also included evaluating the accounting principles
used and significant estimates made by management, as well as evaluating the overall presentation of the consolidated financial statements.
We believe that our audits provide a reasonable basis for our opinion.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Critical
Audit Matter</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
critical audit matter communicated below is a matter arising from the current period audit of the consolidated financial statements that
was communicated or required to be communicated to the audit committee and that: (1) relate to accounts or disclosures that are material
to the consolidated financial statements and (2) involved our especially challenging, subjective, or complex judgments. The communication
of this critical audit matter does not alter in any way our opinion on the consolidated financial statements, taken as a whole, and we
are not, by communicating the critical audit matter below, providing a separate opinion on the critical audit matter or on the accounts
or disclosures to which it relates.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>&#160;</i></span></p>


<!-- Field: Page; Sequence: 17; Options: NewSection; Value: 1 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->1<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>&#160;</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>Valuation
of inventory</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">At
December 31, 2023, the Company&#8217;s inventory balance was $11,134,889. As discussed in Note 2 to the consolidated financial statements,
the Company records inventory at the lower of cost on a first-in, first-out or weighted average basis and net realizable value. To determine
inventory valuation, management conducts regular reviews of overhead costs and the calculation to allocate these expenditures to inventory
cost.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
identified the assessment of valuation of inventory as a critical audit matter. Auditing management&#8217;s inventory valuation involved
significant judgment because the estimates are based on several factors. In particular, in estimating inventory cost inputs, management
developed assumptions such as the allocation of overhead expenditures to inventory cost.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
primary procedures we performed to address this critical audit matter included:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in">&#9679;<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">
    </span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Obtained
    an understanding and reviewed the appropriateness of the Company&#8217;s costing <span style="background-color: white">methodology </span>
    of inventory, including the allocation of overhead costs to inventory. </span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">
    </span>&#9679;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Performed
    substantive procedures over the inputs of costing of inventory, including overhead <span style="background-color: white">costs </span> by agreeing inputs to third party source
    documentation.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">
    </span>&#9679;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Tested
    management&#8217;s allocation of overhead costs between inventory products by assessing the appropriateness of the allocation method
    and recalculated the formula used to determine computational accuracy. </span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">
    </span>&#9679;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Tested
    the reliability of reports used by management in inventory costing by agreeing the report inputs to underlying records.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#9679;<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">
    </span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Performed
    observations of inventory held at year-end for any signs of obsolescence and held discussions with management and operational personnel
    to identify any slow-moving inventory.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chartered
Professional Accountants</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90E_edei--AuditorLocation_c20230101__20231231_zqpXBr1P4iG6"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000050" name="dei:AuditorLocation">Vancouver,
Canada</ix:nonNumeric></span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">April 1, 2024</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have served as the Company&#8217;s auditor since 2019.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><img src="form10-k_002.jpg" alt="" style="height: 110px; width: 670px"/></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 18; Value: 1 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->2<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="nd_002"></span>FLEXIBLE
SOLUTIONS INTERNATIONAL, INC.</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Consolidated
Balance Sheets</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>As
at December 31</b></span></p>

<p style="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(U.S.
Dollars)</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" id="xdx_30D_111_zCGXSS2nEcr6" summary="xdx: Statement - Consolidated Balance Sheets" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_49B_20231231_z0N1BKlTmfg" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>December
                                                                                                         31, </b></span><b>2023</b></p></td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_498_20221231_zbU1wMhK76Ei" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>December
                                            31, </b></span><b>2022</b></p></td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--AssetsAbstract_iB_z7di5ct2a5Tc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--AssetsCurrentAbstract_i01B_z2yAMyopeDgh" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold">Current</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--Cash_i02I_maCzqht_zGoRlH2Okpok" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; width: 60%">Cash</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:Cash" contextRef="AsOf2023-12-31" id="Fact000058" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,017,583</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:Cash" contextRef="AsOf2022-12-31" id="Fact000059" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,115,099</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--DepositsAssetsCurrent_i02I_maCzqht_zntBQz28XVg9" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Term deposits (Note 2)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepositsAssetsCurrent" contextRef="AsOf2023-12-31" id="Fact000061" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,690,241</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepositsAssetsCurrent" contextRef="AsOf2022-12-31" id="Fact000062" format="ixt:numdotdecimal" decimals="0" unitRef="USD">700,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--AccountsReceivableNetCurrent_i02I_maCzqht_zaSl4bmMEjnd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Accounts receivable, net (Note 4)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="AsOf2023-12-31" id="Fact000064" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,843,056</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="AsOf2022-12-31" id="Fact000065" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,449,857</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--InventoryNet_i02I_maCzqht_zcrWQTRgel4h" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Inventories (Note 5)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="AsOf2023-12-31" id="Fact000067" format="ixt:numdotdecimal" decimals="0" unitRef="USD">11,134,889</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="AsOf2022-12-31" id="Fact000068" format="ixt:numdotdecimal" decimals="0" unitRef="USD">14,419,430</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--PrepaidExpenseCurrent_i02I_maCzqht_zKdEw4bDgpzg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Prepaid expenses and deposits</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:PrepaidExpenseCurrent" contextRef="AsOf2023-12-31" id="Fact000070" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,540,923</ix:nonFraction></span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:PrepaidExpenseCurrent" contextRef="AsOf2022-12-31" id="Fact000071" format="ixt:numdotdecimal" decimals="0" unitRef="USD">310,297</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--AssetsCurrent_i02TI_mtCzqht_maCzIMf_z29VTYfsVhV5" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Total current assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AssetsCurrent" contextRef="AsOf2023-12-31" id="Fact000073" format="ixt:numdotdecimal" decimals="0" unitRef="USD">30,226,692</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AssetsCurrent" contextRef="AsOf2022-12-31" id="Fact000074" format="ixt:numdotdecimal" decimals="0" unitRef="USD">30,994,683</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--PropertyPlantAndEquipmentNet_i01I_maCzIMf_z47YFKFAPTB5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Property, equipment and leaseholds, net (Note 6)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31" id="Fact000076" format="ixt:numdotdecimal" decimals="0" unitRef="USD">13,171,787</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2022-12-31" id="Fact000077" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,709,288</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--OperatingLeaseRightOfUseAsset_i01I_maCzIMf_zOZzljamg5zh" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Right of use assets (Note 3)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2023-12-31" id="Fact000079" format="ixt:numdotdecimal" decimals="0" unitRef="USD">115,293</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2022-12-31" id="Fact000080" format="ixt:numdotdecimal" decimals="0" unitRef="USD">167,222</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--IntangibleAssetsNetExcludingGoodwill_i01I_maCzIMf_zaNhCLFrXXQ4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Intangible assets (Note 8)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" contextRef="AsOf2023-12-31" id="Fact000082" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,280,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" contextRef="AsOf2022-12-31" id="Fact000083" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,440,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--DepositsAssetsNoncurrent_i01I_maCzIMf_z2HgSGWlsx4h" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Long term deposits (Note 9)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepositsAssetsNoncurrent" contextRef="AsOf2023-12-31" id="Fact000085" format="ixt:numdotdecimal" decimals="0" unitRef="USD">824,254</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepositsAssetsNoncurrent" contextRef="AsOf2022-12-31" id="Fact000086" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,540</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--EquityMethodInvestments_i01I_maCzIMf_zhUwflzwlRcg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Investments (Note 10)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestments" contextRef="AsOf2023-12-31" id="Fact000088" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,033,960</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestments" contextRef="AsOf2022-12-31" id="Fact000089" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,458,895</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--Goodwill_i01I_maCzIMf_zdbb1sti7UV" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Goodwill (Note 8)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:Goodwill" contextRef="AsOf2023-12-31" id="Fact000091" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,534,275</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:Goodwill" contextRef="AsOf2022-12-31" id="Fact000092" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,534,275</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--DeferredIncomeTaxAssetsNet_i01I_maCzIMf_zuDk38LZ2zjl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Deferred tax asset (Note 13)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxAssetsNet" contextRef="AsOf2023-12-31" id="Fact000094" format="ixt:numdotdecimal" decimals="0" unitRef="USD">284,794</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxAssetsNet" contextRef="AsOf2022-12-31" id="Fact000095" format="ixt:numdotdecimal" decimals="0" unitRef="USD">274,289</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--Assets_i01TI_mtCzIMf_zvtF2fHtMMWg" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left; padding-bottom: 2.5pt">Total Assets</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:Assets" contextRef="AsOf2023-12-31" id="Fact000097" format="ixt:numdotdecimal" decimals="0" unitRef="USD">55,471,055</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:Assets" contextRef="AsOf2022-12-31" id="Fact000098" format="ixt:numdotdecimal" decimals="0" unitRef="USD">51,587,192</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--LiabilitiesAbstract_iB_zWUhZO1cxl6i" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold">Liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--LiabilitiesCurrentAbstract_i01B_z23EIkJGqTRc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Current</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--AccountsPayableCurrent_i02I_maCzuqm_zaQpPB5yeMz3" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Accounts payable</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccountsPayableCurrent" contextRef="AsOf2023-12-31" id="Fact000106" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,984,592</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccountsPayableCurrent" contextRef="AsOf2022-12-31" id="Fact000107" format="ixt:numdotdecimal" decimals="0" unitRef="USD">873,904</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--AccruedLiabilitiesCurrent_i02I_maCzuqm_z0FO1y7GNhqe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Accrued liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" contextRef="AsOf2023-12-31" id="Fact000109" format="ixt:numdotdecimal" decimals="0" unitRef="USD">284,131</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" contextRef="AsOf2022-12-31" id="Fact000110" format="ixt:numdotdecimal" decimals="0" unitRef="USD">959,856</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--DeferredRevenueCurrent_i02I_maCzuqm_zZWtCR64dqnf" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Deferred revenue</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredRevenueCurrent" contextRef="AsOf2023-12-31" id="Fact000112" format="ixt:numdotdecimal" decimals="0" unitRef="USD">148,292</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredRevenueCurrent" contextRef="AsOf2022-12-31" id="Fact000113" format="ixt:numdotdecimal" decimals="0" unitRef="USD">387,763</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--TaxesPayableCurrent_i02I_maCzuqm_z66uqtaoZB0c" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Income taxes payable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:TaxesPayableCurrent" contextRef="AsOf2023-12-31" id="Fact000115" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,485,213</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:TaxesPayableCurrent" contextRef="AsOf2022-12-31" id="Fact000116" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,486,350</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--LinesOfCreditCurrent_i02I_maCzuqm_z7iPlSLluq5c" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Short term line of credit (Note 11)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LinesOfCreditCurrent" contextRef="AsOf2023-12-31" id="Fact000118" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,810,479</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LinesOfCreditCurrent" contextRef="AsOf2022-12-31" id="Fact000119" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,818,591</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--OperatingLeaseLiabilityCurrent_i02I_maCzuqm_zucxeaWhAHUf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Current portion of lease liability (Note 3)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="AsOf2023-12-31" id="Fact000121" format="ixt:numdotdecimal" decimals="0" unitRef="USD">59,520</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="AsOf2022-12-31" id="Fact000122" format="ixt:numdotdecimal" decimals="0" unitRef="USD">58,080</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LongTermDebtCurrent_i02I_maCzuqm_zuQHHZTd2PZh" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Current portion of long term debt (Note 12)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebtCurrent" contextRef="AsOf2023-12-31" id="Fact000124" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,281,632</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebtCurrent" contextRef="AsOf2022-12-31" id="Fact000125" format="ixt:numdotdecimal" decimals="0" unitRef="USD">717,612</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--LiabilitiesCurrent_i02TI_mtCzuqm_maCzpZk_zbJEpLuOcBbc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Total current liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" contextRef="AsOf2023-12-31" id="Fact000127" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,053,859</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" contextRef="AsOf2022-12-31" id="Fact000128" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,302,156</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--OperatingLeaseLiabilityNoncurrent_i01I_maCzpZk_zGulsU8B048l" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: justify">Lease liability (Note 3)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2023-12-31" id="Fact000130" format="ixt:numdotdecimal" decimals="0" unitRef="USD">55,773</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2022-12-31" id="Fact000131" format="ixt:numdotdecimal" decimals="0" unitRef="USD">109,142</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--DeferredIncomeTaxLiabilitiesNet_i01I_maCzpZk_zx3Tfaw4EmVa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: justify">Deferred income tax liability (Note 13)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxLiabilitiesNet" contextRef="AsOf2023-12-31" id="Fact000133" format="ixt:numdotdecimal" decimals="0" unitRef="USD">260,047</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxLiabilitiesNet" contextRef="AsOf2022-12-31" id="Fact000134" format="ixt:numdotdecimal" decimals="0" unitRef="USD">500,459</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--LongTermDebtNoncurrent_i01I_maCzpZk_zxCc7P5ZYBJb" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: justify; padding-bottom: 1.5pt">Long term debt (Note 12)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebtNoncurrent" contextRef="AsOf2023-12-31" id="Fact000136" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,833,304</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebtNoncurrent" contextRef="AsOf2022-12-31" id="Fact000137" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,436,465</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--Liabilities_i01TI_mtCzpZk_maCzLnb_zl67zeHz9Lba" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Total Liabilities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:Liabilities" contextRef="AsOf2023-12-31" id="Fact000139" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,202,983</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:Liabilities" contextRef="AsOf2022-12-31" id="Fact000140" format="ixt:numdotdecimal" decimals="0" unitRef="USD">16,348,222</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--StockholdersEquityAbstract_i01B_zSPui7Urjne9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Stockholders&#8217; Equity</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Capital stock (Note 16)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Authorized: <span id="xdx_909_eus-gaap--CommonStockSharesAuthorized_iI_c20231231_z3I6jd3VJDQc" title="Common stock, shares authorized"><span id="xdx_904_eus-gaap--CommonStockSharesAuthorized_iI_c20221231_zvZhjoiiyUNc" title="Common stock, shares authorized"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="AsOf2023-12-31" id="Fact000145" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="AsOf2022-12-31" id="Fact000147" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">50,000,000</ix:nonFraction></ix:nonFraction></span></span> common shares with a par value of $<span id="xdx_905_eus-gaap--CommonStockParOrStatedValuePerShare_iI_pid_c20231231_zkOBZgEOaPSg" title="Common stock, par value"><span id="xdx_90E_eus-gaap--CommonStockParOrStatedValuePerShare_iI_pid_c20221231_zAmZxtUfns2h" title="Common stock, par value"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="AsOf2023-12-31" id="Fact000149" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="AsOf2022-12-31" id="Fact000151" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.001</ix:nonFraction></ix:nonFraction></span></span> each; <span id="xdx_909_eus-gaap--PreferredStockSharesAuthorized_iI_c20231231_zMuQ64IY2oS8" title="Preferred stock, shares authorized"><span id="xdx_909_eus-gaap--PreferredStockSharesAuthorized_iI_c20221231_zczAECHsm7Tj" title="Preferred stock, shares authorized"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2023-12-31" id="Fact000153" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2022-12-31" id="Fact000155" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,000,000</ix:nonFraction></ix:nonFraction></span></span> preferred shares with a par value of $<span id="xdx_900_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_pid_c20231231_zZd6Vn69yxU5" title="Preferred stock, par value"><span id="xdx_908_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_pid_c20221231_zYBqlBNZtvde" title="Preferred stock, par value"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2023-12-31" id="Fact000157" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2022-12-31" id="Fact000159" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.01</ix:nonFraction></ix:nonFraction></span></span> each</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Issued and outstanding:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--CommonStockValue_i02I_maCzKRs_zDYuZ9ffKyQ5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt"><span id="xdx_90C_eus-gaap--CommonStockSharesIssued_iI_c20231231_zV9v1ujvjA48" title="Common stock, shares issued"><span id="xdx_90F_eus-gaap--CommonStockSharesOutstanding_iI_c20231231_zQB6iB877h03" title="Common stock, shares outstanding"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2023-12-31" id="Fact000164" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2023-12-31" id="Fact000166" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,435,532</ix:nonFraction></ix:nonFraction></span></span> (December 31, 2022: <span id="xdx_90D_eus-gaap--CommonStockSharesIssued_iI_c20221231_zTElRaAEeQyd" title="Common stock, shares issued"><span id="xdx_909_eus-gaap--CommonStockSharesOutstanding_iI_c20221231_zy7n5MayCIFl" title="Common stock, shares outstanding"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2022-12-31" id="Fact000168" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2022-12-31" id="Fact000170" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,426,260</ix:nonFraction></ix:nonFraction></span></span>) common shares</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CommonStockValue" contextRef="AsOf2023-12-31" id="Fact000161" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,436</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CommonStockValue" contextRef="AsOf2022-12-31" id="Fact000162" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,426</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--CommonStockValue_i02I_maCzKRs_zrKyGUeVGgZ1" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Common stock, value</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CommonStockValue" contextRef="AsOf2023-12-31" id="Fact000172" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,436</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CommonStockValue" contextRef="AsOf2022-12-31" id="Fact000173" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,426</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--AdditionalPaidInCapital_i02I_maCzKRs_za9ExmHmbHdi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Capital in excess of par value</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AdditionalPaidInCapital" contextRef="AsOf2023-12-31" id="Fact000175" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,932,015</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AdditionalPaidInCapital" contextRef="AsOf2022-12-31" id="Fact000176" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,523,345</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--AccumulatedOtherComprehensiveIncomeLossNetOfTax_i02I_maCzKRs_zbPKz96IQLJi" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Other comprehensive loss</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" contextRef="AsOf2023-12-31" id="Fact000178" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">795,146</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" contextRef="AsOf2022-12-31" id="Fact000179" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">805,799</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_402_eus-gaap--RetainedEarningsAccumulatedDeficit_i02I_maCzKRs_ztEnO70dJ1e" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Accumulated earnings</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="AsOf2023-12-31" id="Fact000181" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,053,051</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="AsOf2022-12-31" id="Fact000182" format="ixt:numdotdecimal" decimals="0" unitRef="USD">15,903,964</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--StockholdersEquity_i02TI_mtCzKRs_maCzAZ6_zdbN65QVkL3a" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Total stockholders&#8217; equity &#8211; controlling interest</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31" id="Fact000184" format="ixt:numdotdecimal" decimals="0" unitRef="USD">35,202,356</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-12-31" id="Fact000185" format="ixt:numdotdecimal" decimals="0" unitRef="USD">32,633,936</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--MinorityInterest_i02I_maCzAZ6_z2Oymqfq6ba4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Non-controlling interests (Note 17)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:MinorityInterest" contextRef="AsOf2023-12-31" id="Fact000187" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,065,716</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:MinorityInterest" contextRef="AsOf2022-12-31" id="Fact000188" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,605,034</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_i02TI_mtCzAZ6_maCzLnb_zdnExGgQoaa6" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Total Stockholders&#8217; Equity</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31" id="Fact000190" format="ixt:numdotdecimal" decimals="0" unitRef="USD">38,268,072</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31" id="Fact000191" format="ixt:numdotdecimal" decimals="0" unitRef="USD">35,238,970</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--LiabilitiesAndStockholdersEquity_i02I_mtCzLnb_zYsyWPO86W11" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 2.5pt">Total Liabilities and Stockholders&#8217; Equity</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" contextRef="AsOf2023-12-31" id="Fact000193" format="ixt:numdotdecimal" decimals="0" unitRef="USD">55,471,055</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" contextRef="AsOf2022-12-31" id="Fact000194" format="ixt:numdotdecimal" decimals="0" unitRef="USD">51,587,192</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">See
Notes to Consolidated Financial Statements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 19; Value: 1 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->3<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="nd_003"></span>FLEXIBLE
SOLUTIONS INTERNATIONAL, INC.</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Consolidated
Statements of Income and Comprehensive Income</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>For
the Years Ended December 31</b></span></p>

<p style="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(U.S.
Dollars)</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" id="xdx_309_113_zrAs5My0jFyj" summary="xdx: Statement - Consolidated Statements of Income and Comprehensive Income" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_492_20230101__20231231_zJkyGJ7oDS1b" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; font-weight: bold; text-align: center">2023</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_496_20220101__20221231_znqOoaKNPJjc" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; font-weight: bold; text-align: center">2022</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold; vertical-align: bottom">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_maCzHmb_zdJk6Sj0xXc5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; font-weight: bold">Sales</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-01to2023-12-31" id="Fact000196" format="ixt:numdotdecimal" decimals="0" unitRef="USD">38,324,806</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31" id="Fact000197" format="ixt:numdotdecimal" decimals="0" unitRef="USD">45,840,469</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--CostOfGoodsAndServicesSold_msCzHmb_zBjJz2SHX8v3" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; padding-bottom: 1.5pt">Cost of sales (Note 6, 7 &amp; 8)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="From2023-01-01to2023-12-31" id="Fact000199" format="ixt:numdotdecimal" decimals="0" unitRef="USD">27,987,451</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="From2022-01-012022-12-31" id="Fact000200" format="ixt:numdotdecimal" decimals="0" unitRef="USD">31,971,596</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--GrossProfit_iT_mtCzHmb_maCzKrN_zNcfGPfENM1" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Gross profit</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="From2023-01-01to2023-12-31" id="Fact000202" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,337,355</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="From2022-01-012022-12-31" id="Fact000203" format="ixt:numdotdecimal" decimals="0" unitRef="USD">13,868,873</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--OperatingExpensesAbstract_iB_zlk0C9xzXN0d" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Operating expenses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--SalariesAndWages_i01_maCza8m_zNTzOeqWxmx3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Wages</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:SalariesAndWages" contextRef="From2023-01-01to2023-12-31" id="Fact000208" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,659,654</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:SalariesAndWages" contextRef="From2022-01-012022-12-31" id="Fact000209" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,537,783</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--OfficersCompensation_i01_maCza8m_zOjmpA8SVcth" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Administrative salaries and benefits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OfficersCompensation" contextRef="From2023-01-01to2023-12-31" id="Fact000211" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,205,007</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OfficersCompensation" contextRef="From2022-01-012022-12-31" id="Fact000212" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,032,394</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--GeneralInsuranceExpense_i01_maCza8m_zZzUMyhfz5Fc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Insurance</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:GeneralInsuranceExpense" contextRef="From2023-01-01to2023-12-31" id="Fact000214" format="ixt:numdotdecimal" decimals="0" unitRef="USD">861,501</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:GeneralInsuranceExpense" contextRef="From2022-01-012022-12-31" id="Fact000215" format="ixt:numdotdecimal" decimals="0" unitRef="USD">683,272</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--OtherGeneralExpense_i01_maCza8m_zamAmjV6wtLc" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Office and miscellaneous</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherGeneralExpense" contextRef="From2023-01-01to2023-12-31" id="Fact000217" format="ixt:numdotdecimal" decimals="0" unitRef="USD">508,376</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherGeneralExpense" contextRef="From2022-01-012022-12-31" id="Fact000218" format="ixt:numdotdecimal" decimals="0" unitRef="USD">350,126</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--InterestExpense_i01_maCza8m_ztoepig6I3Vd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InterestExpense" contextRef="From2023-01-01to2023-12-31" id="Fact000220" format="ixt:numdotdecimal" decimals="0" unitRef="USD">498,666</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InterestExpense" contextRef="From2022-01-012022-12-31" id="Fact000221" format="ixt:numdotdecimal" decimals="0" unitRef="USD">292,949</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_ecustom--Consulting_i01_maCza8m_zUgqTSijPjP9" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Consulting</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:Consulting" contextRef="From2023-01-01to2023-12-31" id="Fact000223" format="ixt:numdotdecimal" decimals="0" unitRef="USD">324,327</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:Consulting" contextRef="From2022-01-012022-12-31" id="Fact000224" format="ixt:numdotdecimal" decimals="0" unitRef="USD">312,171</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--TravelAndEntertainmentExpense_i01_maCza8m_zDGFfBmtGHTk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Travel</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:TravelAndEntertainmentExpense" contextRef="From2023-01-01to2023-12-31" id="Fact000226" format="ixt:numdotdecimal" decimals="0" unitRef="USD">264,563</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:TravelAndEntertainmentExpense" contextRef="From2022-01-012022-12-31" id="Fact000227" format="ixt:numdotdecimal" decimals="0" unitRef="USD">171,369</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--ProfessionalFees_i01_maCza8m_z46uglF3N6o3" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Professional fees</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfessionalFees" contextRef="From2023-01-01to2023-12-31" id="Fact000229" format="ixt:numdotdecimal" decimals="0" unitRef="USD">238,466</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfessionalFees" contextRef="From2022-01-012022-12-31" id="Fact000230" format="ixt:numdotdecimal" decimals="0" unitRef="USD">660,821</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_ecustom--InvestorRelationsAndTransferAgentFee_i01_maCza8m_zfq2uFMmCNm8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Investor relations and transfer agent fee</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:InvestorRelationsAndTransferAgentFee" contextRef="From2023-01-01to2023-12-31" id="Fact000232" format="ixt:numdotdecimal" decimals="0" unitRef="USD">222,650</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:InvestorRelationsAndTransferAgentFee" contextRef="From2022-01-012022-12-31" id="Fact000233" format="ixt:numdotdecimal" decimals="0" unitRef="USD">179,505</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--SellingAndMarketingExpense_i01_maCza8m_zHFcsVrobQ3j" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Advertising and promotion</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:SellingAndMarketingExpense" contextRef="From2023-01-01to2023-12-31" id="Fact000235" format="ixt:numdotdecimal" decimals="0" unitRef="USD">194,308</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:SellingAndMarketingExpense" contextRef="From2022-01-012022-12-31" id="Fact000236" format="ixt:numdotdecimal" decimals="0" unitRef="USD">182,609</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--ResearchAndDevelopmentExpense_i01_maCza8m_zUd9QegKqIU2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Research</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="From2023-01-01to2023-12-31" id="Fact000238" format="ixt:numdotdecimal" decimals="0" unitRef="USD">158,246</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="From2022-01-012022-12-31" id="Fact000239" format="ixt:numdotdecimal" decimals="0" unitRef="USD">99,275</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--OperatingLeaseExpense_i01_maCza8m_z4nBl8aJ4AZe" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Lease expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseExpense" contextRef="From2023-01-01to2023-12-31" id="Fact000241" format="ixt:numdotdecimal" decimals="0" unitRef="USD">97,806</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseExpense" contextRef="From2022-01-012022-12-31" id="Fact000242" format="ixt:numdotdecimal" decimals="0" unitRef="USD">149,446</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--CommunicationsAndInformationTechnology_i01_maCza8m_zgpyaluCKCC1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Telecommunications</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CommunicationsAndInformationTechnology" contextRef="From2023-01-01to2023-12-31" id="Fact000244" format="ixt:numdotdecimal" decimals="0" unitRef="USD">55,093</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CommunicationsAndInformationTechnology" contextRef="From2022-01-012022-12-31" id="Fact000245" format="ixt:numdotdecimal" decimals="0" unitRef="USD">42,098</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_ecustom--Commissions_i01_maCza8m_z10AcMgmfRie" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Commissions</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:Commissions" contextRef="From2023-01-01to2023-12-31" id="Fact000247" format="ixt:numdotdecimal" decimals="0" unitRef="USD">35,623</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:Commissions" contextRef="From2022-01-012022-12-31" id="Fact000248" format="ixt:numdotdecimal" decimals="0" unitRef="USD">30,732</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--UtilitiesOperatingExpense_i01_maCza8m_zzMHHieG6iY2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Utilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:UtilitiesOperatingExpense" contextRef="From2023-01-01to2023-12-31" id="Fact000250" format="ixt:numdotdecimal" decimals="0" unitRef="USD">26,854</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:UtilitiesOperatingExpense" contextRef="From2022-01-012022-12-31" id="Fact000251" format="ixt:numdotdecimal" decimals="0" unitRef="USD">29,517</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_ecustom--ShippingCost_i01_maCza8m_zIqjDL8Z35Ah" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Shipping</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:ShippingCost" contextRef="From2023-01-01to2023-12-31" id="Fact000253" format="ixt:numdotdecimal" decimals="0" unitRef="USD">24,060</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:ShippingCost" contextRef="From2022-01-012022-12-31" id="Fact000254" format="ixt:numdotdecimal" decimals="0" unitRef="USD">23,469</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--ForeignCurrencyTransactionGainLossBeforeTax_i01N_di_msCza8m_zRvvkJav1hO2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Currency exchange</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" contextRef="From2023-01-01to2023-12-31" id="Fact000256" format="ixt:numdotdecimal" decimals="0" unitRef="USD">37,632</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" contextRef="From2022-01-012022-12-31" id="Fact000257" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">23,091</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--ProvisionForDoubtfulAccounts_i01_maCza8m_zclLwNwusUJh" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Bad debt expense</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0259">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ProvisionForDoubtfulAccounts" contextRef="From2022-01-012022-12-31" id="Fact000260" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,869</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--OperatingExpenses_i01T_mtCza8m_msCzKrN_zJOWZ1WiGTGg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Total operating expenses</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingExpenses" contextRef="From2023-01-01to2023-12-31" id="Fact000262" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,337,568</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingExpenses" contextRef="From2022-01-012022-12-31" id="Fact000263" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,818,496</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--OperatingIncomeLoss_iT_mtCzKrN_maCzvqg_zz1nE4g35Mhe" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Operating income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2023-01-01to2023-12-31" id="Fact000265" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,999,787</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2022-01-012022-12-31" id="Fact000266" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,050,377</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--GainLossOnDispositionOfAssets1_maCzvqg_zObtBcyozuna" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Gain on sale of asset (Note 6)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:GainLossOnDispositionOfAssets1" contextRef="From2023-01-01to2023-12-31" id="Fact000268" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,589</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0269">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--GainLossOnInvestments_maCzvqg_zLuhjUtTGSXe" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Gain on investments (Note 10)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:GainLossOnInvestments" contextRef="From2023-01-01to2023-12-31" id="Fact000271" format="ixt:numdotdecimal" decimals="0" unitRef="USD">505,065</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:GainLossOnInvestments" contextRef="From2022-01-012022-12-31" id="Fact000272" format="ixt:numdotdecimal" decimals="0" unitRef="USD">341,424</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_ecustom--GainOnPreviouslyHeldEquityInterest_maCzvqg_z2Wy7V56kwhk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Gain on previously held equity interest (Note 10)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0274">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:GainOnPreviouslyHeldEquityInterest" contextRef="From2022-01-012022-12-31" id="Fact000275" format="ixt:numdotdecimal" decimals="0" unitRef="USD">335,051</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--InterestIncomeOther_maCzvqg_zNpCynQIySk5" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Interest income</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:InterestIncomeOther" contextRef="From2023-01-01to2023-12-31" id="Fact000277" format="ixt:numdotdecimal" decimals="0" unitRef="USD">113,809</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:InterestIncomeOther" contextRef="From2022-01-012022-12-31" id="Fact000278" format="ixt:numdotdecimal" decimals="0" unitRef="USD">132,233</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_iT_mtCzvqg_maCzXgi_zhIa1Guowpxj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Income before income tax</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2023-01-01to2023-12-31" id="Fact000280" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,623,250</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2022-01-012022-12-31" id="Fact000281" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,859,085</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--DeferredIncomeTaxesAndTaxCreditsAbstract_iB" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Income taxes (Note 13)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--DeferredIncomeTaxExpenseBenefit_i01N_di_msCzXgi_zfJmx9phqZ66" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Deferred income tax recovery</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="From2023-01-01to2023-12-31" id="Fact000286" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">250,917</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="From2022-01-012022-12-31" id="Fact000287" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">71,295</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--CurrentIncomeTaxExpenseBenefit_i01N_di_msCzXgi_z4ybsWZiLpWb" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Current income tax expense</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:CurrentIncomeTaxExpenseBenefit" contextRef="From2023-01-01to2023-12-31" id="Fact000289" format="ixt:numdotdecimal" decimals="0" unitRef="USD">118,182</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:CurrentIncomeTaxExpenseBenefit" contextRef="From2022-01-012022-12-31" id="Fact000290" format="ixt:numdotdecimal" decimals="0" unitRef="USD">217,151</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40B_eus-gaap--ProfitLoss_iT_maNILzXB2_mtCzXgi_zZACRLnl1fxl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Net income for the year</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-01to2023-12-31" id="Fact000292" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,755,985</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2022-01-012022-12-31" id="Fact000293" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,713,229</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_iN_di_msNILzXB2_zkZtKxyOlAQe" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Net income attributable to non-controlling interests</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" contextRef="From2023-01-01to2023-12-31" id="Fact000295" format="ixt:numdotdecimal" decimals="0" unitRef="USD">980,121</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" contextRef="From2022-01-012022-12-31" id="Fact000296" format="ixt:numdotdecimal" decimals="0" unitRef="USD">691,625</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40E_eus-gaap--NetIncomeLoss_iT_mtNILzXB2_zFCPbcBMOw0h" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Net income attributable to controlling interest</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-01to2023-12-31" id="Fact000298" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,775,864</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-01-012022-12-31" id="Fact000299" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,021,604</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--EarningsPerShareBasic_pid_zfxwgEt0m5hh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Income per share (basic) (Note 14)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2023-01-01to2023-12-31" id="Fact000301" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.22</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2022-01-012022-12-31" id="Fact000302" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.57</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--EarningsPerShareDiluted_pid_zjWvGb02oSSd" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold">Income per share (diluted) (Note 14)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2023-01-01to2023-12-31" id="Fact000304" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.22</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2022-01-012022-12-31" id="Fact000305" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.56</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_zxyyEUmJVdrg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Weighted average number of common shares (basic)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2023-01-01to2023-12-31" id="Fact000307" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,434,886</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2022-01-012022-12-31" id="Fact000308" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,379,316</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_zJ8DHecsbrF4" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold">Weighted average number of common shares (diluted)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2023-01-01to2023-12-31" id="Fact000310" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,489,467</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2022-01-012022-12-31" id="Fact000311" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,466,415</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_iB_zD99AXxBPVe2" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Other comprehensive income:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--ProfitLoss_i01_maCz4y9_zekMWGFOlrsj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Net income</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-01to2023-12-31" id="Fact000316" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,755,985</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2022-01-012022-12-31" id="Fact000317" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,713,229</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_i01_maCz4y9_zCEORdML54W6" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Unrealized gain (loss) on foreign currency transactions</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="From2023-01-01to2023-12-31" id="Fact000319" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,653</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="From2022-01-012022-12-31" id="Fact000320" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">30,069</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_404_eus-gaap--ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_i01T_mtCz4y9_maCzqMP_z0vOd6Ivj6Yi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Total comprehensive income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" contextRef="From2023-01-01to2023-12-31" id="Fact000322" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,766,638</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" contextRef="From2022-01-012022-12-31" id="Fact000323" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,683,160</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_i01N_pp0p0_di_msCzqMP_zWUiLzb7tGJ2" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Comprehensive income &#8211; non-controlling interest</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" contextRef="From2023-01-01to2023-12-31" id="Fact000325" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">980,121</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" contextRef="From2022-01-012022-12-31" id="Fact000326" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">691,625</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40E_eus-gaap--ComprehensiveIncomeNetOfTax_i01T_mtCzqMP_zUihr2VMp1Ai" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 2.5pt">Comprehensive income attributable to controlling interests</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTax" contextRef="From2023-01-01to2023-12-31" id="Fact000328" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,786,517</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTax" contextRef="From2022-01-012022-12-31" id="Fact000329" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,991,535</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">See
Notes to Consolidated Financial Statements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 20; Value: 1 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->4<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="nd_004"></span>FLEXIBLE
SOLUTIONS INTERNATIONAL, INC.</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Consolidated
Statements of Cash Flows</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>For
Years Ended December 31</b></span></p>

<p style="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(U.S.
Dollars)</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" id="xdx_30A_112_zySrrqqsR44k" summary="xdx: Statement - Consolidated Statements of Cash Flows" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_49B_20230101__20231231_z3qw13gn9Scg" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; font-weight: bold; text-align: center">2023</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_49F_20220101__20221231_zitLcmsWaBza" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; font-weight: bold; text-align: center">2022</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold; vertical-align: bottom">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--NetCashProvidedByUsedInOperatingActivitiesAbstract_iB_zWoKyk7X0NGd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Operating activities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--ProfitLoss_i01_maNCPBUzQz6_zUiIJkKAbE3a" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 60%; text-align: left">Net income for the year</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-01to2023-12-31" id="Fact000334" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,755,985</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2022-01-012022-12-31" id="Fact000335" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,713,229</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_i01B_zOT307CJzjF1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Adjustments to reconcile net income to net cash:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--ShareBasedCompensation_i02_maNCPBUzQz6_zrzlNG0N1q65" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left">Stock based compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="From2023-01-01to2023-12-31" id="Fact000340" format="ixt:numdotdecimal" decimals="0" unitRef="USD">395,080</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="From2022-01-012022-12-31" id="Fact000341" format="ixt:numdotdecimal" decimals="0" unitRef="USD">399,148</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--DepreciationAndAmortization_i02_maNCPBUzQz6_z5JRbHnCbVo1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Depreciation and amortization</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepreciationAndAmortization" contextRef="From2023-01-01to2023-12-31" id="Fact000343" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,686,319</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepreciationAndAmortization" contextRef="From2022-01-012022-12-31" id="Fact000344" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,277,431</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_ecustom--LeaseRightOfUseFinancing_i02_maNCPBUzQz6_zAa6O9Z3tOlc" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left">Lease right of use financing</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:LeaseRightOfUseFinancing" contextRef="From2023-01-01to2023-12-31" id="Fact000346" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,151</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:LeaseRightOfUseFinancing" contextRef="From2022-01-012022-12-31" id="Fact000347" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,566</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--FinanceLeaseRightOfUseAssetAmortization_i02_pp0p0_maNCPBUzQz6_zEkBiEGPXjW5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Lease right of use amortization</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:FinanceLeaseRightOfUseAssetAmortization" contextRef="From2023-01-01to2023-12-31" id="Fact000349" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">51,929</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:FinanceLeaseRightOfUseAssetAmortization" contextRef="From2022-01-012022-12-31" id="Fact000350" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">50,045</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--GainLossOnInvestments_i02N_pp0p0_di_msNCPBUzQz6_zFAVa4C95TVg" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left">Gain on investments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:GainLossOnInvestments" contextRef="From2023-01-01to2023-12-31" id="Fact000352" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">505,065</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:GainLossOnInvestments" contextRef="From2022-01-012022-12-31" id="Fact000353" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">341,424</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_400_eus-gaap--GainLossOnSaleOfPropertyPlantEquipment_i02N_di_msNCPBUzQz6_z0leKzUzzDfi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Gain on sale of asset</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" contextRef="From2023-01-01to2023-12-31" id="Fact000355" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,589</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0356">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--ProvisionForDoubtfulAccounts_i02_pp0p0_maNCPBUzQz6_zluDeNY6wF2k" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left">Bad debt expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0358">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProvisionForDoubtfulAccounts" contextRef="From2022-01-012022-12-31" id="Fact000359" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">17,869</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--DeferredIncomeTaxExpenseBenefit_i02_pp0p0_maNCPBUzQz6_zRmTEZ5gPWd9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Deferred income tax recovery</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="From2023-01-01to2023-12-31" id="Fact000361" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">250,917</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="From2022-01-012022-12-31" id="Fact000362" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">71,295</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40B_ecustom--GainOnAcquisitionOfSubsidiary_i02N_di_msNCPBUzQz6_zHiBYYX7GNC9" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left">Gain on acquisition of ENP Peru, LLC</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0364">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="FSI:GainOnAcquisitionOfSubsidiary" contextRef="From2022-01-012022-12-31" id="Fact000365" format="ixt:numdotdecimal" decimals="0" unitRef="USD">335,051</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_405_eus-gaap--IncreaseDecreaseInOperatingCapitalAbstract_i02B_zmgkrPAn6yMc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 0pt; text-align: left">Changes in non-cash working capital items:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--IncreaseDecreaseInAccountsReceivable_i03N_pp0p0_di_msNCPBUzQz6_zrnBhNxzHUOd" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left">Increase in accounts receivable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="From2023-01-01to2023-12-31" id="Fact000370" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">393,199</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="From2022-01-012022-12-31" id="Fact000371" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,338,397</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_408_eus-gaap--IncreaseDecreaseInInventories_i03N_pp0p0_di_msNCPBUzQz6_zWzgqiMRyfzk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Decrease (increase) in inventories</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" contextRef="From2023-01-01to2023-12-31" id="Fact000373" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">3,284,541</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" contextRef="From2022-01-012022-12-31" id="Fact000374" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,124,022</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_406_eus-gaap--IncreaseDecreaseInPrepaidExpense_i03N_pp0p0_di_msNCPBUzQz6_zB3YQWsa3mVh" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left">Decrease (increase) in prepaid expenses and deposits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInPrepaidExpense" contextRef="From2023-01-01to2023-12-31" id="Fact000376" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,230,626</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInPrepaidExpense" contextRef="From2022-01-012022-12-31" id="Fact000377" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">131,864</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_i03_maNCPBUzQz6_zpdHF2C1p5nk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Increase (decrease) in accounts payable and accrued liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" contextRef="From2023-01-01to2023-12-31" id="Fact000379" format="ixt:numdotdecimal" decimals="0" unitRef="USD">434,964</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" contextRef="From2022-01-012022-12-31" id="Fact000380" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">700,191</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_408_eus-gaap--IncreaseDecreaseInAccruedIncomeTaxesPayable_i03_pp0p0_maNCPBUzQz6_zWYw2jYCA7ka" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left">Decrease in income taxes payable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" contextRef="From2023-01-01to2023-12-31" id="Fact000382" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">1,137</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" contextRef="From2022-01-012022-12-31" id="Fact000383" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">249,628</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_407_eus-gaap--IncreaseDecreaseInContractWithCustomerLiability_i03_pp0p0_maNCPBUzQz6_zzprFWr7YZ6j" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 1.5pt">(Decrease) increase in deferred revenue</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" contextRef="From2023-01-01to2023-12-31" id="Fact000385" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">239,471</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" contextRef="From2022-01-012022-12-31" id="Fact000386" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">38,759</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--NetCashProvidedByUsedInOperatingActivities_i01T_mtNCPBUzQz6_maCCERCz0gy_zGhBWGax5js8" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Cash provided by operating activities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="From2023-01-01to2023-12-31" id="Fact000388" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,989,965</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="From2022-01-012022-12-31" id="Fact000389" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,476,903</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--NetCashProvidedByUsedInInvestingActivitiesAbstract_iB_zodoiCoECFNf" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Investing activities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--PaymentsToAcquireInvestments_i01N_di_msNCPBUzRUX_ziW08yaySb4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Purchase of investments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquireInvestments" contextRef="From2023-01-01to2023-12-31" id="Fact000394" format="ixt:numdotdecimal" decimals="0" unitRef="USD">470,000</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0395">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_ecustom--ProceedsFromRedemptionOfInvestments_i01_maNCPBUzRUX_z7QqI5wqSHil" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Redemption of investments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:ProceedsFromRedemptionOfInvestments" contextRef="From2023-01-01to2023-12-31" id="Fact000397" format="ixt:numdotdecimal" decimals="0" unitRef="USD">200,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0398">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--ProceedsFromSaleOfEquityMethodInvestments_i01_maNCPBUzRUX_z8CkW65umNRg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Distributions received from equity investments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromSaleOfEquityMethodInvestments" contextRef="From2023-01-01to2023-12-31" id="Fact000400" format="ixt:numdotdecimal" decimals="0" unitRef="USD">201,034</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromSaleOfEquityMethodInvestments" contextRef="From2022-01-012022-12-31" id="Fact000401" format="ixt:numdotdecimal" decimals="0" unitRef="USD">265,001</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_ecustom--ProceedsFromNoncontrollingInterestOfMendota_i01_maNCPBUzRUX_za9ev93yGLvf" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Non-controlling interest of 317 Mendota</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:ProceedsFromNoncontrollingInterestOfMendota" contextRef="From2023-01-01to2023-12-31" id="Fact000403" format="ixt:numdotdecimal" decimals="0" unitRef="USD">200,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0404">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_ecustom--PaymentsToAcquireLongTermDeposits_i01N_di_msNCPBUzRUX_zZmSCLxz90B8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Long term deposits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="FSI:PaymentsToAcquireLongTermDeposits" contextRef="From2023-01-01to2023-12-31" id="Fact000406" format="ixt:numdotdecimal" decimals="0" unitRef="USD">815,714</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0407">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--ProceedsFromSaleOfProductiveAssets_i01_pp0p0_maNCPBUzRUX_zcviz4D3uND3" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Proceeds from sale of asset</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromSaleOfProductiveAssets" contextRef="From2023-01-01to2023-12-31" id="Fact000409" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">5,411</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0410">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_i01N_pp0p0_di_msNCPBUzRUX_zMLKfqBNnaR5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Purchase of property and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2023-01-01to2023-12-31" id="Fact000412" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,990,675</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2022-01-012022-12-31" id="Fact000413" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,981,307</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_404_eus-gaap--PaymentsToAcquireBusinessesNetOfCashAcquired_i01N_pp0p0_di_msNCPBUzRUX_zPP7jeXz5wf7" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Acquisition of ENP Peru, LLC</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0415">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" contextRef="From2022-01-012022-12-31" id="Fact000416" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">499,329</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_409_eus-gaap--NetCashProvidedByUsedInInvestingActivities_i01T_mtNCPBUzRUX_maCCERCz0gy_zyhTEusjNQb7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Cash used in investing activities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="From2023-01-01to2023-12-31" id="Fact000418" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">5,669,944</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="From2022-01-012022-12-31" id="Fact000419" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">2,215,635</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--NetCashProvidedByUsedInFinancingActivitiesAbstract_iB_zQj1bgwszsA7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Financing activities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--ProceedsFromRepaymentsOfLinesOfCredit_i01_maNCPBUzLRF_zmCSELoMoTTj" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">(Repayment) advance of short term line of credit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:ProceedsFromRepaymentsOfLinesOfCredit" contextRef="From2023-01-01to2023-12-31" id="Fact000424" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">1,008,112</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromRepaymentsOfLinesOfCredit" contextRef="From2022-01-012022-12-31" id="Fact000425" format="ixt:numdotdecimal" decimals="0" unitRef="USD">517,772</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--RepaymentsOfLongTermDebt_i01N_di_msNCPBUzLRF_zIMnWYcOGo52" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Repayment of long term debt</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:RepaymentsOfLongTermDebt" contextRef="From2023-01-01to2023-12-31" id="Fact000427" format="ixt:numdotdecimal" decimals="0" unitRef="USD">725,823</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:RepaymentsOfLongTermDebt" contextRef="From2022-01-012022-12-31" id="Fact000428" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,292,819</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--ProceedsFromIssuanceOfLongTermDebt_i01_pp0p0_maNCPBUzLRF_zF56xVlX4AAh" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Proceeds of long term debt</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfLongTermDebt" contextRef="From2023-01-01to2023-12-31" id="Fact000430" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,686,682</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfLongTermDebt" contextRef="From2022-01-012022-12-31" id="Fact000431" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,230,798</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--PaymentsOfFinancingCosts_i01N_di_msNCPBUzLRF_zfXMFRvgJ9cg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Lease payments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsOfFinancingCosts" contextRef="From2023-01-01to2023-12-31" id="Fact000433" format="ixt:numdotdecimal" decimals="0" unitRef="USD">58,080</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsOfFinancingCosts" contextRef="From2022-01-012022-12-31" id="Fact000434" format="ixt:numdotdecimal" decimals="0" unitRef="USD">58,611</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40B_eus-gaap--PaymentsOfDividends_i01N_di_msNCPBUzLRF_zRJy8FZEaJk8" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Dividends paid</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsOfDividends" contextRef="From2023-01-01to2023-12-31" id="Fact000436" format="ixt:numdotdecimal" decimals="0" unitRef="USD">626,777</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0437">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--PaymentsToMinorityShareholders_i01N_pp0p0_di_msNCPBUzLRF_z0c8CweBdYH8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Distribution to non-controlling interest</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToMinorityShareholders" contextRef="From2023-01-01to2023-12-31" id="Fact000439" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">719,439</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToMinorityShareholders" contextRef="From2022-01-012022-12-31" id="Fact000440" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">689,434</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_403_eus-gaap--ProceedsFromIssuanceOfCommonStock_i01_maNCPBUzLRF_zu4TtZgDTLY4" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Common stock issued</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfCommonStock" contextRef="From2023-01-01to2023-12-31" id="Fact000442" format="ixt:numdotdecimal" decimals="0" unitRef="USD">13,600</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfCommonStock" contextRef="From2022-01-012022-12-31" id="Fact000443" format="ixt:numdotdecimal" decimals="0" unitRef="USD">140,620</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--NetCashProvidedByUsedInFinancingActivities_i01T_mtNCPBUzLRF_maCCERCz0gy_zakjxO7vLgC6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Cash provided by (used in) financing activities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="From2023-01-01to2023-12-31" id="Fact000445" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">437,949</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="From2022-01-012022-12-31" id="Fact000446" format="ixt:numdotdecimal" decimals="0" unitRef="USD">848,326</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_maCCERCz0gy_zR2is8LPRwY2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Effect of exchange rate changes on cash</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="From2023-01-01to2023-12-31" id="Fact000448" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,653</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="From2022-01-012022-12-31" id="Fact000449" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">30,069</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_iT_mtCCERCz0gy_zGyMMggUjJ6h" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Inflow of cash</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" contextRef="From2023-01-01to2023-12-31" id="Fact000451" format="ixt:numdotdecimal" decimals="0" unitRef="USD">892,725</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" contextRef="From2022-01-012022-12-31" id="Fact000452" format="ixt:numdotdecimal" decimals="0" unitRef="USD">79,525</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_iS_pp0p0_z51TAQrg4sQ2" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Cash resources, beginning</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2022-12-31" id="Fact000454" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">6,815,099</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2021-12-31" id="Fact000455" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">6,735,574</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_iE_pp0p0_zsnBjsDxOpNc" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; padding-bottom: 1.5pt">Cash resources, ending</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2023-12-31" id="Fact000457" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">7,707,824</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2022-12-31" id="Fact000458" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">6,815,099</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_iB" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: justify">Cash resources are comprised of:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--Cash_iE_zfdos3PgyGId" style="vertical-align: bottom; background-color: White">
    <td>Cash</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:Cash" contextRef="AsOf2023-12-31" id="Fact000463" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,017,583</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:Cash" contextRef="AsOf2022-12-31" id="Fact000464" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,115,099</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--ShortTermInvestments_iE_zBYxELMiruMc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Term deposits</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ShortTermInvestments" contextRef="AsOf2023-12-31" id="Fact000466" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,690,241</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ShortTermInvestments" contextRef="AsOf2022-12-31" id="Fact000467" format="ixt:numdotdecimal" decimals="0" unitRef="USD">700,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_iE_zUQgcVuTGqi6" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Cash resources</span></td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2023-12-31" id="Fact000469" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,707,824</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2022-12-31" id="Fact000470" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,815,099</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--SupplementalCashFlowInformationAbstract_iB_zI15KbPDGac3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Supplemental disclosure of cash flow information:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--IncomeTaxesPaidNet_i01_zoQ59rJQMEwg" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Income taxes paid</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxesPaidNet" contextRef="From2023-01-01to2023-12-31" id="Fact000475" format="ixt:numdotdecimal" decimals="0" unitRef="USD">119,319</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxesPaidNet" contextRef="From2022-01-012022-12-31" id="Fact000476" format="ixt:numdotdecimal" decimals="0" unitRef="USD">158,966</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--InterestPaidNet_i01_zwhSpvrler0k" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Interest paid</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:InterestPaidNet" contextRef="From2023-01-01to2023-12-31" id="Fact000478" format="ixt:numdotdecimal" decimals="0" unitRef="USD">498,666</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:InterestPaidNet" contextRef="From2022-01-012022-12-31" id="Fact000479" format="ixt:numdotdecimal" decimals="0" unitRef="USD">292,949</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">See
Notes to Consolidated Financial Statements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 21; Value: 1 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->5<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="nd_005"></span>FLEXIBLE
SOLUTIONS INTERNATIONAL, INC.</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Consolidated
Statements of Stockholders&#8217; Equity</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>For
the Years Ended December 31, 2023 and 2022</b></span></p>

<p style="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(U.S.
Dollars)</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" id="xdx_308_114_z8RWtYOOHcha" summary="xdx: Statement - Consolidated Statements of Stockholders' Equity" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center; font-weight: bold; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; font-weight: bold; text-align: center">Shares</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_4BC_us-gaap--StatementEquityComponentsAxis_us-gaap--CommonStockMember_zs15nH4tfHGe" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; font-weight: bold; text-align: center">Par Value</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_4BB_us-gaap--StatementEquityComponentsAxis_custom--CapitalInExcessOfParValueMember_zIsz9ZXLVBge" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Capital in</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Excess of</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Par Value</b></span></p></td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_4BA_us-gaap--StatementEquityComponentsAxis_us-gaap--RetainedEarningsMember_zCFN7G6uTCHa" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Accumulated</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Earnings</b></span></p></td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_4B0_us-gaap--StatementEquityComponentsAxis_us-gaap--AccumulatedOtherComprehensiveIncomeMember_zdTY6uVbfGfe" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Other</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Comprehensive</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Income</b></span></p></td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_4BE_us-gaap--StatementEquityComponentsAxis_us-gaap--ParentMember_zXqc2zdCmqj" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; font-weight: bold; text-align: center">Total</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_4BF_us-gaap--StatementEquityComponentsAxis_us-gaap--NoncontrollingInterestMember_zxjEDTvjkeui" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Non-</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Controlling</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Interests</b></span></p></td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_4B5_z24N8f5oThS4" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Total</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Stockholders&#8217;</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Equity</b></span></p></td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_43D_c20220101__20221231_eus-gaap--StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_iS_zutAgRZPXTE2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 28%; font-weight: bold">Balance December 31, 2021</td><td style="width: 1%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--SharesOutstanding_iS_pid_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zF7eMhg4NTRd" title="Balance, shares" style="width: 6%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2021-12-31_us-gaap_CommonStockMember" id="Fact000489" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,355,246</ix:nonFraction></td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 1%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">$</td><td style="width: 6%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2021-12-31_us-gaap_CommonStockMember" id="Fact000481" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,355</ix:nonFraction></td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 1%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">$</td><td style="width: 6%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2021-12-31_custom_CapitalInExcessOfParValueMember" id="Fact000482" format="ixt:numdotdecimal" decimals="0" unitRef="USD">16,983,648</ix:nonFraction></td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 1%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">$</td><td style="width: 6%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2021-12-31_us-gaap_RetainedEarningsMember" id="Fact000483" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,882,360</ix:nonFraction></td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 1%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">$</td><td style="width: 6%; font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2021-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="Fact000484" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">775,730</ix:nonFraction></td><td style="width: 1%; font-weight: bold; text-align: left">)</td><td style="width: 1%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">$</td><td style="width: 6%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2021-12-31_us-gaap_ParentMember" id="Fact000485" format="ixt:numdotdecimal" decimals="0" unitRef="USD">25,102,633</ix:nonFraction></td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 1%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">$</td><td style="width: 6%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2021-12-31_us-gaap_NoncontrollingInterestMember" id="Fact000486" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,602,843</ix:nonFraction></td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 1%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">$</td><td style="width: 6%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2021-12-31" id="Fact000487" format="ixt:numdotdecimal" decimals="0" unitRef="USD">27,705,476</ix:nonFraction></td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_zDfnuYxdXPZg" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Translation adjustment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0491">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0492">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0493">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2022-01-012022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="Fact000494" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">30,069</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2022-01-012022-12-31_us-gaap_ParentMember" id="Fact000495" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">30,069</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0496">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2022-01-012022-12-31" id="Fact000497" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">30,069</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_404_eus-gaap--ProfitLoss_i_pp0p0" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0499">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0500">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember" id="Fact000501" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,021,604</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0502">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2022-01-012022-12-31_us-gaap_ParentMember" id="Fact000503" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,021,604</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2022-01-012022-12-31_us-gaap_NoncontrollingInterestMember" id="Fact000504" format="ixt:numdotdecimal" decimals="0" unitRef="USD">691,625</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2022-01-012022-12-31" id="Fact000505" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,713,229</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--StockIssuedDuringPeriodValueNewIssues_i_pp0p0" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Common stock issued</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_pid_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zgHtguxPlWqg" title="Common stock issued, shares" style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember" id="Fact000515" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">71,014</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember" id="Fact000507" format="ixt:numdotdecimal" decimals="0" unitRef="USD">71</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2022-01-012022-12-31_custom_CapitalInExcessOfParValueMember" id="Fact000508" format="ixt:numdotdecimal" decimals="0" unitRef="USD">140,549</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0509">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0510">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2022-01-012022-12-31_us-gaap_ParentMember" id="Fact000511" format="ixt:numdotdecimal" decimals="0" unitRef="USD">140,620</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0512">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2022-01-012022-12-31" id="Fact000513" format="ixt:numdotdecimal" decimals="0" unitRef="USD">140,620</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_pp0p0_di_z8H2sIKHxUMj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Distributions to noncontrolling interests</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0517">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0518">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0519">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0520">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0521">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2022-01-012022-12-31_us-gaap_NoncontrollingInterestMember" id="Fact000522" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">689,434</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2022-01-012022-12-31" id="Fact000523" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">689,434</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_409_eus-gaap--AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_i_pp0p0" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Stock-based compensation</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">&#8212;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0525">&#8212;</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2022-01-012022-12-31_custom_CapitalInExcessOfParValueMember" id="Fact000526" format="ixt:numdotdecimal" decimals="0" unitRef="USD">399,148</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0527">&#8212;</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0528">&#8212;</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2022-01-012022-12-31_us-gaap_ParentMember" id="Fact000529" format="ixt:numdotdecimal" decimals="0" unitRef="USD">399,148</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0530">&#8212;</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2022-01-012022-12-31" id="Fact000531" format="ixt:numdotdecimal" decimals="0" unitRef="USD">399,148</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_437_c20230101__20231231_eus-gaap--StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_iS_zr639QPZG3o8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Balance December 31, 2022</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--SharesOutstanding_iS_pid_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zhncwXd0PCc" title="Balance, shares" style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2022-12-31_us-gaap_CommonStockMember" id="Fact000541" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,426,260</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_us-gaap_CommonStockMember" id="Fact000533" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,426</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_custom_CapitalInExcessOfParValueMember" id="Fact000534" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,523,345</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_us-gaap_RetainedEarningsMember" id="Fact000535" format="ixt:numdotdecimal" decimals="0" unitRef="USD">15,903,964</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="Fact000536" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">805,799</ix:nonFraction></td><td style="font-weight: bold; text-align: left">)</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_us-gaap_ParentMember" id="Fact000537" format="ixt:numdotdecimal" decimals="0" unitRef="USD">32,633,936</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_us-gaap_NoncontrollingInterestMember" id="Fact000538" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,605,034</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31" id="Fact000539" format="ixt:numdotdecimal" decimals="0" unitRef="USD">35,238,970</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  <tr id="xdx_43A_c20230101__20231231_eus-gaap--StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_iS_zn6cRt6nZXU4" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Balance</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--SharesOutstanding_iS_pid_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_z8Pd7Shjxpcf" title="Balance, shares" style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2022-12-31_us-gaap_CommonStockMember" id="Fact000551" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,426,260</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_us-gaap_CommonStockMember" id="Fact000543" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,426</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_custom_CapitalInExcessOfParValueMember" id="Fact000544" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,523,345</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_us-gaap_RetainedEarningsMember" id="Fact000545" format="ixt:numdotdecimal" decimals="0" unitRef="USD">15,903,964</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="Fact000546" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">805,799</ix:nonFraction></td><td style="font-weight: bold; text-align: left">)</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_us-gaap_ParentMember" id="Fact000547" format="ixt:numdotdecimal" decimals="0" unitRef="USD">32,633,936</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_us-gaap_NoncontrollingInterestMember" id="Fact000548" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,605,034</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31" id="Fact000549" format="ixt:numdotdecimal" decimals="0" unitRef="USD">35,238,970</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
<tr id="xdx_407_eus-gaap--OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_zEPJ38dUVpW9" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Translation adjustment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0553">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0554">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0555">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="Fact000556" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,653</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2023-01-012023-12-31_us-gaap_ParentMember" id="Fact000557" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,653</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0558">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2023-01-01to2023-12-31" id="Fact000559" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,653</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--Dividends_iN_di_zYPVS4PbEyK9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Dividends paid</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0561">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0562">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:Dividends" contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember" id="Fact000563" format="ixt:numdotdecimal" decimals="0" unitRef="USD">626,777</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0564">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:Dividends" contextRef="From2023-01-012023-12-31_us-gaap_ParentMember" id="Fact000565" format="ixt:numdotdecimal" decimals="0" unitRef="USD">626,777</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0566">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:Dividends" contextRef="From2023-01-01to2023-12-31" id="Fact000567" format="ixt:numdotdecimal" decimals="0" unitRef="USD">626,777</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_406_eus-gaap--NoncontrollingInterestIncreaseFromBusinessCombination_zCuzQCtppR7k" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Non-controlling interest of 317 Mendota LLC</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0569">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0570">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0571">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0572">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0573">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination" contextRef="From2023-01-012023-12-31_us-gaap_NoncontrollingInterestMember" id="Fact000574" format="ixt:numdotdecimal" decimals="0" unitRef="USD">200,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination" contextRef="From2023-01-01to2023-12-31" id="Fact000575" format="ixt:numdotdecimal" decimals="0" unitRef="USD">200,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--ProfitLoss_zBNfABgxQMR9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0577">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0578">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember" id="Fact000579" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,775,864</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0580">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-012023-12-31_us-gaap_ParentMember" id="Fact000581" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,775,864</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-012023-12-31_us-gaap_NoncontrollingInterestMember" id="Fact000582" format="ixt:numdotdecimal" decimals="0" unitRef="USD">980,121</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-01to2023-12-31" id="Fact000583" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,755,985</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--StockIssuedDuringPeriodValueNewIssues_zfMlIRZbiZ09" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Common stock issued</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_pid_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zi2w52Hf8hta" title="Common stock issued, shares" style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember" id="Fact000593" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">9,272</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember" id="Fact000585" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2023-01-012023-12-31_custom_CapitalInExcessOfParValueMember" id="Fact000586" format="ixt:numdotdecimal" decimals="0" unitRef="USD">13,590</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0587">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0588">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2023-01-012023-12-31_us-gaap_ParentMember" id="Fact000589" format="ixt:numdotdecimal" decimals="0" unitRef="USD">13,600</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0590">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2023-01-01to2023-12-31" id="Fact000591" format="ixt:numdotdecimal" decimals="0" unitRef="USD">13,600</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_di_zkmEzTOUTae2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Distributions to noncontrolling interests</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0595">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0596">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0597">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0598">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0599">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2023-01-012023-12-31_us-gaap_NoncontrollingInterestMember" id="Fact000600" format="ixt:numdotdecimal" decimals="0" unitRef="USD">719,439</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2023-01-01to2023-12-31" id="Fact000601" format="ixt:numdotdecimal" decimals="0" unitRef="USD">719,439</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40A_eus-gaap--AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_zZnNLfT3ggGc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Stock-based compensation</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">&#8212;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0603">&#8212;</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-01-012023-12-31_custom_CapitalInExcessOfParValueMember" id="Fact000604" format="ixt:numdotdecimal" decimals="0" unitRef="USD">395,080</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0605">&#8212;</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0606">&#8212;</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-01-012023-12-31_us-gaap_ParentMember" id="Fact000607" format="ixt:numdotdecimal" decimals="0" unitRef="USD">395,080</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0608">&#8212;</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-01-01to2023-12-31" id="Fact000609" format="ixt:numdotdecimal" decimals="0" unitRef="USD">395,080</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_43B_c20230101__20231231_eus-gaap--StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_iE_zSCKB80Rt6h1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; padding-bottom: 2.5pt">Balance December 31, 2023</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--SharesOutstanding_iE_pid_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zump0EGLgmUc" title="Balance, shares" style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2023-12-31_us-gaap_CommonStockMember" id="Fact000619" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,435,532</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_CommonStockMember" id="Fact000611" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,436</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_custom_CapitalInExcessOfParValueMember" id="Fact000612" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,932,015</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_RetainedEarningsMember" id="Fact000613" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,053,051</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="Fact000614" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">795,146</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">)</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_ParentMember" id="Fact000615" format="ixt:numdotdecimal" decimals="0" unitRef="USD">35,202,356</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_NoncontrollingInterestMember" id="Fact000616" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,065,716</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31" id="Fact000617" format="ixt:numdotdecimal" decimals="0" unitRef="USD">38,268,072</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td></tr>
  <tr id="xdx_43A_c20230101__20231231_eus-gaap--StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_iE_zBhvgAsGs1K6" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; padding-bottom: 2.5pt">Balance</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--SharesOutstanding_iE_pid_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_ztu3chJx8M28" title="Balance, shares" style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2023-12-31_us-gaap_CommonStockMember" id="Fact000629" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,435,532</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_CommonStockMember" id="Fact000621" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,436</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_custom_CapitalInExcessOfParValueMember" id="Fact000622" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,932,015</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_RetainedEarningsMember" id="Fact000623" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,053,051</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="Fact000624" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">795,146</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">)</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_ParentMember" id="Fact000625" format="ixt:numdotdecimal" decimals="0" unitRef="USD">35,202,356</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_NoncontrollingInterestMember" id="Fact000626" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,065,716</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31" id="Fact000627" format="ixt:numdotdecimal" decimals="0" unitRef="USD">38,268,072</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td></tr>
</table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">See
Notes to Consolidated Financial Statements.</span></p>
<!-- Field: Split-Segment; Name: 001 -->
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 22; Value: 1 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->6<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="nd_006"></span>FLEXIBLE
SOLUTIONS INTERNATIONAL, INC.</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>NOTES
TO CONSOLIDATED FINANCIAL STATEMENTS</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>December
31, 2023 and 2022</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(U.S.
Dollars)</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000631" name="us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock"><p id="xdx_807_eus-gaap--BusinessDescriptionAndBasisOfPresentationTextBlock_z8eX14V1O7b" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>1.
<span id="xdx_82C_zajMyHi4dtsl">BASIS OF PRESENTATION</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">These
consolidated financial statements (&#8220;consolidated financial statements&#8221;) include the accounts of Flexible Solutions International,
Inc. (the &#8220;Company&#8221;), its wholly-owned subsidiaries Flexible Fermentation Ltd., NanoChem Solutions Inc. (&#8220;NanoChem&#8221;),
Flexible Solutions Ltd., Flexible Biomass LP, FS Biomass Inc., NCS Deferred Corp., Natural Chem SEZC Ltd., InnFlex Holdings Inc., ENP
Peru Investments LLC (&#8220;ENP Peru&#8221;), its <span id="xdx_905_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember_zsIFdNhs2Bf7" title="Subsidiary company ownership interest rate"><ix:nonFraction name="us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" contextRef="From2023-01-012023-12-31_custom_MendotaLLCMember" id="Fact000633" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">80</ix:nonFraction></span>% controlling interest in 317 Mendota LLC (&#8220;317 Mendota&#8221;), and its <span id="xdx_90E_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCAndENPMendotaMember_zgNdQkKiGJic" title="Subsidiary company ownership interest rate"><ix:nonFraction name="us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" contextRef="From2023-01-012023-12-31_custom_ENPInvestmentsLLCAndENPMendotaMember" id="Fact000635" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">65</ix:nonFraction></span>%
controlling interest in ENP Investments, LLC (&#8220;ENP Investments&#8221;) and ENP Mendota, LLC (&#8220;ENP Mendota&#8221;). All inter-company
balances and transactions have been eliminated upon consolidation. The Company was incorporated on May 12, 1998 in the State of Nevada
and in 2019, the Company redomiciled into Alberta, Canada.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
2022, NanoChem purchased an additional <span id="xdx_906_ecustom--IncreaseDecreaseInSharePercentage_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--UnrelatedPartyMember_zeGApzB5F9d2" title="Increase decrease in share percentage"><ix:nonFraction name="FSI:IncreaseDecreaseInSharePercentage" contextRef="From2022-01-012022-12-31_custom_ENPPeruMember_custom_UnrelatedPartyMember" id="Fact000637" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">50</ix:nonFraction></span>% in ENP Peru, increasing its share to <span id="xdx_905_ecustom--IncreaseDecreaseInSharePercentage_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember_zLJqj8PRgjPl" title="Increase decrease in share percentage"><ix:nonFraction name="FSI:IncreaseDecreaseInSharePercentage" contextRef="From2022-01-012022-12-31_custom_ENPPeruMember" id="Fact000639" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">91.67</ix:nonFraction></span>%. ENP Investments owns the remaining <span id="xdx_901_ecustom--RemainingInvestmentOwnedPercentage_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember_zyk4bLodgwXd" title="Remaining investment owned percentage"><ix:nonFraction name="FSI:RemainingInvestmentOwnedPercentage" contextRef="From2022-01-012022-12-31_custom_ENPPeruMember" id="Fact000641" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">8.33</ix:nonFraction></span>%, of
which the Company has a <span id="xdx_900_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsAndENPMendotaMember_zOwit3SJJnTk" title="Subsidiary company ownership interest rate"><ix:nonFraction name="us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" contextRef="From2022-01-012022-12-31_custom_ENPInvestmentsAndENPMendotaMember" id="Fact000643" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">65</ix:nonFraction></span>% interest. In 2023, NanoChem purchased the remaining <span id="xdx_901_ecustom--RemainingInvestmentOwnedPercentage_pid_dp_uPure_c20230101__20231231__srt--OwnershipAxis__custom--ENPPeruMember_zMolEU07p2wf" title="Remaining investment owned percentage"><ix:nonFraction name="FSI:RemainingInvestmentOwnedPercentage" contextRef="From2023-01-012023-12-31_custom_ENPPeruMember" id="Fact000645" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">8.33</ix:nonFraction></span>% of shares to become sole owner. ENP Peru was previously
accounted for under the equity method however, it is now consolidated into the financial statements from the date control was obtained.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
2023, the Company purchased an <span id="xdx_905_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember_zQnQSbHyYh82" title="Subsidiary company ownership interest rate"><ix:nonFraction name="us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" contextRef="From2023-01-012023-12-31_custom_MendotaLLCMember" id="Fact000647" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">80</ix:nonFraction></span>%
interest in 317 Mendota, a newly incorporated company established to purchase a large manufacturing building. ENP Investments will
occupy part of this building, freeing up more space in the building owned by ENP Peru for NanoChem. The Company intends to rent the
remainder of the space to suitable tenants. The remaining <span id="xdx_908_eus-gaap--MinorityInterestOwnershipPercentageByNoncontrollingOwners_iI_pid_dp_uPure_c20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--UnrelatedPartyMember_zkDtGLdvLqk3" title="Noncontrolling interest percentage"><ix:nonFraction name="us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners" contextRef="AsOf2023-12-31_custom_MendotaLLCMember_custom_UnrelatedPartyMember" id="Fact000649" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">20</ix:nonFraction></span>%
non-controlling interest is held by unrelated parties.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company and its subsidiaries develop, manufacture and market specialty chemicals which slow the evaporation of water. One product, HEATSAVR&#174;,
is marketed for use in swimming pools and spas where its use, by slowing the evaporation of water, allows the water to retain a higher
temperature for a longer period of time and thereby reduces the energy required to maintain the desired temperature of the water in the
pool. Another product, WATERSAVR&#174;, is marketed for water conservation in irrigation canals, aquaculture, and reservoirs where its
use slows water loss due to evaporation. In addition to the water conservation products, the Company also manufactures and markets water-soluble
chemicals utilizing thermal polyaspartate biopolymers (hereinafter referred to as &#8220;TPAs&#8221;), which are beta-proteins manufactured
from the common biological amino acid, L-aspartic. TPAs can be formulated to prevent corrosion and scaling in water piping within the
petroleum, chemical, utility and mining industries. TPAs are also used as proteins to enhance fertilizers in improving crop yields and
can be used as additives for household laundry detergents, consumer care products and pesticides. The TPA division also manufactures
two nitrogen conservation products for agriculture that slows nitrogen loss from fields.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 23; Value: 1 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->7<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000651" name="us-gaap:SignificantAccountingPoliciesTextBlock"><p id="xdx_804_eus-gaap--SignificantAccountingPoliciesTextBlock_zItbUI9LBWjj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>2.
<span id="xdx_82A_zgYh1WmMwhoh">SIGNIFICANT ACCOUNTING POLICIES</span> </b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">These
consolidated financial statements have been prepared on a historical cost basis, except where otherwise noted, in accordance with accounting
principles generally accepted in the United States applicable to a going concern and reflect the policies outlined below.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000653" name="us-gaap:CashAndCashEquivalentsPolicyTextBlock"><p id="xdx_84C_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_zycQmbBUVMu1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a)
<i><span id="xdx_863_z9jFhvww0eJ4">Cash and Cash Equivalents</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company considers all highly liquid investments purchased with an original or remaining maturity of less than three months at the date
of purchase to be cash equivalents. Cash and cash equivalents are maintained with several financial institutions.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000655" name="FSI:TermDepositsPolicyTextBlock"><p id="xdx_843_ecustom--TermDepositsPolicyTextBlock_zCsd82EkMtZ5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b)
<i><span id="xdx_86E_zDHFhn46ydM2">Term Deposits</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has four term deposits that are maintained by commercials banks. The first term deposit is for $<span id="xdx_908_eus-gaap--Deposits_iI_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zSe2x1fDTjwh"><ix:nonFraction name="us-gaap:Deposits" contextRef="AsOf2023-12-31_custom_FirstTermMember" id="Fact000656" format="ixt:numdotdecimal" decimals="0" unitRef="USD">680,000</ix:nonFraction></span> and matures in
January 2024. This deposit pays <span id="xdx_907_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zsHT3saNhqS5"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2023-12-31_custom_FirstTermMember" id="Fact000657" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">5.0</ix:nonFraction></span>% interest and if withdrawn before maturity, the greater of the loss of accrued interest or $<span id="xdx_906_ecustom--MinimumInterestPenalty_iI_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zjHN09je00Rf" title="Minimum interest penalty"><ix:nonFraction name="FSI:MinimumInterestPenalty" contextRef="AsOf2023-12-31_custom_FirstTermMember" id="Fact000659" format="ixt:numdotdecimal" decimals="0" unitRef="USD">150</ix:nonFraction></span>,
plus 1% of the principal shall be levied. The second term deposit is for $<span id="xdx_90D_eus-gaap--Deposits_iI_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--SecondTermMember_zw8dA1VVi3be"><ix:nonFraction name="us-gaap:Deposits" contextRef="AsOf2023-12-31_custom_SecondTermMember" id="Fact000660" format="ixt:numdotdecimal" decimals="0" unitRef="USD">300,000</ix:nonFraction> </span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">and
matures in February 2024. Paying <span id="xdx_90F_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--SecondTermMember_zOZjbxGylA84"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2023-12-31_custom_SecondTermMember" id="Fact000661" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">1.3</ix:nonFraction></span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">%
interest, it can be withdrawn by the Company at any point without prior notice or penalty. The third term deposit is for $<span id="xdx_908_eus-gaap--Deposits_iI_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zAMditO0RDwk"><ix:nonFraction name="us-gaap:Deposits" contextRef="AsOf2023-12-31_custom_ThirdTermMember" id="Fact000662" format="ixt:numdotdecimal" decimals="0" unitRef="USD">710,241</ix:nonFraction></span>, </span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">matures
in May 2024 and pays interest at a rate of <span id="xdx_909_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zIh8a47XxHFh"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2023-12-31_custom_ThirdTermMember" id="Fact000663" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">3.00</ix:nonFraction></span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">%.
If withdrawn before maturity, the greater of the loss of accrued interest or $<span id="xdx_90C_ecustom--MinimumInterestPenalty_iI_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zhqDedZewXek" title="Minimum interest penalty"><ix:nonFraction name="FSI:MinimumInterestPenalty" contextRef="AsOf2023-12-31_custom_ThirdTermMember" id="Fact000665" format="ixt:numdotdecimal" decimals="0" unitRef="USD">150</ix:nonFraction></span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">,
plus 1% of the principal shall be levied. The fourth term deposit is for $<span id="xdx_908_eus-gaap--Deposits_iI_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_zW7vltd8pIjd"><ix:nonFraction name="us-gaap:Deposits" contextRef="AsOf2023-12-31_custom_FourthTermMember" id="Fact000666" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,000,000</ix:nonFraction> </span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">and
matures in May 2024. This deposit pays <span id="xdx_900_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_z7AKLJuh7FTd"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2023-12-31_custom_FourthTermMember" id="Fact000667" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">3.85</ix:nonFraction></span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">%
and if withdrawn before maturity, the greater of the loss of accrued interest or $<span id="xdx_909_ecustom--MinimumInterestPenalty_iI_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_zY96Usv2Fnk6" title="Minimum interest penalty"><ix:nonFraction name="FSI:MinimumInterestPenalty" contextRef="AsOf2023-12-31_custom_FourthTermMember" id="Fact000669" format="ixt:numdotdecimal" decimals="0" unitRef="USD">150</ix:nonFraction></span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">,
plus 1% of the principal shall be levied.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000671" name="us-gaap:InventoryPolicyTextBlock"><p id="xdx_848_eus-gaap--InventoryPolicyTextBlock_zCLrxwHbBMq4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(c)
<i><span id="xdx_86C_z9DHC5M2MiOg">Inventories and Cost of Sales</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has three major classes of inventory: completed goods, work in progress and raw materials and supplies. In all classes inventories
are stated at the lower of cost and net realizable value. Cost is determined on a first-in, first-out basis or weighted average cost
formula to inventories in different subsidiaries. Cost of sales includes all expenditures incurred in bringing the goods to the point
of sale. Inventory costs and costs of sales include direct costs of the raw material, inbound freight charges, warehousing costs, handling
costs (receiving and purchasing) and utilities and overhead expenses related to the Company&#8217;s manufacturing and processing facilities.
Shipping and handling charges billed to customers are included in revenue (2023 - $<span id="xdx_90A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_znAL8oN2E4nc" title="Sales"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_us-gaap_ShippingAndHandlingMember" id="Fact000673" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">522,033</ix:nonFraction></span>; 2022 - $<span id="xdx_90A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zPmy4qxQCylf" title="Sales"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_us-gaap_ShippingAndHandlingMember" id="Fact000675" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">433,015</ix:nonFraction></span>). Shipping and handling costs
incurred are included in cost of goods sold (2023 - $<span id="xdx_908_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_z7hmwQD7RIKf" title="Cost of sales"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="From2023-01-012023-12-31_us-gaap_ShippingAndHandlingMember" id="Fact000677" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">944,811</ix:nonFraction></span>; 2022 - $<span id="xdx_903_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_z0eW0G8k0M7f" title="Cost of sales"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="From2022-01-012022-12-31_us-gaap_ShippingAndHandlingMember" id="Fact000679" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">913,890</ix:nonFraction></span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000681" name="us-gaap:PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy"><p id="xdx_849_eus-gaap--PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy_zqCjsIIwzSF7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(d)
<i><span id="xdx_869_z8CdBlCoUtv6">Allowance for Doubtful Accounts</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company provides an allowance for doubtful accounts when management estimates collectability to be uncertain. Accounts receivable are
continually reviewed to determine which, if any, accounts are doubtful of collection. In making the determination of the appropriate
allowance amount, the Company considers current economic and industry conditions, relationships with each significant customer, overall
customer credit-worthiness and historical experience.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000683" name="us-gaap:PropertyPlantAndEquipmentPolicyTextBlock"><p id="xdx_847_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_zlZM99BklGQ8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(e)
<i><span id="xdx_860_zecH1XuJr7Ge">Property, Equipment, Leaseholds and Intangible Assets</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000685" name="FSI:ScheduleOfMethodOfDepreciationTableTextBlock"><p id="xdx_898_ecustom--ScheduleOfMethodOfDepreciationTableTextBlock_zVBeFgK8B2Z7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following assets are recorded at cost and depreciated using the methods and annual rates shown below:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BC_zO3YsMi3z765" style="display: none">SCHEDULE OF METHOD OF DEPRECIATION</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; width: 80%; border-collapse: collapse; margin-right: auto">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Computer
    hardware</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90E_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zT4QBkeYUUek" title="Depreciation method used and annual rate"><ix:nonNumeric contextRef="From2023-01-012023-12-31_us-gaap_ComputerEquipmentMember" id="Fact000687" name="FSI:DepreciationMethodUsedAndAnnualRate">30%
    Declining balance</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Manufacturing
    equipment</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_908_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zPSeyFrBmyN2" title="Depreciation method used and annual rate"><ix:nonNumeric contextRef="From2023-01-012023-12-31_us-gaap_MachineryAndEquipmentMember" id="Fact000689" name="FSI:DepreciationMethodUsedAndAnnualRate">20%
    Declining balance</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Office
    equipment</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_znJ8hnljVGKk" title="Depreciation method used and annual rate"><ix:nonNumeric contextRef="From2023-01-012023-12-31_us-gaap_OfficeEquipmentMember" id="Fact000691" name="FSI:DepreciationMethodUsedAndAnnualRate">20%
    Declining balance</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Boat</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_909_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--BoatMember_zdvHZ2ZdFeU8" title="Depreciation method used and annual rate"><ix:nonNumeric contextRef="From2023-01-012023-12-31_custom_BoatMember" id="Fact000693" name="FSI:DepreciationMethodUsedAndAnnualRate">20%
    Declining balance</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Building
    and improvements</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90D_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zuGTqJXw06dj" title="Depreciation method used and annual rate"><ix:nonNumeric contextRef="From2023-01-012023-12-31_us-gaap_BuildingAndBuildingImprovementsMember" id="Fact000695" name="FSI:DepreciationMethodUsedAndAnnualRate">10%
    Declining balance</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Trailer</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_907_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TrailerMember_z5c6SDFzPmLa" title="Depreciation method used and annual rate"><ix:nonNumeric contextRef="From2023-01-012023-12-31_custom_TrailerMember" id="Fact000697" name="FSI:DepreciationMethodUsedAndAnnualRate">30%
    Declining balance</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Automobiles</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_908_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zSE2lmNOLeIl" title="Depreciation method used and annual rate"><ix:nonNumeric contextRef="From2023-01-012023-12-31_us-gaap_AutomobilesMember" id="Fact000699" name="FSI:DepreciationMethodUsedAndAnnualRate">Straight-line
    over 5 years</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Patents</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_903_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PatentsMember_zKDlSd0Upm52" title="Depreciation method used and annual rate"><ix:nonNumeric contextRef="From2023-01-012023-12-31_us-gaap_PatentsMember" id="Fact000701" name="FSI:DepreciationMethodUsedAndAnnualRate">Straight-line
    over 17 years</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Technology</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--TechnologyEquipmentMember_zHfl3DWLmuy" title="Depreciation method used and annual rate"><ix:nonNumeric contextRef="From2023-01-012023-12-31_us-gaap_TechnologyEquipmentMember" id="Fact000703" name="FSI:DepreciationMethodUsedAndAnnualRate">Straight-line
    over 10 years</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Leasehold
    improvements</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_909_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zHQnps9u9KM9" title="Depreciation method used and annual rate"><ix:nonNumeric contextRef="From2023-01-012023-12-31_us-gaap_LeaseholdImprovementsMember" id="Fact000705" name="FSI:DepreciationMethodUsedAndAnnualRate">Straight-line
    over lease term</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Customer
    relationships </span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90F_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--CustomerRelationshipsMember_zYGvPmg3ddp5" title="Depreciation method used and annual rate"><ix:nonNumeric contextRef="From2023-01-012023-12-31_us-gaap_CustomerRelationshipsMember" id="Fact000707" name="FSI:DepreciationMethodUsedAndAnnualRate">Straight-line
    over 15 years</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Software
    </span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--SoftwareMember_zd7AbxOppGi" title="Depreciation method used and annual rate"><ix:nonNumeric contextRef="From2023-01-012023-12-31_custom_SoftwareMember" id="Fact000709" name="FSI:DepreciationMethodUsedAndAnnualRate">Straight-line
    over 3 years</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  </table>
</ix:nonNumeric><p id="xdx_8A4_zwM1WFHdVfRa" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 24; Value: 1 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->8<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000711" name="us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock"><p id="xdx_847_eus-gaap--ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_zAFq2kLTAmqi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(f)
<i><span id="xdx_86F_zxFsW29OLV45">Impairment of Long-Lived Assets</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
accordance with FASB Codification Topic 360, <i>Property, Plant and Equipment</i> (ASC 360), the Company reviews long-lived assets, including,
but not limited to, property, equipment and leaseholds, patents and other assets, for impairment annually or whenever events or changes
in circumstances indicate the carrying amounts of assets may not be recoverable. The carrying value of long-lived assets is assessed
for impairment by evaluating operating performance and future undiscounted cash flows of the underlying assets. If the expected future
cash flows of an asset is less than its carrying value, an impairment measurement is indicated. Impairment charges are recorded to the
extent that an asset&#8217;s carrying value exceeds its fair value. Accordingly, actual results could vary significantly from such estimates.
There were no impairment charges during the periods presented.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000713" name="us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock"><p id="xdx_844_eus-gaap--ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_zdi7ZFTuLfa7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(g)
<i><span id="xdx_869_zKWkhnFukui8">Foreign Currency</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
functional currency of the Company is the U.S. dollar. The functional currency of three of the Company&#8217;s subsidiaries is the Canadian
dollar. The translation of the Canadian dollar to the reporting currency of the Company, the U.S. dollar, is performed for assets and
liabilities using exchange rates in effect at the balance sheet date. Revenue and expense transactions are translated using average exchange
rates prevailing during the year. Translation adjustments arising on conversion of the Company&#8217;s financial statements from the
subsidiary&#8217;s functional currency, Canadian dollars, into the reporting currency, U.S. dollars, are excluded from the determination
of income (loss) and are disclosed as other comprehensive income in the consolidated statements of income and comprehensive income.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Foreign
exchange gains and losses relating to transactions not denominated in the applicable local currency are included in operating income
(loss) if realized during the year and in comprehensive income (loss) if they remain unrealized at the end of the year.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000715" name="us-gaap:RevenueFromContractWithCustomerPolicyTextBlock"><p id="xdx_846_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zC1Fmv7ppdVa" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(h)
<i><span id="xdx_865_zZalEwPd8mOa">Revenue Recognition</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company generates revenue primarily from energy and water conservation products and biodegradable polymers, as further discussed in Note
18.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company follows a five-step model for revenue recognition. The five steps are: (1) identification of the contract(s) with the customer,
(2) identification of the performance obligation(s) in the contract(s), (3) determination of the transaction price, (4) allocation of
the transaction price to the performance obligation, and (5) recognition of revenue when (or as) the performance obligation is satisfied.
The Company has fulfilled its performance obligations when control transfers to the customer, which is generally at the time the product
is shipped since risk of loss is transferred to the purchaser upon delivery to the carrier. For shipments which are free-on-board shipping
point, the Company has elected to account for shipping and handling activities as a fulfillment cost rather than as an additional promised
service and performance obligation.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Since
the Company&#8217;s inception, product returns have been insignificant; therefore, no provision has been established for estimated product
returns.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred
revenues consist of products sold to distributors with payment terms greater than the Company&#8217;s customary business terms due to
lack of credit history or operating in a new market in which the Company has no prior experience. The Company defers the recognition
of revenue until the criteria for revenue recognition has been met and payments become due or cash is received from these distributors.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000717" name="FSI:StockIssuedInExchangeForServicesPolicyTextBlock"><p id="xdx_846_ecustom--StockIssuedInExchangeForServicesPolicyTextBlock_zQ1sqqodYo3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(i)
<i><span id="xdx_866_ziyo4EIkGBdb">Stock Issued in Exchange for Services</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s common stock issued in exchange for services is valued at estimated fair market value based upon trading prices of the
Company&#8217;s common stock on the dates of the stock transactions. The corresponding expense of the services rendered is recognized
over the period that the services are performed.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 25; Value: 1 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->9<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000719" name="us-gaap:CompensationRelatedCostsPolicyTextBlock"><p id="xdx_84F_eus-gaap--CompensationRelatedCostsPolicyTextBlock_zm3fhx8wLSMj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(j)
<i><span id="xdx_867_zQihUHSxtFka">Stock-based Compensation</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company recognizes compensation expense for all share-based payments in accordance with FASB Codification Topic 718, <i>Compensation
&#8212; Stock Compensation</i> (ASC 718). Under the fair value recognition provisions of ASC 718, the Company recognizes share-based
compensation expense, net of an estimated forfeiture rate, over the requisite service period of the award.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair value at grant date of stock options is estimated using the Black-Scholes option-pricing model. Compensation expense is recognized
on a straight-line basis over the stock option vesting period based on the estimated number of stock options that are expected to vest.
Shares are issued from treasury upon exercise of stock options.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000721" name="us-gaap:ComprehensiveIncomePolicyPolicyTextBlock"><p id="xdx_84E_eus-gaap--ComprehensiveIncomePolicyPolicyTextBlock_zhETH9DCsXRb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(k)
<i><span id="xdx_864_zZiKZIJERqIl">Other Comprehensive Income</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
comprehensive income refers to revenues, expenses, gains and losses that under generally accepted accounting principles are included
in comprehensive income, but are excluded from net income as these amounts are recorded directly as an adjustment to stockholders&#8217;
equity. The Company&#8217;s other comprehensive income is comprised only of unrealized foreign exchange gains and losses related to the
translation of subsidiaries&#8217; functional currency into the reporting currency.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000723" name="us-gaap:EarningsPerSharePolicyTextBlock"><p id="xdx_84F_eus-gaap--EarningsPerSharePolicyTextBlock_z31pOn9hOJoc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(l)
<i><span id="xdx_861_zZcstvs2lSf2">Income Per Share</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Basic
earnings per share is computed by dividing income available to common stockholders by the weighted average number of common shares outstanding
in the period. Diluted earnings per share are calculated giving effect to the potential dilution of the exercise of options and warrants.
Common equivalent shares, composed of incremental common shares issuable upon the exercise of stock options and warrants are included
in diluted net income per share to the extent that these shares are dilutive. Common equivalent shares that have an anti-dilutive effect
on net income (loss) per share have been excluded from the calculation of diluted weighted average shares outstanding for the years ended
December 31, 2023 and 2022.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000725" name="us-gaap:UseOfEstimates"><p id="xdx_844_eus-gaap--UseOfEstimates_zPrJV4zzeON3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(m)
<i><span id="xdx_86D_zMAJ53TEfp74">Use of Estimates</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States requires
management to make estimates and assumptions that affect the reported amounts of 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 and would impact the results of operations and cash flows.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 35.45pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Estimates
and underlying assumptions are reviewed at each period end. Revisions to accounting estimates are recognized in the period in which the
estimates are revised and in any future periods affected.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Significant
areas requiring the use of management estimates include assumptions and estimates relating to the valuation of goodwill and
intangible assets, valuation of assets acquired at fair value, asset impairment analysis, share-based payments, valuation allowances
for deferred income tax assets, determination of useful lives of property, equipment and leaseholds and intangible assets,
recoverability of accounts receivable, recoverability of investments, discount rates for right of use assets and the costing and
recoverable value of inventory.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000727" name="us-gaap:FairValueOfFinancialInstrumentsPolicy"><p id="xdx_84F_eus-gaap--FairValueOfFinancialInstrumentsPolicy_zCKbiw9W3gUe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(n)
<i><span id="xdx_861_z3FaxIoLpJvb">Fair Value of Financial Instruments</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Fair
value is defined as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal
or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date.
Valuation techniques used to measure fair value must maximize the use of observable inputs and minimize the use of unobservable inputs.
The standard describes a fair value hierarchy based on three levels of inputs described below, of which the first two are considered
observable and the last unobservable, that may be used to measure fair value.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 26; Value: 1 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->10<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
    1 &#8211; Quoted prices in active markets for identical assets or liabilities.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
    2 &#8211; Inputs other than Level 1 that are observable, either directly or indirectly, such as quoted prices for similar assets
    or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable
    market data for substantially the full term of the assets or liabilities.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
    3 &#8212; Unobservable inputs that are supported by little or no market activity which is significant to the fair value of the assets
    or liabilities.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair values of cash, term deposits, accounts receivable, accounts payable, accrued liabilities and the short term line of credit for
all periods presented approximate their respective carrying amounts due to the short term nature of these financial instruments.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair value of the long term debt and lease liabilities for all periods presented approximate their respective carrying amounts due to
these financial instruments being at market rates.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000729" name="us-gaap:CommitmentsAndContingenciesPolicyTextBlock"><p id="xdx_84B_eus-gaap--CommitmentsAndContingenciesPolicyTextBlock_zO1q5Qas9Ohg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(o)
<i><span id="xdx_86B_z0o73eY1OQPa">Contingencies</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certain
conditions may exist as of the date the consolidated financial statements are issued which may result in a loss to the Company but which
will only be resolved when one or more future events occur or fail to occur. The Company&#8217;s management and its legal counsel assess
such contingent liabilities, and such assessment inherently involves an exercise of judgment. In assessing loss contingencies related
to legal proceedings that are pending against the Company or unasserted claims that may result in such proceedings, the Company&#8217;s
legal counsel evaluates the perceived merits of any legal proceedings or unasserted claims as well as the perceived merits of the amount
of relief sought or expected to be sought therein.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">If
the assessment of a contingency indicates that it is probable that a material loss has been incurred and the amount of the liability
can be estimated, the estimated liability would be accrued in the Company&#8217;s consolidated financial statements. If the assessment
indicates that a potential material loss contingency is not probable, but is reasonably possible, or is probable but cannot be estimated,
then the nature of the contingent liability, together with an estimate of the range of possible loss if determinable and material, would
be disclosed.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Loss
contingencies considered remote are generally not disclosed unless they involve guarantees, in which case the guarantees would be disclosed.
Legal fees associated with loss contingencies are expensed as incurred. The Company is not aware of any contingencies at the date of
these consolidated financial statements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000731" name="us-gaap:IncomeTaxPolicyTextBlock"><p id="xdx_848_eus-gaap--IncomeTaxPolicyTextBlock_zCfPWNbC3537" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(p)
<i><span id="xdx_868_zRKWgeTB6uqa">Income Taxes</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Income
taxes are computed by multiplying the Company&#8217;s taxable net income by the Company&#8217;s effective tax rates. Deferred income
tax assets and liabilities are recognized for the future tax consequences attributable to differences between the consolidated financial
statement carrying amounts of existing assets and liabilities and their respective tax bases, and operating loss carry-forwards, if any.
Deferred income tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which
those temporary differences are expected to be recovered or settled. The effect on deferred income tax assets and liabilities of a change
in tax rates is recognized in income in the period that includes the enactment date. A valuation allowance is provided to reduce the
carrying amount of deferred income tax assets if it is considered more likely than not that some portion, or all, of the deferred income
tax assets will not be realized.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
accordance with FASB Codification Topic 740, <i>Income taxes</i> (ASC 740) under the liability method, it is the Company&#8217;s policy
to provide for uncertain tax positions and the related interest and penalties based upon management&#8217;s assessment of whether a tax
benefit is more likely than not to be sustained upon examination by tax authorities. At December 31, 2023, the Company believes it has
appropriately accounted for any unrecognized tax benefits. To the extent the Company prevails in matters for which a liability for an
unrecognized benefit is established or is required to pay amounts in excess of the liability, the Company&#8217;s effective tax rate
in a given financial statement period may be affected. Interest and penalties associated with the Company&#8217;s tax positions are recorded
as interest expense in the consolidated statements of income and comprehensive income.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 27; Options: NewSection; Value: 11 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->11<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000733" name="us-gaap:ConcentrationRiskCreditRisk"><p id="xdx_849_eus-gaap--ConcentrationRiskCreditRisk_zyN75VQ7gh4g" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(q)
<i><span id="xdx_867_zLc9Btx4n2I1">Risk Management</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s credit risk is primarily attributable to its accounts receivable. The amounts presented in the accompanying consolidated
balance sheets are net of allowances for doubtful accounts, estimated by the Company&#8217;s management based on prior experience and
the current economic environment. The Company is exposed to credit-related losses in the event of non-payment by customers. Credit exposure
is minimized by dealing with only credit worthy counterparties.. Revenue for the Company&#8217;s three primary customers totaled $<span id="xdx_908_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zlK2hjD0gND1" title="Sales"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember" id="Fact000735" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">20,482,798</ix:nonFraction></span>
(<span id="xdx_903_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zaaB9xAxdoF8" title="Accounts receivable, after allowance for credit loss"><ix:nonFraction name="FSI:ConcentrationRiskThresholdPercentage" contextRef="From2023-01-012023-12-31_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember" id="Fact000737" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">53</ix:nonFraction></span>%) for the year ended December 31, 2023 (2022 - $<span id="xdx_90C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zf9GtvZnSwgj" title="Sales"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember" id="Fact000739" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">27,775,616</ix:nonFraction></span> or <span id="xdx_903_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_z7vFR6y5thx3" title="Accounts receivable, after allowance for credit loss"><ix:nonFraction name="FSI:ConcentrationRiskThresholdPercentage" contextRef="From2022-01-012022-12-31_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember" id="Fact000741" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">61</ix:nonFraction></span>%). Accounts receivable for the Company&#8217;s three primary customers
totaled $<span id="xdx_903_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_z7xqzWiIU5j6" title="Sale"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember" id="Fact000743" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">6,561,164</ix:nonFraction></span> (<span id="xdx_90E_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zz5uZIR3fuG2" title="Accounts receivable, after allowance for credit loss, percentage"><ix:nonFraction name="FSI:ConcentrationRiskThresholdPercentage" contextRef="From2023-01-012023-12-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember" id="Fact000745" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">67</ix:nonFraction></span>%) at December 31, 2023 (2022 - $<span id="xdx_902_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zOqkKntT3LYd" title="Sale"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember" id="Fact000747" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">6,124,424</ix:nonFraction></span> or <span id="xdx_90B_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_znlM6IW2Ryxa" title="Accounts receivable, after allowance for credit loss, percentage"><ix:nonFraction name="FSI:ConcentrationRiskThresholdPercentage" contextRef="From2022-01-012022-12-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember" id="Fact000749" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">65</ix:nonFraction></span>%).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
credit risk on cash is limited because the Company limits its exposure to credit loss by placing its cash with major financial institutions.
The Company maintains cash balances at financial institutions which at times exceed federally insured amounts. The Company has not experienced
any losses in such accounts.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company is exposed to foreign risk to the extent that market value rate fluctuations materially differ for financial assets and liabilities
denominated in foreign currencies.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
order to manage its exposure to foreign exchange risks, the Company is closely monitoring the fluctuations in the foreign currency exchange
rates and the impact on the value of cash, accounts receivable, and accounts payable and accrued liabilities. The Company has not hedged
its exposure to currency fluctuations.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company is exposed to interest rate risk to the extent that the fair value or future cash flows for financial liabilities will
fluctuate as a result of changes in market interest rates. The Company is exposed to interest rate risk on its long-term debt
subject to fixed long-term interest rates.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 24.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
order to manage its exposure to interest rate risk, the Company is closely monitoring fluctuations in market interest risks and will
refinance its long-term debt where possible to obtain more favourable rates.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000751" name="us-gaap:EquityMethodInvestmentsPolicy"><p id="xdx_845_eus-gaap--EquityMethodInvestmentsPolicy_zF3GEOqdAXw2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(r)
<i><span id="xdx_868_zpkYaWkuSg2f">Equity Method Investment</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company accounts for investments using the equity method of accounting if the investment provides the Company the ability to exercise
significant influence, but not control, over the investee. <span id="xdx_903_eus-gaap--EquityMethodInvestmentDescriptionOfPrincipalActivities_c20230101__20231231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--InvestmentMember_z8BhVWPbtCde" title="Equity method investment, description"><ix:nonNumeric contextRef="From2023-01-012023-12-31_custom_InvestmentMember" id="Fact000753" name="us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities">Significant influence is generally deemed to exist if the Company&#8217;s
ownership interest in the voting stock of the investee ranges between 20% and 50%, although other factors, such as representation on
the investee&#8217;s board of directors, are considered in determining whether the equity method of accounting is appropriate.</ix:nonNumeric></span> Under
the equity method of accounting, the investment is initially recorded at cost in the consolidated balance sheets under other assets and
adjusted for dividends received and the Company&#8217;s share of the investee&#8217;s earnings or losses together with other-than-temporary
impairments which are recorded through other income (loss), net in the consolidated statements of operations and comprehensive income
(loss).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 24.5pt; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000755" name="us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock"><p id="xdx_846_eus-gaap--GoodwillAndIntangibleAssetsPolicyTextBlock_zxVd74izAea8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(s)
<i><span id="xdx_864_zheBWOjblqZ5">Goodwill and Intangible Assets</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Goodwill
represents the excess of the purchase price of an acquired entity over the amounts assigned to the assets acquired and liabilities assumed.
Goodwill is not amortized, but is reviewed for impairment annually or more frequently if certain impairment conditions arise. The Company
performs an annual goodwill impairment review in the fourth quarter of each year at the reporting unit level. The evaluation begins with
a qualitative assessment of the factors that could impact the significant inputs used to estimate fair value. If after performing the
qualitative assessment, it is determined that it is more likely than not that the fair value of a reporting unit is greater than its
carrying amount, including goodwill, then no further analysis is necessary. However, if the results of the qualitative test are unclear,
the Company performs a quantitative test, which involves comparing the fair value of a reporting unit with its carrying amount, including
goodwill. The Company uses an income-based valuation method, determining the present value of future cash flows, to estimate the fair
value of a reporting unit. If the fair value of a reporting unit exceeds its carrying amount, goodwill of the reporting unit is considered
not impaired, and no further analysis is necessary. If the fair value of the reporting unit is less than its carrying amount, goodwill
impairment would be recognized equal to the amount of the carrying value in excess of the reporting unit&#8217;s fair value, limited
to the total amount of goodwill allocated to the reporting unit.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 28; Value: 11 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->12<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Intangible
assets primarily include trademarks and trade secrets with indefinite lives and customer-relationships with finite lives. Intangible
assets with indefinite lives are not amortized but are tested for impairment on an annual basis, or more frequently if indicators of
impairment are present. Indefinite lived intangible assets are assessed using either a qualitative or a quantitative approach. The qualitative
assessment evaluates factors including macro-economic conditions, industry and company-specific factors, legal and regulatory environments,
and historical company performance in assessing fair value. If it is determined that it is more likely than not that the fair value of
the intangible asset is less than its carrying value, a quantitative test is then performed. Otherwise, no further testing is required.
When using a quantitative approach, the Company compares the fair value of the intangible asset to its carrying amount. If the estimated
fair value of the intangible asset is less than the carrying amount of the intangible asset, impairment is indicated, requiring recognition
of an impairment charge for the differential.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
accordance with FASB Codification Topic 350, <i>Intangibles &#8211; Goodwill and Other, </i>(ASC 350), qualitative assessments of goodwill
and indefinite-lived intangible assets were performed in 2023 and 2022. Based on the results of the assessment, it was determined that
it is more likely than not the reporting unit, customer lists and trademarks had a fair value in excess of their carrying amounts. Accordingly,
no further impairment testing was completed and no impairment charges related to goodwill or indefinite-lived intangibles were recognized
during the year ended December 31, 2023.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Finite-lived
intangible assets are amortized on a straight-line basis over their estimated useful lives. The Company reviews for impairment indicators
of finite-lived intangibles and other long-lived assets as described in the &#8220;Impairment of Long Lived Assets&#8221; significant
accounting policy.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000757" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock"><p id="xdx_841_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zjgFaftywJb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(t)
<i><span id="xdx_86E_z74U7GcOXlAh">Recent Accounting Pronouncements</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 45.8pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has implemented all applicable new accounting pronouncements that are in effect. Those pronouncements did not have any material
impact on the consolidated financial statements unless otherwise disclosed, and the Company does not believe that there are any other
new accounting pronouncements that have been issued that might have a material impact on its financial position or results of operations.</span></p>
<p id="xdx_8A7_zs0ibXpQSo6d" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric></ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000759" name="us-gaap:LesseeOperatingLeasesTextBlock"><p id="xdx_80C_eus-gaap--LesseeOperatingLeasesTextBlock_z3jJ5sv6cFng" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>3.
<span id="xdx_824_zQD4Op3JIysd">LEASES</span> </b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Leases are evaluated and classified as either operating or finance leases by the lessee
and as either operating, sales-type or direct financing leases by the lessor. For leases with terms greater than 12 months, the Company
records the related right-of-use (&#8220;ROU&#8221;) asset and lease obligation at the present value of lease payments over the term.
Leases may include fixed rental escalation clauses, renewal options and / or termination options that are factored into the determination
of lease payments when appropriate. The Company&#8217;s operating leases are included in ROU assets, lease liabilities-current portion
and lease liability-long term portion in the accompanying consolidated balance sheets. ROU assets represent the Company&#8217;s right
to use an underlying asset for the lease term, and lease liabilities represent the obligation to make lease payments arising from the
lease. The Company&#8217;s leases do not usually provide a readily determinable implicit rate; therefore, an estimate of the Company&#8217;s
incremental borrowing rate is used to discount the lease payments based on information available at the lease commencement date. The
discount rate used was <span id="xdx_90B_eus-gaap--LesseeOperatingLeaseDiscountRate_iI_pid_dp_uPure_c20231231_ztfORmhnUiL3" title="Operating leases discount rate"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseDiscountRate" contextRef="AsOf2023-12-31" id="Fact000761" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">5.5</ix:nonFraction></span>%.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 29; Value: 11 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->13<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000763" name="FSI:SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock"><p id="xdx_894_ecustom--SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock_zlDgH1niMHmk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
table below summarizes the right-of-use asset and lease liability for the years ended December 31, 2023 and 2022:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B5_z1e7VYU7fgl7" style="display: none">SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; font-weight: bold"><span style="text-decoration: underline">Right of Use Assets</span></td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 80%">Balance at December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_989_eus-gaap--OperatingLeaseRightOfUseAsset_iS_pp0p0_c20220101__20221231_zNsx1BRW0I57" title="Right of use assets, beginning balance" style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2021-12-31" id="Fact000765" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">217,267</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Depreciation</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_pp0p0_di_c20220101__20221231_z7WLA8WA7E7l" title="Depreciation" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense" contextRef="From2022-01-012022-12-31" id="Fact000767" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">50,045</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance at December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_984_eus-gaap--OperatingLeaseRightOfUseAsset_iS_pp0p0_c20230101__20231231_zHelnaFwUW93" title="Right of use assets, beginning balance" style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2022-12-31" id="Fact000769" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">167,222</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Depreciation</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_pp0p0_di_c20230101__20231231_zQa8fE2Ku7sd" title="Depreciation" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense" contextRef="From2023-01-01to2023-12-31" id="Fact000771" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">51,929</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Balance at December 31, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_986_eus-gaap--OperatingLeaseRightOfUseAsset_iE_pp0p0_c20230101__20231231_zzt6WcVX8F76" title="Right of use assets, ending balance" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2023-12-31" id="Fact000773" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">115,293</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-decoration: underline; font-weight: bold; text-align: left">Lease Liability</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance at December 31, 2021</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_983_eus-gaap--OperatingLeaseLiability_iS_pp0p0_c20220101__20221231_zYSwCQcucFLb" title="Lease liability, beginning balance" style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiability" contextRef="AsOf2021-12-31" id="Fact000775" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">217,267</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Lease interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_ecustom--LeaseInterestExpense_pp0p0_c20220101__20221231_zLy6RJyl8xB4" title="Lease interest expense" style="text-align: right"><ix:nonFraction name="FSI:LeaseInterestExpense" contextRef="From2022-01-012022-12-31" id="Fact000777" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">8,566</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Payments</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--OperatingLeasePayments_iN_pp0p0_di_c20220101__20221231_zVqMTVjOuqnd" title="Payments" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:OperatingLeasePayments" contextRef="From2022-01-012022-12-31" id="Fact000779" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">58,611</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance at December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98B_eus-gaap--OperatingLeaseLiability_iS_pp0p0_c20230101__20231231_zu0sQpN316U" title="Lease liability, beginning balance" style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiability" contextRef="AsOf2022-12-31" id="Fact000781" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">167,222</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Lease interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_ecustom--LeaseInterestExpense_pp0p0_c20230101__20231231_z93S0vJ2v7Zj" title="Lease interest expense" style="text-align: right"><ix:nonFraction name="FSI:LeaseInterestExpense" contextRef="From2023-01-01to2023-12-31" id="Fact000783" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">6,151</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Payments</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--OperatingLeasePayments_iN_pp0p0_di_c20230101__20231231_zv7Dm90bR8V3" title="Payments" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:OperatingLeasePayments" contextRef="From2023-01-01to2023-12-31" id="Fact000785" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">58,080</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Balance at December 31, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_986_eus-gaap--OperatingLeaseLiability_iE_pp0p0_c20230101__20231231_zHPlPGsShB65" title="Lease liability, ending balance" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiability" contextRef="AsOf2023-12-31" id="Fact000787" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">115,293</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Short-term portion</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98A_eus-gaap--OperatingLeaseLiabilityCurrent_iI_pp0p0_c20231231_zRQtKNsaMov6" title="Short-term portion" style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="AsOf2023-12-31" id="Fact000789" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">59,520</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Long-term portion</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--OperatingLeaseLiabilityNoncurrent_iI_pp0p0_c20231231_zdme93HyaJ84" title="Long-term portion" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2023-12-31" id="Fact000791" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">55,773</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Total</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98A_eus-gaap--OperatingLeaseLiability_iI_pp0p0_c20231231_z8sC2hOboJ07" title="Total" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiability" contextRef="AsOf2023-12-31" id="Fact000793" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">115,293</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8AE_zMqIpQ2YXPe5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000795" name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock"><p id="xdx_892_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_z2oVxzquEZBj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Undiscounted
rent payments are as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B9_zv1hO7Ulz2bb" style="display: none">SCHEDULE OF UNDISCOUNTED RENT PAYMENTS</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 75%; margin-right: auto">
  <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_498_20231231_zLio0l23jKGi" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_pp0p0_maLOLLPz6zC_zAcfWEiDP473" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: justify">2024</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" contextRef="AsOf2023-12-31" id="Fact000797" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">59,520</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_pp0p0_maLOLLPz6zC_zPlrlgVdc0u8" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 1.5pt">2025</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" contextRef="AsOf2023-12-31" id="Fact000799" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">61,020</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPz6zC_zlvazT3P1Loc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Total</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" contextRef="AsOf2023-12-31" id="Fact000801" format="ixt:numdotdecimal" decimals="0" unitRef="USD">120,540</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_pp0p0_di_zwOAAYUX3pUl" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 1.5pt">Impact of discounting</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" contextRef="AsOf2023-12-31" id="Fact000803" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">5,247</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40F_eus-gaap--OperatingLeaseLiability_iI_zqhSKh8a5YC5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 1.5pt">Lease liability, December 31, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiability" contextRef="AsOf2023-12-31" id="Fact000805" format="ixt:numdotdecimal" decimals="0" unitRef="USD">115,293</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A6_zV1YMRHuwpWj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000807" name="us-gaap:FinancingReceivablesTextBlock"><p id="xdx_808_eus-gaap--FinancingReceivablesTextBlock_ztfeTis1iC95" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>4.
<span id="xdx_820_zYdfMNN55X82">ACCOUNTS RECEIVABLE</span> </b></span></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000809" name="us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock"><p id="xdx_893_eus-gaap--AccountsReceivableAllowanceForCreditLossTableTextBlock_zeAoTYhZWHs6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BA_zE5q8ZcBERn7" style="display: none">SCHEDULE OF ACCOUNTS RECEIVABLE</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_496_20231231_zm8DqbHSwNtf" style="border-bottom: Black 1.5pt solid; text-align: center">2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20221231_z2OKoYFK4vS7" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--AccountsReceivableGross_iI_pp0p0_maAANRNzPjC_ze81jG1vekNi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Accounts receivable</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:AccountsReceivableGross" contextRef="AsOf2023-12-31" id="Fact000811" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">10,133,249</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:AccountsReceivableGross" contextRef="AsOf2022-12-31" id="Fact000812" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">9,739,150</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables_iNI_pp0p0_di_msAANRNzPjC_zWuEiPqbMp07" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Allowances for doubtful accounts</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" contextRef="AsOf2023-12-31" id="Fact000814" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">290,193</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" contextRef="AsOf2022-12-31" id="Fact000815" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">289,293</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40E_eus-gaap--AccountsAndNotesReceivableNet_iTI_pp0p0_mtAANRNzPjC_z2J93cSIDGqe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Total accounts receivable</span></td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:AccountsAndNotesReceivableNet" contextRef="AsOf2023-12-31" id="Fact000817" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">9,843,056</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:AccountsAndNotesReceivableNet" contextRef="AsOf2022-12-31" id="Fact000818" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">9,449,857</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A7_zTFBGeE6BI3g" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000820" name="us-gaap:InventoryDisclosureTextBlock"><p id="xdx_80A_eus-gaap--InventoryDisclosureTextBlock_zKk8IaFQLoNb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>5.
<span id="xdx_824_zJfcTqboohe2">INVENTORIES</span> </b></span></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000822" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock"><p id="xdx_897_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_z9syRiM4Zja5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BF_zfBGRXop59Yg" style="display: none">SCHEDULE OF INVENTORY</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_491_20231231_zziPqIdoKx5c" style="border-bottom: Black 1.5pt solid; text-align: center">2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20221231_z7zDmvqnbiQ4" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--InventoryFinishedGoods_iI_pp0p0_maINzDiN_maINzkLt_z7H9Pt2S84xj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Completed goods</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:InventoryFinishedGoods" contextRef="AsOf2023-12-31" id="Fact000824" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,682,158</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:InventoryFinishedGoods" contextRef="AsOf2022-12-31" id="Fact000825" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,806,646</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--InventoryRawMaterialsAndSupplies_iI_pp0p0_maINzDiN_maINzkLt_z7xQSxrI1nS7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Raw materials and supplies</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:InventoryRawMaterialsAndSupplies" contextRef="AsOf2023-12-31" id="Fact000827" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">8,452,731</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:InventoryRawMaterialsAndSupplies" contextRef="AsOf2022-12-31" id="Fact000828" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">10,612,784</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--InventoryNet_iTI_pp0p0_mtINzkLt_zhbuBTa1ahV6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Total inventory</span></td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="AsOf2023-12-31" id="Fact000830" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">11,134,889</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="AsOf2022-12-31" id="Fact000831" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">14,419,430</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A5_zte0HeXCx9vi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000833" name="us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock"><p id="xdx_807_eus-gaap--PropertyPlantAndEquipmentDisclosureTextBlock_zOKTWRL5bCZk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>6.
<span id="xdx_823_zrvniyHDjiY9">PROPERTY, EQUIPMENT AND LEASEHOLDS</span> </b></span></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000835" name="us-gaap:PropertyPlantAndEquipmentTextBlock"><p id="xdx_892_eus-gaap--PropertyPlantAndEquipmentTextBlock_z9hfDjJ2Smgi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B2_zMp9yJ2oGn3a" style="display: none">SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_484_eus-gaap--PropertyPlantAndEquipmentGross_iI_zJzU5HXXAFA2" style="text-align: center">2023</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_zAEMZ1XPhTWc" style="text-align: center">Accumulated</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zKd45XXpbAPj" style="text-align: center">2023</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Cost</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Depreciation</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Net</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_418_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zW9JorMp6n4f" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: left">Buildings and improvements</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-12-31_us-gaap_BuildingAndBuildingImprovementsMember" id="Fact000836" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,341,605</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-12-31_us-gaap_BuildingAndBuildingImprovementsMember" id="Fact000837" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,896,887</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31_us-gaap_BuildingAndBuildingImprovementsMember" id="Fact000838" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,444,718</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_41A_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zokN7X2dvUW1" style="vertical-align: bottom; background-color: White">
    <td>Automobiles</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-12-31_us-gaap_AutomobilesMember" id="Fact000839" format="ixt:numdotdecimal" decimals="0" unitRef="USD">196,255</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-12-31_us-gaap_AutomobilesMember" id="Fact000840" format="ixt:numdotdecimal" decimals="0" unitRef="USD">140,040</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31_us-gaap_AutomobilesMember" id="Fact000841" format="ixt:numdotdecimal" decimals="0" unitRef="USD">56,215</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41D_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zGl4vhunxxv7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Computer hardware</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-12-31_us-gaap_ComputerEquipmentMember" id="Fact000842" format="ixt:numdotdecimal" decimals="0" unitRef="USD">43,493</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-12-31_us-gaap_ComputerEquipmentMember" id="Fact000843" format="ixt:numdotdecimal" decimals="0" unitRef="USD">43,123</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31_us-gaap_ComputerEquipmentMember" id="Fact000844" format="ixt:numdotdecimal" decimals="0" unitRef="USD">370</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zUOhTK1XZmi1" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Office equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-12-31_us-gaap_OfficeEquipmentMember" id="Fact000845" format="ixt:numdotdecimal" decimals="0" unitRef="USD">134,130</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-12-31_us-gaap_OfficeEquipmentMember" id="Fact000846" format="ixt:numdotdecimal" decimals="0" unitRef="USD">121,925</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31_us-gaap_OfficeEquipmentMember" id="Fact000847" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,205</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_410_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zApVGlQWcTJc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Manufacturing equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-12-31_us-gaap_MachineryAndEquipmentMember" id="Fact000848" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,008,395</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-12-31_us-gaap_MachineryAndEquipmentMember" id="Fact000849" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,791,615</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31_us-gaap_MachineryAndEquipmentMember" id="Fact000850" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,216,780</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41A_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TrailerMember_zVq6firyuwJ1" style="vertical-align: bottom; background-color: White">
    <td>Trailers</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-12-31_custom_TrailerMember" id="Fact000851" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,071</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-12-31_custom_TrailerMember" id="Fact000852" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,164</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31_custom_TrailerMember" id="Fact000853" format="ixt:numdotdecimal" decimals="0" unitRef="USD">907</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zh6X0yeHvRl8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Land</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-12-31_us-gaap_LandMember" id="Fact000854" format="ixt:numdotdecimal" decimals="0" unitRef="USD">440,592</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0855">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31_us-gaap_LandMember" id="Fact000856" format="ixt:numdotdecimal" decimals="0" unitRef="USD">440,592</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41D_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zBnZ4mM9nZSe" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Leasehold improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-12-31_us-gaap_LeaseholdImprovementsMember" id="Fact000857" format="ixt:numdotdecimal" decimals="0" unitRef="USD">88,872</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-12-31_us-gaap_LeaseholdImprovementsMember" id="Fact000858" format="ixt:numdotdecimal" decimals="0" unitRef="USD">88,872</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0859">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_zl6ntHHjz9R2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Technology</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-12-31_us-gaap_DevelopedTechnologyRightsMember" id="Fact000860" format="ixt:numdotdecimal" decimals="0" unitRef="USD">103,292</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-12-31_us-gaap_DevelopedTechnologyRightsMember" id="Fact000861" format="ixt:numdotdecimal" decimals="0" unitRef="USD">103,292</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0862">&#8212;</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20231231_ziuf5yY1TtO4" title="Cost" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-12-31" id="Fact000864" format="ixt:numdotdecimal" decimals="0" unitRef="USD">23,365,705</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98E_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20231231_zyKfrsQoATFb" title="Accumulated Depreciation" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-12-31" id="Fact000866" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,193,918</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_985_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20231231_zVTCIt4B15Q8" title="Property, plant and equipment, net, total" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31" id="Fact000868" format="ixt:numdotdecimal" decimals="0" unitRef="USD">13,171,787</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 30; Value: 11 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->14<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_48C_eus-gaap--PropertyPlantAndEquipmentGross_iI_zv6fW8nK1csb" style="text-align: center">2022</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_zItwjS92R3J1" style="text-align: center">Accumulated</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zs2glnczE7Ba" style="text-align: center">2022</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Cost</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Depreciation</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Net</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_41A_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_znWKl18C3q65" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: left">Buildings and improvements</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-12-31_us-gaap_BuildingAndBuildingImprovementsMember" id="Fact000869" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,775,629</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2022-12-31_us-gaap_BuildingAndBuildingImprovementsMember" id="Fact000870" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,310,920</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2022-12-31_us-gaap_BuildingAndBuildingImprovementsMember" id="Fact000871" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,464,709</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_414_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zD7O8jqZso03" style="vertical-align: bottom; background-color: White">
    <td>Automobiles</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-12-31_us-gaap_AutomobilesMember" id="Fact000872" format="ixt:numdotdecimal" decimals="0" unitRef="USD">196,255</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2022-12-31_us-gaap_AutomobilesMember" id="Fact000873" format="ixt:numdotdecimal" decimals="0" unitRef="USD">107,055</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2022-12-31_us-gaap_AutomobilesMember" id="Fact000874" format="ixt:numdotdecimal" decimals="0" unitRef="USD">89,200</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_419_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zKDbEiJLwtI1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Computer hardware</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-12-31_us-gaap_ComputerEquipmentMember" id="Fact000875" format="ixt:numdotdecimal" decimals="0" unitRef="USD">43,432</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2022-12-31_us-gaap_ComputerEquipmentMember" id="Fact000876" format="ixt:numdotdecimal" decimals="0" unitRef="USD">42,663</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2022-12-31_us-gaap_ComputerEquipmentMember" id="Fact000877" format="ixt:numdotdecimal" decimals="0" unitRef="USD">769</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41D_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_z1HjNyl9Pgke" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Office equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-12-31_us-gaap_OfficeEquipmentMember" id="Fact000878" format="ixt:numdotdecimal" decimals="0" unitRef="USD">133,280</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2022-12-31_us-gaap_OfficeEquipmentMember" id="Fact000879" format="ixt:numdotdecimal" decimals="0" unitRef="USD">112,782</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2022-12-31_us-gaap_OfficeEquipmentMember" id="Fact000880" format="ixt:numdotdecimal" decimals="0" unitRef="USD">20,498</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_410_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zLo1jvYOVoy2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Manufacturing equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-12-31_us-gaap_MachineryAndEquipmentMember" id="Fact000881" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,634,063</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2022-12-31_us-gaap_MachineryAndEquipmentMember" id="Fact000882" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,891,736</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2022-12-31_us-gaap_MachineryAndEquipmentMember" id="Fact000883" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,742,327</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_419_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TrailerMember_zv4d8beYz2J7" style="vertical-align: bottom; background-color: White">
    <td>Trailers</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-12-31_custom_TrailerMember" id="Fact000884" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,857</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2022-12-31_custom_TrailerMember" id="Fact000885" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,592</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2022-12-31_custom_TrailerMember" id="Fact000886" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,265</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41F_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--BoatMember_z3hozINCuUe2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Boat</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-12-31_custom_BoatMember" id="Fact000887" format="ixt:numdotdecimal" decimals="0" unitRef="USD">34,400</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2022-12-31_custom_BoatMember" id="Fact000888" format="ixt:numdotdecimal" decimals="0" unitRef="USD">27,907</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2022-12-31_custom_BoatMember" id="Fact000889" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,493</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_418_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_ze2KjGHdZkkc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Leasehold improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-12-31_us-gaap_LeaseholdImprovementsMember" id="Fact000890" format="ixt:numdotdecimal" decimals="0" unitRef="USD">88,872</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2022-12-31_us-gaap_LeaseholdImprovementsMember" id="Fact000891" format="ixt:numdotdecimal" decimals="0" unitRef="USD">88,872</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0892">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_410_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_z39rOWKujXp" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Technology</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-12-31_us-gaap_DevelopedTechnologyRightsMember" id="Fact000893" format="ixt:numdotdecimal" decimals="0" unitRef="USD">100,860</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2022-12-31_us-gaap_DevelopedTechnologyRightsMember" id="Fact000894" format="ixt:numdotdecimal" decimals="0" unitRef="USD">100,860</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0895">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_415_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zRXZzvODK82g" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Land</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-12-31_us-gaap_LandMember" id="Fact000896" format="ixt:numdotdecimal" decimals="0" unitRef="USD">384,027</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0897">&#8212;</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2022-12-31_us-gaap_LandMember" id="Fact000898" format="ixt:numdotdecimal" decimals="0" unitRef="USD">384,027</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_986_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20221231_zx6MLdIip9m" title="Cost" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-12-31" id="Fact000900" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,399,675</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98A_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20221231_zAQpNE9NbSRi" title="Accumulated Depreciation" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2022-12-31" id="Fact000902" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,690,387</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98A_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20221231_zyKr8nRQnx83" title="Property, plant and equipment, net, total" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2022-12-31" id="Fact000904" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,709,288</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A0_zL6DtbkKZ4tl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Amount
of depreciation expense for 2023 was: $<span id="xdx_901_eus-gaap--Depreciation_c20230101__20231231_zr8C7eWEwryi" title="Depreciation"><ix:nonFraction name="us-gaap:Depreciation" contextRef="From2023-01-01to2023-12-31" id="Fact000906" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,526,319</ix:nonFraction></span> (2022 - $<span id="xdx_900_eus-gaap--Depreciation_c20220101__20221231_zB2v1qHtfTc1" title="Depreciation"><ix:nonFraction name="us-gaap:Depreciation" contextRef="From2022-01-012022-12-31" id="Fact000908" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,103,732</ix:nonFraction></span>) and is included in cost of sales in the consolidated statements
of income and comprehensive income.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in">In 2023, the Company sold
the boat and $<span id="xdx_907_eus-gaap--GainLossOnDispositionOfAssets1_c20230101__20231231_zcjnKvvsIFbl" title="Sale of assets"><ix:nonFraction name="us-gaap:GainLossOnDispositionOfAssets1" contextRef="From2023-01-01to2023-12-31" id="Fact000910" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,589</ix:nonFraction></span>
was recognized as a gain on sales of asset in the consolidated statements of income and comprehensive income.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000912" name="us-gaap:IntangibleAssetsDisclosureTextBlock"><p id="xdx_80D_eus-gaap--IntangibleAssetsDisclosureTextBlock_z03fN40P529a" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>7.
<span id="xdx_82B_zm1NUvxe6TC7">PATENTS</span> </b></span></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000914" name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock"><p id="xdx_895_eus-gaap--ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_z97yVHfaMxH6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B5_zlmIy0GERJT7" style="display: none">SCHEDULE OF PATENTS</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font: small-caps 10pt Times New Roman, Times, Serif">2023</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cost</span></p></td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Accumulated <br/> Amortization</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font: small-caps 10pt Times New Roman, Times, Serif">2023</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net</span></p></td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; padding-bottom: 1.5pt">Patents</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td id="xdx_982_eus-gaap--FiniteLivedPatentsGross_iI_pp0p0_c20231231_z3Hsxnrmdzcb" title="Patents, cost" style="border-bottom: Black 1.5pt solid; width: 14%; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedPatentsGross" contextRef="AsOf2023-12-31" id="Fact000916" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">200,444</ix:nonFraction></td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td id="xdx_986_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20231231_z73dTGamhpLl" title="Patents, Accumulated amortization" style="border-bottom: Black 1.5pt solid; width: 14%; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="AsOf2023-12-31" id="Fact000918" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">200,444</ix:nonFraction></td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="width: 2%; font-variant: small-caps; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; font-variant: small-caps; text-align: left">$</td><td id="xdx_986_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pp0p0_c20231231_zp3Y3mOZcjQi" title="Patents, net" style="border-bottom: Black 1.5pt solid; width: 14%; font-variant: small-caps; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0920">-</span></td><td style="width: 1%; padding-bottom: 1.5pt; font-variant: small-caps; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font: small-caps 10pt Times New Roman, Times, Serif">2022</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cost</span></p></td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Accumulated <br/> Amortization</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font: small-caps 10pt Times New Roman, Times, Serif">2022</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net</span></p></td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; padding-bottom: 1.5pt">Patents</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td id="xdx_984_eus-gaap--FiniteLivedPatentsGross_iI_pp0p0_c20221231_zdStCAgF5ZWk" title="Patents, cost" style="border-bottom: Black 1.5pt solid; width: 14%; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedPatentsGross" contextRef="AsOf2022-12-31" id="Fact000922" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">195,725</ix:nonFraction></td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td id="xdx_980_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20221231_zUvjX4mHvnd" title="Patents, Accumulated amortization" style="border-bottom: Black 1.5pt solid; width: 14%; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="AsOf2022-12-31" id="Fact000924" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">195,725</ix:nonFraction></td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="width: 2%; font-variant: small-caps; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; font-variant: small-caps; text-align: left">$</td><td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pp0p0_c20221231_zEck1WeAQxc4" title="Patents, net" style="border-bottom: Black 1.5pt solid; width: 14%; font-variant: small-caps; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0926">-</span></td><td style="width: 1%; padding-bottom: 1.5pt; font-variant: small-caps; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8AB_z7z5WNYZmxT4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
amount of amortization for 2023 was $<span id="xdx_90E_eus-gaap--AmortizationOfIntangibleAssets_dxL_c20230101__20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--PatentsMember_zQwjLgosY4S5" title="Amount of amortization::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl0928">nil</span></span> (2022 - $<span id="xdx_90B_eus-gaap--AmortizationOfIntangibleAssets_pp0p0_c20220101__20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--PatentsMember_zzj0P0EqMI04" title="Amount of amortization"><ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" contextRef="From2022-01-012022-12-31_us-gaap_PatentsMember" id="Fact000930" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">13,699</ix:nonFraction></span>) and was included in cost of sales in the consolidated statements of income
and comprehensive income. The movement in cost relates solely to foreign exchange differences.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000932" name="us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock"><p id="xdx_80E_eus-gaap--GoodwillAndIntangibleAssetsDisclosureTextBlock_zIitowghTzT5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>8.
<span style="font-variant: small-caps"><span id="xdx_82F_zECJhVWlqX1i">GOODWILL AND INTANGIBLE ASSETS</span></span></b></span></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000934" name="us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock"><p id="xdx_890_eus-gaap--ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock_zBJBlXNhDt67" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B0_zaInGLLHi3pe" style="display: none">SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Goodwill</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 80%; padding-bottom: 1.5pt">Balance as of December 31, 2022 and 2023</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; width: 16%; text-align: right"><span id="xdx_90B_eus-gaap--Goodwill_iI_c20221231_zHLp47ZW8RJ7" title="Goodwill"><span id="xdx_90F_eus-gaap--Goodwill_iI_c20231231_zDT39hCgiSd4" title="Goodwill"><ix:nonFraction name="us-gaap:Goodwill" contextRef="AsOf2022-12-31" id="Fact000936" format="ixt:numdotdecimal" decimals="0" unitRef="USD"><ix:nonFraction name="us-gaap:Goodwill" contextRef="AsOf2023-12-31" id="Fact000938" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,534,275</ix:nonFraction></ix:nonFraction></span></span></td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Indefinite Lived Intangible Assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Balance as of December 31, 2022 and 2023</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span id="xdx_90E_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20221231_zbfl1nJF5Ysl" title="Indefinite lived intangible assets"><span id="xdx_90D_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20231231_z9QiWu1rTzAj" title="Indefinite lived intangible assets"><ix:nonFraction name="us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill" contextRef="AsOf2022-12-31" id="Fact000940" format="ixt:numdotdecimal" decimals="0" unitRef="USD"><ix:nonFraction name="us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill" contextRef="AsOf2023-12-31" id="Fact000942" format="ixt:numdotdecimal" decimals="0" unitRef="USD">770,000</ix:nonFraction></ix:nonFraction></span></span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Goodwill
relates to the acquisition of ENP Investments. Indefinite lived intangible assets consist of trade secrets and trademarks related to
the acquisition of ENP Investments.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Definite Life Intangible Assets</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 80%">Balance as of December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_986_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iS_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_z1PjpiKMEQ95" title="Indefinite lived intangible assets, beginning balance" style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill" contextRef="AsOf2021-12-31_custom_EnPInvestmentsCorporationLLCMember" id="Fact000944" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,830,000</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Amortization</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--AmortizationOfIntangibleAssets_iN_pp0p0_di_c20220101__20221231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zffcM9BxdVil" title="Amortization" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" contextRef="From2022-01-012022-12-31_custom_EnPInvestmentsCorporationLLCMember" id="Fact000946" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">160,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance as of December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iS_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zbemGuW7ZXi7" title="Indefinite lived intangible assets, beginning balance" style="text-align: right"><ix:nonFraction name="us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill" contextRef="AsOf2022-12-31_custom_EnPInvestmentsCorporationLLCMember" id="Fact000948" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,670,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Amortization</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--AmortizationOfIntangibleAssets_iN_pp0p0_di_c20230101__20231231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zc0Y0olCcFY2" title="Amortization" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" contextRef="From2023-01-012023-12-31_custom_EnPInvestmentsCorporationLLCMember" id="Fact000950" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">160,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Balances as of December 31, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_989_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iE_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zGn1Ec8E8Hqd" title="Indefinite lived intangible assets, ending balance" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill" contextRef="AsOf2023-12-31_custom_EnPInvestmentsCorporationLLCMember" id="Fact000952" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,510,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8AB_zXVNB2rQQas1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
amount of amortization for 2023 was $<span id="xdx_901_eus-gaap--AmortizationOfIntangibleAssets_pp0p0_c20230101__20231231_zWUc9sWlk0dj" title="Amortization"><ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" contextRef="From2023-01-01to2023-12-31" id="Fact000954" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">160,000</ix:nonFraction></span> (2022 - $<span id="xdx_909_eus-gaap--AmortizationOfIntangibleAssets_pp0p0_c20220101__20221231_zT30e4uG8oB8" title="Amortization"><ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" contextRef="From2022-01-012022-12-31" id="Fact000956" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">160,000</ix:nonFraction></span>) and was included in cost of sales in the consolidated statements of income
and comprehensive income.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 31; Value: 11 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->15<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Definite
lived intangible assets consist of customer relationships and software related to the acquisition of ENP Investments.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000958" name="us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock"><p id="xdx_891_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_zRuk9xFAUxZe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Estimated
amortization expense over the next five years is as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B3_zy5T7bkoZ7vb" style="display: none">SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: justify">2024</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98A_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_c20231231__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zdujQEwvyUej" title="2024" style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" contextRef="AsOf2023-12-31_us-gaap_FiniteLivedIntangibleAssetsMember" id="Fact000960" format="ixt:numdotdecimal" decimals="0" unitRef="USD">160,000</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">2025</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_c20231231__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zGdec5kEhNqh" title="2025" style="text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" contextRef="AsOf2023-12-31_us-gaap_FiniteLivedIntangibleAssetsMember" id="Fact000962" format="ixt:numdotdecimal" decimals="0" unitRef="USD">160,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">2026</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_pp0p0_c20231231__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_z9HzMCmCqSah" title="2026" style="text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" contextRef="AsOf2023-12-31_us-gaap_FiniteLivedIntangibleAssetsMember" id="Fact000964" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">160,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">2027</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_iI_pp0p0_c20231231__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zEEGR8DvvxH2" title="2027" style="text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" contextRef="AsOf2023-12-31_us-gaap_FiniteLivedIntangibleAssetsMember" id="Fact000966" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">160,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 1.5pt">2028</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_iI_pp0p0_c20231231__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zrmAVu8INPji" title="2028" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" contextRef="AsOf2023-12-31_us-gaap_FiniteLivedIntangibleAssetsMember" id="Fact000968" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">160,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A2_zwQ6oKsTQ7C8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000970" name="FSI:LongTermDepositsTextBlock"><p id="xdx_80F_ecustom--LongTermDepositsTextBlock_zOTsj27Yx8I9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>9.
<span style="font-variant: small-caps"><span id="xdx_820_z02uDeW8X0Sl">LONG TERM DEPOSITS</span> </span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000972" name="FSI:ScheduleOfLongTermDepositsTableTextBlock"><p id="xdx_895_ecustom--ScheduleOfLongTermDepositsTableTextBlock_zZo1XJh12nhh" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has security deposits that are long term in nature which consist of damage deposits held by landlords and deposits held by various
vendors for equipment purchases.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B3_zuP9hB5ggUWe" style="display: none">SCHEDULE OF LONG TERM DEPOSITS</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49F_20231231_zX2JxTGtiUF5" style="border-bottom: Black 1.5pt solid; text-align: center">2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_490_20221231_zHOuGk95LWok" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 60%">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--DepositsAssetsNoncurrent_iI_pp0p0" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Long term deposits</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:DepositsAssetsNoncurrent" contextRef="AsOf2023-12-31" id="Fact000974" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">824,254</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:DepositsAssetsNoncurrent" contextRef="AsOf2022-12-31" id="Fact000975" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">8,540</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A1_zLR40ulZSbbk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000977" name="us-gaap:EquityMethodInvestmentsDisclosureTextBlock"><p id="xdx_807_eus-gaap--EquityMethodInvestmentsDisclosureTextBlock_z2ntXaCXsn45" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>10.
<span id="xdx_824_zz02mCoSK1Y7">INVESTMENTS</span> </b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">a<span style="font-variant: small-caps">)</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-variant: small-caps">
&#160;&#160;&#160;&#160;&#160;&#160;&#160;T</span>he Company previously held a <span id="xdx_903_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20161231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--EnpPeruInvestmentsLlcMember_zNllTU0TR0A3"><ix:nonFraction name="us-gaap:EquityMethodInvestmentOwnershipPercentage" contextRef="AsOf2016-12-31_custom_EnpPeruInvestmentsLlcMember" id="Fact000978" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">50</ix:nonFraction></span>%
ownership interest in ENP Peru, split between NanoChem (<span id="xdx_909_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20161231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--NanoChemMember_z7VEucFjriua"><ix:nonFraction name="us-gaap:EquityMethodInvestmentOwnershipPercentage" contextRef="AsOf2016-12-31_custom_NanoChemMember" id="Fact000979" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">41.67</ix:nonFraction></span>%)
and ENP Investments (<span id="xdx_904_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20161231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--ENPInvestmentsLLCMember_zgRL8LH3bE26"><ix:nonFraction name="us-gaap:EquityMethodInvestmentOwnershipPercentage" contextRef="AsOf2016-12-31_custom_ENPInvestmentsLLCMember" id="Fact000980" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">8.33</ix:nonFraction></span>%),
which was acquired in fiscal 2016. ENP Peru is located in Illinois and leases warehouse space to other entities in the Company. In
June 2022, NanoChem acquired an additional <span id="xdx_903_ecustom--AdditionalEquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20220630__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--NanoChemMember_zZxbyE0E05kh" title="Additional equity method investment ownership percentage"><ix:nonFraction name="FSI:AdditionalEquityMethodInvestmentOwnershipPercentage" contextRef="AsOf2022-06-30_custom_NanoChemMember" id="Fact000982" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">50</ix:nonFraction></span>%
ownership interest at a cost of $<span id="xdx_90D_eus-gaap--BusinessCombinationConsiderationTransferred1_c20220601__20220630__srt--OwnershipAxis__custom--ENPPeruMember_zCHv2mPUnuWg" title="Purchase consideration"><ix:nonFraction name="us-gaap:BusinessCombinationConsiderationTransferred1" contextRef="From2022-06-012022-06-30_custom_ENPPeruMember" id="Fact000984" format="ixt:numdotdecimal" decimals="0" unitRef="USD">506,659</ix:nonFraction></span>
paid through a new $<span id="xdx_906_eus-gaap--Cash_iI_c20220630__srt--OwnershipAxis__custom--ENPPeruMember_z3zr7iT5yaIf"><ix:nonFraction name="us-gaap:Cash" contextRef="AsOf2022-06-30_custom_ENPPeruMember" id="Fact000985" format="ixt:numdotdecimal" decimals="0" unitRef="USD">259,000</ix:nonFraction></span>
mortgage and cash on hand. The <span id="xdx_907_eus-gaap--MinorityInterestOwnershipPercentageByNoncontrollingOwners_iI_pid_dp_uPure_c20231231__srt--OwnershipAxis__custom--EnpnvestmentsLlcMember_zJconxsAMhhh" title="Non-controlling interest percentage"><ix:nonFraction name="us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners" contextRef="AsOf2023-12-31_custom_EnpnvestmentsLlcMember" id="Fact000987" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">35</ix:nonFraction></span>%
non-controlling interest of the <span id="xdx_902_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20231231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--ENPInvestmentsLLCMember_zmLwtWTs0wha"><ix:nonFraction name="us-gaap:EquityMethodInvestmentOwnershipPercentage" contextRef="AsOf2023-12-31_custom_ENPInvestmentsLLCMember" id="Fact000988" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">8.33</ix:nonFraction></span>%
owned by ENP Investments is included in non-controlling interest in these consolidated financial statements. The Company&#8217;s
investment in ENP Peru was previously accounted for using the equity method, however, it is now consolidated into the consolidated
financial statements from the date control was obtained. In June 2023, NanoChem purchased the remaining <span id="xdx_901_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20230630__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--ENPInvestmentsLLCMember_zJZ2qhCt9Hkc"><ix:nonFraction name="us-gaap:EquityMethodInvestmentOwnershipPercentage" contextRef="AsOf2023-06-30_custom_ENPInvestmentsLLCMember" id="Fact000989" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">8.33</ix:nonFraction></span>%
of ENP Peru from ENP Investments to become full owner.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">It
was determined that ENP Peru did not meet the definition of a business in accordance with FASB Codification Topic 805, <i>Business Combinations
</i>(ASC 805)<i>, </i>and the acquisition was accounted for as an asset acquisition. The following table summarizes the final purchase
price allocation of the consideration paid to the respective fair values of the assets acquired and liabilities assumed in ENP Peru as
of the acquisition date. The gain on acquisition of ENP Peru represents a gain on remeasurement of the Company&#8217;s equity method
investment immediately prior to the acquisition date.</span></p>

<ix:nonNumeric contextRef="From2023-01-012023-12-31_custom_EnpPeruInvestmentsLlcMember" escape="true" id="Fact000991" name="us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock"><p id="xdx_890_eus-gaap--ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_hdei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zQ91xC8p30vg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B3_zu46PcJcgPbd" style="display: none">SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_49D_20220101__20221231_z5jQSYaOJCOd" style="border-bottom: Black 1.5pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--BusinessCombinationConsiderationTransferred1_zct7Ab2Jst9e" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left; padding-bottom: 1.5pt">Purchase consideration</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; width: 16%; text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationConsiderationTransferred1" contextRef="From2022-01-012022-12-31" id="Fact000993" format="ixt:numdotdecimal" decimals="0" unitRef="USD">506,659</ix:nonFraction></td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Assets acquired:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_iE_z9sw3ADdW2G5" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Cash</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" contextRef="AsOf2022-12-31" id="Fact000995" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,330</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings_iE_zHSXfFm9u15c" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Building</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings" contextRef="AsOf2022-12-31" id="Fact000997" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,750,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand_iE_zh6wPIdzjROf" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Land</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand" contextRef="AsOf2022-12-31" id="Fact000999" format="ixt:numdotdecimal" decimals="0" unitRef="USD">150,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Liabilities assumed:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_iNE_di_zjAuijmegUFj" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Deferred tax liability</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" contextRef="AsOf2022-12-31" id="Fact001001" format="ixt:numdotdecimal" decimals="0" unitRef="USD">174,582</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_404_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt_iE_zmy85SIoX2qf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Long term debt</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="FSI:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt" contextRef="AsOf2022-12-31" id="Fact001003" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">2,849,500</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_404_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_iE_zJpvwzZgxoMk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Total identifiable net assets:</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" contextRef="AsOf2022-12-31" id="Fact001005" format="ixt:numdotdecimal" decimals="0" unitRef="USD">883,248</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice_iE_zd7bCJ63OPB3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Excess of assets acquired over consideration</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice" contextRef="AsOf2022-12-31" id="Fact001007" format="ixt:numdotdecimal" decimals="0" unitRef="USD">376,589</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_ecustom--InvestmentEliminatedUponConsolidation_zdsYV2TJLlQh" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Less investment eliminated upon consolidation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="FSI:InvestmentEliminatedUponConsolidation" contextRef="From2022-01-012022-12-31" id="Fact001009" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">41,538</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40D_ecustom--GainOnAcquisitionOfSubsidiary_zr7VRlvKN7X4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Gain on acquisition of ENP Peru</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="FSI:GainOnAcquisitionOfSubsidiary" contextRef="From2022-01-012022-12-31" id="Fact001011" format="ixt:numdotdecimal" decimals="0" unitRef="USD">335,051</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A3_z80FMAEIGNr9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 32; Value: 11 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->16<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2023-01-012023-12-31_custom_EnpPeruInvestmentsLlcMember" escape="true" id="Fact001013" name="us-gaap:EquityMethodInvestmentsTextBlock"><p id="xdx_89B_eus-gaap--EquityMethodInvestmentsTextBlock_hdei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zkPG1T5i21M3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.7in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">A
summary of the Company&#8217;s investment follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BD_zZ2KvCnWiJYi" style="display: none">SCHEDULE OF EQUITY METHOD INVESTMENT</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Balance, December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_982_eus-gaap--EquityMethodInvestments_iS_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zZbWdvc6Bezj" title="Balance, Beginning" style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestments" contextRef="AsOf2021-12-31_custom_EnpPeruInvestmentsLlcMember" id="Fact001015" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,822</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Return of equity</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_ecustom--EquityMethodInvestmentReturnOfEquity_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zPK6urRBgBC" title="Return of equity" style="text-align: right">(<ix:nonFraction name="FSI:EquityMethodInvestmentReturnOfEquity" contextRef="From2022-01-012022-12-31_custom_EnpPeruInvestmentsLlcMember" id="Fact001017" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">3,822</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Gain in equity method investment</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zpgAdZQdeEje" title="Gain in equity method investment" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal" contextRef="From2022-01-012022-12-31_custom_EnpPeruInvestmentsLlcMember" id="Fact001019" format="ixt:numdotdecimal" decimals="0" unitRef="USD">22,642</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance, December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--EquityMethodInvestments_iS_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zKj8bZzQc3T" title="Balance, Beginning" style="text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestments" contextRef="AsOf2022-12-31_custom_EnpPeruInvestmentsLlcMember" id="Fact001021" format="ixt:numdotdecimal" decimals="0" unitRef="USD">22,642</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Return of equity</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_ecustom--EquityMethodInvestmentReturnOfEquity_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zecLsgfoL613" title="Return of equity" style="text-align: right">(<ix:nonFraction name="FSI:EquityMethodInvestmentReturnOfEquity" contextRef="From2023-01-012023-12-31_custom_EnpPeruInvestmentsLlcMember" id="Fact001023" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">8,750</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gain in equity method investment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zkOxS6yt59X8" title="Gain in equity method investment" style="text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal" contextRef="From2023-01-012023-12-31_custom_EnpPeruInvestmentsLlcMember" id="Fact001025" format="ixt:numdotdecimal" decimals="0" unitRef="USD">27,646</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Investment eliminated upon consolidation</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_ecustom--InvestmentEliminatedUponConsolidation_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zt5wl7uviFrg" title="Investment eliminated upon consolidation" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="FSI:InvestmentEliminatedUponConsolidation" contextRef="From2023-01-012023-12-31_custom_EnpPeruInvestmentsLlcMember" id="Fact001027" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">41,538</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Balance, June 30 and December 31, 2023</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98A_eus-gaap--EquityMethodInvestments_iE_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zjDfMNT6ZcZd" title="Balance, Ending" style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1029">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A9_zaBzgDmdJxH5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">b<span style="font-variant: small-caps">)
&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
December 2018, the Company invested $<span id="xdx_906_eus-gaap--Investments_iI_c20181231__dei--LegalEntityAxis__custom--AppliedHoldingCorpMember_zazwEMGCcMmb" title="Investment"><ix:nonFraction name="us-gaap:Investments" contextRef="AsOf2018-12-31_custom_AppliedHoldingCorpMember" id="Fact001031" format="ixt:numdotdecimal" decimals="0" unitRef="USD">200,000</ix:nonFraction></span>
in Applied Holding Corp. (&#8220;Applied&#8221;). Applied is a captive insurance company and the Company received a non-convertible
promissory note for its investment which becomes due in 2021 but may be extended with notice for a maximum of two years. During the
year ended December 31, 2021, the Company entered an agreement with Applied to extend the maturity date of this promissory note to <span id="xdx_908_ecustom--DebtInstrumentMaturityMonthYear_c20210101__20211231_zkEe8Qalnen7" title="Debt maturity"><ix:nonNumeric contextRef="From2021-01-012021-12-31" format="ixt:datemonthyearen" id="Fact001033" name="FSI:DebtInstrumentMaturityMonthYear">December
2023</ix:nonNumeric></span>. In October 2023, the Company received the payment of $<span id="xdx_906_eus-gaap--Investments_iI_c20231031_z4uXSqWnBbv3" title="Investment"><ix:nonFraction name="us-gaap:Investments" contextRef="AsOf2023-10-31" id="Fact001035" format="ixt:numdotdecimal" decimals="0" unitRef="USD">200,000</ix:nonFraction></span>
to settle the promissory note and the balance of this investment at December 31, 2023 is $<span id="xdx_90B_eus-gaap--Investments_iI_dxL_c20231231_z2fYFTByQmbj" title="Investment::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1037">nil</span></span>
(2022 - $<span id="xdx_90C_eus-gaap--Investments_iI_c20221231_zAuxqlCzAe4" title="Investment"><ix:nonFraction name="us-gaap:Investments" contextRef="AsOf2022-12-31" id="Fact001039" format="ixt:numdotdecimal" decimals="0" unitRef="USD">200,000</ix:nonFraction></span>). In accordance with
FASB Codification Topic 321, <i>Investments &#8211; Equity Securities (</i>ASC 321), the Company has elected to account for this
investment at cost.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif">(</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>c<span style="font-variant: small-caps">) &#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></b>In
December 2018, the Company invested $<span id="xdx_903_eus-gaap--Investments_iI_c20181231__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_z5ydTPyvJ6tg" title="Investment"><ix:nonFraction name="us-gaap:Investments" contextRef="AsOf2018-12-31_custom_TrioOpportunityCorpMember" id="Fact001041" format="ixt:numdotdecimal" decimals="0" unitRef="USD">500,000</ix:nonFraction></span> in Trio Opportunity Corp. (&#8220;Trio&#8221;), a privately held entity and a further
$<span id="xdx_908_eus-gaap--Investments_iI_c20230430__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zlEhH3S2tjsk" title="Investment"><ix:nonFraction name="us-gaap:Investments" contextRef="AsOf2023-04-30_custom_TrioOpportunityCorpMember" id="Fact001043" format="ixt:numdotdecimal" decimals="0" unitRef="USD">470,000</ix:nonFraction></span> was invested in April 2023. Trio is a real estate investment vehicle and the Company received <span id="xdx_90B_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_pid_c20181201__20181231__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassBMember__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zl08qgxFWup1" title="Common stock issued, shares"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" contextRef="From2018-12-012018-12-31_us-gaap_CommonClassBMember_custom_TrioOpportunityCorpMember" id="Fact001045" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">97,000</ix:nonFraction></span> non-voting Class B
shares at $<span id="xdx_903_eus-gaap--SharePrice_iI_pid_c20181231__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassBMember__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zF3izoBzbHK5" title="Share price"><ix:nonFraction name="us-gaap:SharePrice" contextRef="AsOf2018-12-31_us-gaap_CommonClassBMember_custom_TrioOpportunityCorpMember" id="Fact001047" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">10.00</ix:nonFraction></span>/share. In accordance with ASC 321, the Company has elected to account for this investment at cost.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(d) </b>&#160;&#160;&#160;&#160;&#160;&#160;&#160;In
January 2019, the Company invested in a Florida based LLC that is engaged in international sales of fertilizer additives. The
Company accounts for this investment using the equity method of accounting. According to the operating agreement, the Company has a
<span id="xdx_906_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20190131__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_zKwvVzEnTePc" title="Ownership percentage"><ix:nonFraction name="us-gaap:EquityMethodInvestmentOwnershipPercentage" contextRef="AsOf2019-01-31_custom_FloridaBasedLLCMember" id="Fact001049" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">50</ix:nonFraction></span>% interest in the profit and loss of the Florida based LLC but does not have control. <span style="background-color: white">A
summary of the Company&#8217;s investment follows:</span></span></p>

<ix:nonNumeric contextRef="From2023-01-012023-12-31_custom_FloridaBasedLLCMember" escape="true" id="Fact001051" name="us-gaap:EquityMethodInvestmentsTextBlock"><p id="xdx_89F_eus-gaap--EquityMethodInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zBcRfXBObzA1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B3_zuFIOZ3V9HFj" style="display: none">SCHEDULE OF EQUITY METHOD INVESTMENT</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Balance, December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_983_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_z0rkB9ryz1Ci" title="Balance, Beginning" style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestments" contextRef="AsOf2021-12-31_custom_FloridaBasedLLCMember" id="Fact001053" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,701,368</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gain in equity method investment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zoUnlbcdSon3" title="Gain in equity method investment" style="text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal" contextRef="From2022-01-012022-12-31_custom_FloridaBasedLLCMember" id="Fact001055" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">307,527</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Return of equity</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98C_ecustom--EquityMethodInvestmentReturnOfEquity_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zEzx14YKmsNj" title="Return of equity" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="FSI:EquityMethodInvestmentReturnOfEquity" contextRef="From2022-01-012022-12-31_custom_FloridaBasedLLCMember" id="Fact001057" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">250,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance, December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zgvC9CbHPM26" title="Balance, Beginning" style="text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestments" contextRef="AsOf2022-12-31_custom_FloridaBasedLLCMember" id="Fact001059" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,758,895</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Gain in equity method investment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zwzVumZG65M8" title="Gain in equity method investment" style="text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal" contextRef="From2023-01-012023-12-31_custom_FloridaBasedLLCMember" id="Fact001061" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">505,065</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Return of equity</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_983_ecustom--EquityMethodInvestmentReturnOfEquity_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zXUUKkesFRsa" title="Return of equity" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="FSI:EquityMethodInvestmentReturnOfEquity" contextRef="From2023-01-012023-12-31_custom_FloridaBasedLLCMember" id="Fact001063" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">200,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Balance, December 31, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98D_eus-gaap--EquityMethodInvestments_iE_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zMPvER71W7c1" title="Balance, Ending" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestments" contextRef="AsOf2023-12-31_custom_FloridaBasedLLCMember" id="Fact001065" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,063,960</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8AA_zwNeS2uXiw8c" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2023-01-012023-12-31_custom_FloridaBasedLLCMember" escape="true" id="Fact001067" name="us-gaap:GainLossOnInvestmentsTextBlock"><p id="xdx_890_eus-gaap--GainLossOnInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_z5OUi1zeuiRi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Summarized
profit and loss information related to the equity accounted investment is as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B6_z14Gjkb1grn1" style="display: none">SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_496_20230101__20231231_zTcwSnJg1Rx4" style="border-bottom: Black 1.5pt solid; text-align: center">2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_492_20220101__20221231_zE64trHLfcn1" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--GainsLossesOnSalesOfInvestmentRealEstate_zeEtqZUK0Yc8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Net sales</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:GainsLossesOnSalesOfInvestmentRealEstate" contextRef="From2023-01-01to2023-12-31" id="Fact001069" format="ixt:numdotdecimal" decimals="0" unitRef="USD">16,043,468</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:GainsLossesOnSalesOfInvestmentRealEstate" contextRef="From2022-01-012022-12-31" id="Fact001070" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,103,070</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--RealizedInvestmentGainsLosses_z19s7MbFSff" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gross profit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:RealizedInvestmentGainsLosses" contextRef="From2023-01-01to2023-12-31" id="Fact001072" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,668,177</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:RealizedInvestmentGainsLosses" contextRef="From2022-01-012022-12-31" id="Fact001073" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,204,311</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_ecustom--RealizedInvestmentGainsLossesNet_zZvTEYI0Dfch" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net income</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="FSI:RealizedInvestmentGainsLossesNet" contextRef="From2023-01-01to2023-12-31" id="Fact001075" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,010,128</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="FSI:RealizedInvestmentGainsLossesNet" contextRef="From2022-01-012022-12-31" id="Fact001076" format="ixt:numdotdecimal" decimals="0" unitRef="USD">615,055</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8AF_zrqVx9J75ot5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2023, the Company had sales of $<span id="xdx_902_eus-gaap--Revenues_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zVCrdnrkw3ub" title="Sales"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2023-01-012023-12-31_custom_FloridaBasedLLCMember" id="Fact001078" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,260,870</ix:nonFraction></span> (2022 - $<span id="xdx_90F_eus-gaap--Revenues_c20220101__20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zUBk6CYBe9h4" title="Sales"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2022-01-012022-12-31_custom_FloridaBasedLLCMember" id="Fact001080" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,938,735</ix:nonFraction></span>) to the Florida Based LLC, of which $<span id="xdx_905_eus-gaap--AccountsReceivableNet_iI_c20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_z52bfSKEdEKi" title="Accounts receivable related parties"><ix:nonFraction name="us-gaap:AccountsReceivableNet" contextRef="AsOf2023-12-31_custom_FloridaBasedLLCMember" id="Fact001082" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,073,813</ix:nonFraction></span>
is included within Accounts Receivable as at December 31, 2023 (2022 - $<span id="xdx_90C_eus-gaap--AccountsReceivableNet_iI_c20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zYbIevbBZ8G2" title="Accounts receivable related parties"><ix:nonFraction name="us-gaap:AccountsReceivableNet" contextRef="AsOf2022-12-31_custom_FloridaBasedLLCMember" id="Fact001084" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,423,285</ix:nonFraction></span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(e)
</b>&#160;&#160;&#160;&#160;&#160;&#160;&#160;In December 2020, the Company invested $<span id="xdx_906_eus-gaap--PaymentsToAcquireInvestments_pp0p0_c20201201__20201231__dei--LegalEntityAxis__custom--LygosIncMember_zXyJXf4MSPId"><ix:nonFraction name="us-gaap:PaymentsToAcquireInvestments" contextRef="From2020-12-012020-12-31_custom_LygosIncMember" id="Fact001085" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">500,000</ix:nonFraction></span> in Lygos Inc. (&#8220;Lygos&#8221;), a privately held entity, under a Simple Agreement
for Future Equity (&#8220;SAFE&#8221;) agreement. Lygos is a company developing a sustainable aspartic acid microbe strain. In 2021,
the Company made a second SAFE investment of $<span id="xdx_903_eus-gaap--PaymentsToAcquireInvestments_c20210101__20211231__dei--LegalEntityAxis__custom--LygosIncMember_zQ7HID9TwMB9"><ix:nonFraction name="us-gaap:PaymentsToAcquireInvestments" contextRef="From2021-01-012021-12-31_custom_LygosIncMember" id="Fact001086" format="ixt:numdotdecimal" decimals="0" unitRef="USD">500,000</ix:nonFraction></span> for a total of $<span id="xdx_90D_eus-gaap--Investments_iI_c20211231__dei--LegalEntityAxis__custom--LygosIncMember_z1scGC1hXPDc" title="Investment"><ix:nonFraction name="us-gaap:Investments" contextRef="AsOf2021-12-31_custom_LygosIncMember" id="Fact001088" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,000,000</ix:nonFraction></span>. In accordance with ASC 321, the Company has elected
to account for this investment at cost.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 33; Value: 11 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->17<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>&#160;</b></span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001090" name="us-gaap:ShortTermDebtTextBlock"><p id="xdx_802_eus-gaap--ShortTermDebtTextBlock_zSo0MsELKtc6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>11.
<span id="xdx_829_zlkg1FqGATf2">SHORT-TERM LINE OF CREDIT</span> </b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">a<span style="font-variant: small-caps">)

&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In June 2023, ENP Investments renewed the
line of credit with Stock Yards Bank and Trust (&#8220;Stock Yards&#8221;), increasing the limit by $<span id="xdx_90C_eus-gaap--LineOfCreditFacilityCurrentBorrowingCapacity_iI_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_z7Ng2epOC2ma"><ix:nonFraction name="us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity" contextRef="AsOf2023-06-30_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember" id="Fact001091" format="ixt:numdotdecimal" decimals="0" unitRef="USD">500,000</ix:nonFraction>
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">from the previous line of credit. The revolving
line of credit is for an aggregate amount of up to the lesser of (i) $<span id="xdx_903_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zmfqoecKvDE1"><ix:nonFraction name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" contextRef="AsOf2023-06-30_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember" id="Fact001092" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,500,000</ix:nonFraction></span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">,
or (ii) 50-80% of eligible domestic accounts receivable plus <span id="xdx_90A_ecustom--PercentageOfForeignAccountsReceivableOfInventory_pid_dp_uPure_c20230601__20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zuut8OqzYUqb"><ix:nonFraction name="FSI:PercentageOfForeignAccountsReceivableOfInventory" contextRef="From2023-06-012023-06-30_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember" id="Fact001093" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">50</ix:nonFraction></span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">%
of inventory, capped at $<span id="xdx_907_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zPtl19xRHBKa"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2023-06-30_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember" id="Fact001094" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,000,000</ix:nonFraction></span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">.
Interest on the unpaid principal balance of this loan will be calculated using the greater of prime or 8.25%. The interest rate at December
31, 2023 is <span id="xdx_906_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zqPcgmI3IUwe"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2023-12-31_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember" id="Fact001095" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">8.5</ix:nonFraction></span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">%
(December 31, 2022 - <span id="xdx_90D_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20221231__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zfa3hJvHC3D5"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2022-12-31_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember" id="Fact001096" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">7.5</ix:nonFraction></span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">%).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
revolving line of credit contains customary affirmative and negative covenants, including the following: compliance with laws, provisions
of financial statements and periodic reports, payment of taxes, maintenance of inventory and insurance, maintenance of operating accounts
at Stock Yards, Stock Yard&#8217;s access to collateral, formation or acquisition of subsidiaries, incurrence of indebtedness, dispositions
of assets, granting liens, changes in business, ownership or business locations, engaging in mergers and acquisitions, making investments
or distributions and affiliate transactions. NanoChem is a guarantor of <span id="xdx_90C_ecustom--LoanGuaranteedRate_iI_pid_dp_uPure_c20231231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zymHxipnQTK7" title="Loan guaranteed rate"><ix:nonFraction name="FSI:LoanGuaranteedRate" contextRef="AsOf2023-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember" id="Fact001098" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">65</ix:nonFraction></span>% of all the principal and other loan costs not to exceed $<span id="xdx_90F_eus-gaap--LinesOfCreditCurrent_iI_pp0p0_c20231231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zZRcO2OAX9vg" title="Line of credit"><ix:nonFraction name="us-gaap:LinesOfCreditCurrent" contextRef="AsOf2023-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember" id="Fact001100" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,925,000</ix:nonFraction></span>.
The non-controlling interest is the guarantor of the remaining <span id="xdx_902_ecustom--LoanGuaranteedRate_iI_pid_dp_uPure_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--NoncontrollingInterestMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zoQcSter2GW8" title="Loan guaranteed rate"><ix:nonFraction name="FSI:LoanGuaranteedRate" contextRef="AsOf2023-12-31_us-gaap_NoncontrollingInterestMember_custom_StockYardAndBankMember" id="Fact001102" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">35</ix:nonFraction></span>% of all the principal and other loan costs not to exceed $<span id="xdx_901_eus-gaap--LinesOfCreditCurrent_iI_pp0p0_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--NoncontrollingInterestMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_z3kNv1LvetUj" title="Line of credit"><ix:nonFraction name="us-gaap:LinesOfCreditCurrent" contextRef="AsOf2023-12-31_us-gaap_NoncontrollingInterestMember_custom_StockYardAndBankMember" id="Fact001104" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,575,000</ix:nonFraction></span>.
As of December 31, 2023, ENP Investments was in compliance with all loan covenants.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">To
secure the repayment of any amounts borrowed under the revolving line of credit, the Company granted Stock Yards a security interest
in substantially all of the assets of ENP Investments, exclusive of intellectual property assets.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Short-term
borrowings outstanding under the revolving line as of December 31, 2023 were $<span id="xdx_90E_eus-gaap--ShortTermBorrowings_iI_pp0p0_c20231231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zx1c5ZPQwdp1" title="Short term borrowings"><ix:nonFraction name="us-gaap:ShortTermBorrowings" contextRef="AsOf2023-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember" id="Fact001106" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,810,479</ix:nonFraction></span> (2022 - $<span id="xdx_904_eus-gaap--ShortTermBorrowings_iI_pp0p0_c20221231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zFCYTYRGIu8d" title="Short term borrowings"><ix:nonFraction name="us-gaap:ShortTermBorrowings" contextRef="AsOf2022-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember" id="Fact001108" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,477,794</ix:nonFraction></span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(b)
&#160;&#160;&#160;&#160;&#160;&#160;&#160;</b>In June 2023, the Company renewed the line of credit with Stock Yards Bank and Trust
(&#8220;Stock Yards&#8221;). The revolving line of credit is for an aggregate amount of up to the lesser of (i) $<span id="xdx_901_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zOO9UflinIGh" title="Aggregate amount of revolving line of credit"><ix:nonFraction name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" contextRef="AsOf2023-06-30_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember" id="Fact001110" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,000,000</ix:nonFraction></span>,
or (ii) <span id="xdx_906_ecustom--EligiblePercentageOfDomesticAccountsReceivable_pid_dp_uPure_c20230601__20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zyZxYbonQ3Pb" title="Eligible percentage of domestic accounts receivable"><ix:nonFraction name="FSI:EligiblePercentageOfDomesticAccountsReceivable" contextRef="From2023-06-012023-06-30_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember" id="Fact001112" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">80</ix:nonFraction></span>%
of eligible domestic accounts receivable and certain foreign accounts receivable plus <span id="xdx_90D_ecustom--PercentageOfForeignAccountsReceivableOfInventory_pid_dp_uPure_c20230601__20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zPsXezmjuKnh" title="Percentage of foreign accounts receivable of inventory"><ix:nonFraction name="FSI:PercentageOfForeignAccountsReceivableOfInventory" contextRef="From2023-06-012023-06-30_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember" id="Fact001114" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">50</ix:nonFraction></span>%
of inventory, capped at $<span id="xdx_908_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zVzA7FtlNx25" title="Debt face amount"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2023-06-30_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember" id="Fact001116" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,000,000</ix:nonFraction></span>.
Interest on the unpaid principal balance of this loan will be calculated using the greater of prime or 8.25%. The prime interest
rate at December 31, 2023 was <span id="xdx_90E_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_uPure_c20231231__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_z0kbS6DoFjw6" title="Interest rate"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2023-12-31_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember" id="Fact001118" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">8.5</ix:nonFraction></span>%
(2022 - <span id="xdx_905_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_uPure_c20221231__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_ziw1qQO6tMr1" title="Interest rate"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2022-12-31_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember" id="Fact001120" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">7.5</ix:nonFraction></span>%).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
revolving line of credit contains customary affirmative and negative covenants, including the following: compliance with laws, provision
of financial statements and periodic reports, payment of taxes, maintenance of inventory and insurance, maintenance of operating accounts
at Stock Yards, Stock Yards access to collateral, formation or acquisition of subsidiaries, incurrence of indebtedness, dispositions
of assets, granting liens, changes in business, ownership or business locations, engaging in mergers and acquisitions, making investments
or distributions and affiliate transactions. The covenants also require that the Company maintain a minimum ratio of qualifying financial
assets to the sum of qualifying financial obligations. As of December 31, 2023, the Company was in compliance with all loan covenants.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">To
secure repayment of any amounts borrowed under the revolving line of credit, the Company granted Stock Yards a security interest in substantially
all of the assets of NanoChem, exclusive of intellectual property assets.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Short-term
borrowings outstanding under the revolving line as of December 31, 2023 were $<span id="xdx_90C_eus-gaap--ShortTermBorrowings_iI_dxL_c20231231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_zV0FFf0l5Uy5" title="Short term borrowings::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1122">nil</span></span> (2022 - $<span id="xdx_906_eus-gaap--ShortTermBorrowings_iI_c20221231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_z1rKGnrhhi3b" title="Short term borrowings"><ix:nonFraction name="us-gaap:ShortTermBorrowings" contextRef="AsOf2022-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockBankMember_us-gaap_RevolvingCreditFacilityMember" id="Fact001124" format="ixt:numdotdecimal" decimals="0" unitRef="USD">340,797</ix:nonFraction></span>). This amount was repaid in full during
the year ended December 31, 2023.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001126" name="us-gaap:LongTermDebtTextBlock"><p id="xdx_80E_eus-gaap--LongTermDebtTextBlock_zpkZqKsEsz6e" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>12.
<span id="xdx_826_zIOHcCuqpRsa">LONG TERM DEBT</span> </b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">a<span style="font-variant: small-caps">)
&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
October 2020, NanoChem signed a loan for $<span id="xdx_905_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20201031__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zuIAX67fVyVc" title="Debt instrument face amount"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2020-10-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember" id="Fact001128" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,980,947</ix:nonFraction></span>
with Midland States Bank (&#8220;Midland&#8221;) with a rate of <span id="xdx_901_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20201031__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zRRRgOgUN6gh" title="Debt instrument interest rate stated percentage"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2020-10-31_custom_TermLoanMember_custom_MidlandBankMember_us-gaap_PrimeRateMember_custom_NanoChemSolutionsIncMember" id="Fact001130" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">3.85</ix:nonFraction></span>%
to be repaid over <span id="xdx_903_eus-gaap--DebtInstrumentTerm_dtY_c20201001__20201031__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zkJYEWNY685c" title="Debt instrument term"><ix:nonNumeric contextRef="From2020-10-012020-10-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember" format="ixt-sec:duryear" id="Fact001132" name="us-gaap:DebtInstrumentTerm">5</ix:nonNumeric></span>
years with equal monthly payments including interest. The money was used to retire the debt at BMO Harris Bank
(&#8220;Harris&#8221;) related to the loan to purchase a <span id="xdx_90B_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20201031__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zJbTQnsQRqDb" title="Debt instrument interest rate stated percentage"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2020-10-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember" id="Fact001134" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">65</ix:nonFraction></span>%
interest in ENP Investments. In June 2022, the loan was paid in full with funds from Stock Yards. Interest expense for the year
ended December 31, 2023 was $<span id="xdx_90E_eus-gaap--InterestExpenseDebt_pp0p0_dxL_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_z2AACcB1GCs8" title="Debt Long term debt amount::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1136">nil</span></span>
(2022 - $<span id="xdx_90A_eus-gaap--InterestExpenseDebt_pp0p0_c20220101__20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_z3hWnjwiNCv7" title="Debt Long term debt amount"><ix:nonFraction name="us-gaap:InterestExpenseDebt" contextRef="From2022-01-012022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember" id="Fact001138" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">30,334</ix:nonFraction></span>).
The balance owing at December 31, 2023 was $<span id="xdx_90E_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_dxL_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_z5qMAdr3I7hk" title="Debt Long term debt amount::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1140">nil</span></span>
(2022 - $<span id="xdx_908_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_dxL_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_z7G6hKNhyjX7" title="Debt Long term debt amount::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1142">nil</span></span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">b<span style="font-variant: small-caps">)
&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In October 2020, NanoChem signed a loan for
$<span id="xdx_901_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20201031__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zlcRoBV2Bib1" title="Debt instrument face amount"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2020-10-31_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember" id="Fact001144" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">894,253</ix:nonFraction></span> with Midland with an interest rate <span id="xdx_902_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20201031__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zG1CrvusWfhk" title="Debt instrument interest rate stated percentage"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2020-10-31_custom_MidlandBankMember_us-gaap_PrimeRateMember_custom_NanoChemSolutionsIncMember" id="Fact001146" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">3.85</ix:nonFraction></span>% to be repaid over two years with equal monthly payments including interest. The funds
were used to replace the loan at Harris for the purchase of new manufacturing equipment. In June 2022, the loan was paid in full with
funds from Stock Yards. Interest expense for the year ended December 31, 2023 was $<span id="xdx_90E_eus-gaap--InterestExpenseDebt_pp0p0_dxL_c20230101__20231231__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zKz809FwRni1" title="Interest expense debt::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1148">nil</span></span> (2022 - $<span id="xdx_90F_eus-gaap--InterestExpenseDebt_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zEuvRiLWMehi" title="Interest expense debt"><ix:nonFraction name="us-gaap:InterestExpenseDebt" contextRef="From2022-01-012022-12-31_custom_NanoChemSolutionsIncMember_custom_MidlandBankMember" id="Fact001150" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">5,816</ix:nonFraction></span>). The balance owing at December
31, 2023 was $<span id="xdx_906_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_dxL_c20231231__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zlUmVa3j5ABj" title="Debt Long term debt amount::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1152">nil</span></span> (2022 - $<span id="xdx_904_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_dxL_c20221231__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zSsBYQVJtZvi" title="Debt Long term debt amount::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1154">nil</span></span>)</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 34; Value: 11 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->18<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(c) &#160;&#160;&#160;&#160;&#160;&#160;&#160;</b>In
January 2020, ENP Mendota refinanced its mortgage and signed a loan for $<span id="xdx_90D_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zfop8Hzlb2i4"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember" id="Fact001155" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">450,000</ix:nonFraction></span> with Stock Yards to be repaid over <span id="xdx_903_eus-gaap--DebtInstrumentTerm_dtY_c20200101__20200131__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember__dei--LegalEntityAxis__custom--EnpRealtyLLCMember_zXOp6lTPuGN2"><ix:nonNumeric contextRef="From2020-01-012020-01-31_custom_StockYardsBankTrustMember_custom_EnpRealtyLLCMember" format="ixt-sec:duryear" id="Fact001156" name="us-gaap:DebtInstrumentTerm">10</ix:nonNumeric></span> years with
monthly installments plus interest. Interest for the first five years is at <span id="xdx_90F_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20200131__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember__dei--LegalEntityAxis__custom--EnpRealtyLLCMember_z2T4gBkw6hh8"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2020-01-31_custom_StockYardsBankTrustMember_us-gaap_PrimeRateMember_custom_EnpRealtyLLCMember" id="Fact001157" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">4.35</ix:nonFraction></span>% and it will be adjusted for the last five years to
the Cincinnati Federal Home Bank Loan <span id="xdx_90B_eus-gaap--DebtInstrumentTerm_dtY_c20200101__20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zjj0mr2Lmb5g"><ix:nonNumeric contextRef="From2020-01-012020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember" format="ixt-sec:duryear" id="Fact001158" name="us-gaap:DebtInstrumentTerm">5</ix:nonNumeric></span> year fixed index plus <span id="xdx_907_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zSxg2OaZ8Yi8"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember" id="Fact001159" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">4.5</ix:nonFraction></span>%. Interest expense for the year ended December 31, 2023 was
$<span id="xdx_901_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zsJetBZcn0Kc" title="Interest expense debt"><ix:nonFraction name="us-gaap:InterestExpenseDebt" contextRef="From2023-01-012023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember" id="Fact001161" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">17,911</ix:nonFraction></span> (2022 - $<span id="xdx_901_eus-gaap--InterestExpenseDebt_pp0p0_c20220101__20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zEIfi450iCI9" title="Interest expense debt"><ix:nonFraction name="us-gaap:InterestExpenseDebt" contextRef="From2022-01-012022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember" id="Fact001163" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">17,107</ix:nonFraction></span>). The balance owing at December 31, 2023 was $<span id="xdx_908_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zUsZOJJEp4ue"><ix:nonFraction name="us-gaap:DebtDefaultLongtermDebtAmount" contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember" id="Fact001164" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">399,269</ix:nonFraction></span> (2022 - $<span id="xdx_902_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zQfSR0SvS1Gd"><ix:nonFraction name="us-gaap:DebtDefaultLongtermDebtAmount" contextRef="AsOf2022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember" id="Fact001165" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">415,430</ix:nonFraction></span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-indent: 0.4in; text-align: justify">To secure repayment of any amounts borrowed under the mortgage, the Company granted Stock Yards a security interest
in real property under the mortgage and all rents on said property.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(d) &#160;&#160;&#160;&#160;&#160;&#160;&#160;</b>In
June 2022, NanoChem signed a loan for $<span id="xdx_904_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemMember_z57KP2wWDYx1" title="Debt instrument face amount"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemMember" id="Fact001167" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,935,000</ix:nonFraction></span> with Stock Yards with an interest rate of <span id="xdx_90E_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemMember_zVjLWiZjNdbb" title="Debt instrument interest rate stated percentage"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemMember" id="Fact001169" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">4.90</ix:nonFraction></span>% to be repaid over <span id="xdx_901_eus-gaap--DebtInstrumentTerm_c20220601__20220630__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember__dei--LegalEntityAxis__custom--EnpRealtyLLCMember_zfq25Id6jrt9"><ix:nonNumeric contextRef="From2022-06-012022-06-30_custom_StockYardsBankTrustMember_custom_EnpRealtyLLCMember" format="ixt-sec:durwordsen" id="Fact001170" name="us-gaap:DebtInstrumentTerm">three years</ix:nonNumeric></span> with
equal monthly payments including interest. The funds were used to replace the loans at Midland for the purchase of the <span id="xdx_905_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zOMJuPWBVIXb" title="Debt instrument interest rate stated percentage"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruInvestmentsMember" id="Fact001172" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">65</ix:nonFraction></span>% interest
in ENP Investments and the new manufacturing equipment. Interest expense for the year ended December 31, 2023 was $<span id="xdx_904_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--NanoChemMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_z1NDbECSDUP5"><ix:nonFraction name="us-gaap:InterestExpenseDebt" contextRef="From2023-01-012023-12-31_custom_NanoChemMember_custom_TermLoanMember_custom_MidlandBankMember" id="Fact001173" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">66,957</ix:nonFraction></span> (2022 -
$<span id="xdx_90C_eus-gaap--InterestExpenseDebt_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--NanoChemMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zNR4JyasvsNf"><ix:nonFraction name="us-gaap:InterestExpenseDebt" contextRef="From2022-01-012022-12-31_custom_NanoChemMember_custom_TermLoanMember_custom_MidlandBankMember" id="Fact001174" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">45,113</ix:nonFraction></span>). The balance owing at December 31, 2023 was $<span id="xdx_90E_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemMember_zVZTBxcSlzDa" title="Debt Long term debt amount"><ix:nonFraction name="us-gaap:DebtDefaultLongtermDebtAmount" contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemMember" id="Fact001176" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,004,747</ix:nonFraction></span> (2022 - $<span id="xdx_90E_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemMember_zDokoq75x19c" title="Debt Long term debt amount"><ix:nonFraction name="us-gaap:DebtDefaultLongtermDebtAmount" contextRef="AsOf2022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemMember" id="Fact001178" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,632,672</ix:nonFraction></span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(e) &#160;&#160;&#160;&#160;&#160;&#160;&#160;</b>In
January 2020 ENP Peru signed a $<span id="xdx_909_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zMvbklU6Ffp3" title="Debt instrument face amount"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember" id="Fact001180" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,000,000</ix:nonFraction></span> loan with an interest rate <span id="xdx_90A_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zkw5uk5ni0mj" title="Debt instrument interest rate stated percentage"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_us-gaap_PrimeRateMember_custom_ENPPeruOneMember" id="Fact001182" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">4.35</ix:nonFraction></span>% to be repaid over <span id="xdx_90A_eus-gaap--DebtInstrumentTerm_c20200101__20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_z6HGPCEsMzZh"><ix:nonNumeric contextRef="From2020-01-012020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember" format="ixt-sec:durwordsen" id="Fact001183" name="us-gaap:DebtInstrumentTerm">ten years</ix:nonNumeric></span> with equal monthly payments
including interest. Upon the purchase of the remainder of ENP Peru in June 2022, the Company assumed the first mortgage at Stock
Yards with a balance of $<span id="xdx_901_eus-gaap--LoansPayable_iI_pp0p0_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zyijMwPL6M3i" title="First mortgage"><ix:nonFraction name="us-gaap:LoansPayable" contextRef="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember" id="Fact001185" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,849,500</ix:nonFraction></span>. Interest expense for the year ended December 31, 2023 was $<span id="xdx_90E_eus-gaap--InterestExpense_pp0p0_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zSR8Vl2A0hM2" title="Interest expense"><ix:nonFraction name="us-gaap:InterestExpense" contextRef="From2023-01-012023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember" id="Fact001187" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">122,544</ix:nonFraction></span> (2022 - $<span id="xdx_90C_eus-gaap--InterestExpense_pp0p0_c20220101__20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zIuPnqUFR7A6" title="Interest expense"><ix:nonFraction name="us-gaap:InterestExpense" contextRef="From2022-01-012022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember" id="Fact001189" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">62,679</ix:nonFraction></span>). The balance
owing at December 31, 2023 was $<span id="xdx_901_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_z7q4chNirXD7" title="Debt instrument face amount"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember" id="Fact001191" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,737,232</ix:nonFraction></span> (2022 - $<span id="xdx_902_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zs0hHWpVdcsj" title="Debt instrument face amount"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember" id="Fact001193" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,813,015</ix:nonFraction></span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(f)
</b>&#160;&#160;&#160;&#160;&#160;&#160;&#160;In June 2022, ENP Peru obtained a second mortgage for $<span id="xdx_90C_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zI9v8l3bdqZ9" title="Debt instrument face amount"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruInvestmentsMember" id="Fact001195" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">259,000</ix:nonFraction></span> with Stock Yards to be repaid over <span id="xdx_904_eus-gaap--DebtInstrumentTerm_dtY_c20220601__20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zw3Aa3OgHz47" title="Debt instrument term"><ix:nonNumeric contextRef="From2022-06-012022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruInvestmentsMember" format="ixt-sec:duryear" id="Fact001197" name="us-gaap:DebtInstrumentTerm">10</ix:nonNumeric></span> years with monthly installments
plus interest with an interest rate of <span id="xdx_902_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zVaZp2qWd6Ua" title="Debt instrument interest rate stated percentage"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_us-gaap_PrimeRateMember_custom_ENPPeruInvestmentsMember" id="Fact001199" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">5.4</ix:nonFraction></span>%. Interest expense for the year ended December 31, 2023 was $<span id="xdx_901_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zg53WcNjjSof" title="Interest expense debt"><ix:nonFraction name="us-gaap:InterestExpenseDebt" contextRef="From2023-01-012023-12-31_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember" id="Fact001201" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">13,877</ix:nonFraction></span> (2022 - $<span id="xdx_900_eus-gaap--InterestExpenseDebt_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_z81P2vQtyeBa" title="Interest expense debt"><ix:nonFraction name="us-gaap:InterestExpenseDebt" contextRef="From2022-01-012022-12-31_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember" id="Fact001203" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">7,077</ix:nonFraction></span>). The balance
owing at December 31, 2023 was $<span id="xdx_903_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20231231__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zZA7eOmZJ5Rl" title="Debt instrument face amount"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2023-12-31_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember" id="Fact001205" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">250,207</ix:nonFraction></span> (2022 - $<span id="xdx_90F_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20221231__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zDhPmg7M0yU6" title="Debt instrument face amount"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2022-12-31_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember" id="Fact001207" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">256,162</ix:nonFraction></span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(g)
&#160;&#160;&#160;&#160;&#160;&#160;&#160;</b>In December 2022, NanoChem signed a three year loan for up to $<span id="xdx_90B_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zgVWvrTWlpci" title="Debt instrument face amount"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2022-12-31_custom_TermLoanMember_custom_NanoChemMember" id="Fact001209" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,000,000</ix:nonFraction></span> with Stock Yards with an interest rate of <span id="xdx_907_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zizBbr3RCrb2" title="Debt instrument interest rate stated percentage"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2022-12-31_custom_TermLoanMember_custom_NanoChemMember" id="Fact001211" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">6.5</ix:nonFraction></span>%. Interest
only payments are required for the first 18 months with interest and principal being paid in the last 18 months. The funds are being
used to purchase new manufacturing equipment. Interest expense for the year ended December 31, 2023 was $<span id="xdx_905_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_z1HSVN55ml2j" title="Interest expense debt"><ix:nonFraction name="us-gaap:InterestExpenseDebt" contextRef="From2023-01-012023-12-31_custom_TermLoanMember_custom_NanoChemMember" id="Fact001213" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">67,397</ix:nonFraction></span> (2022 - $<span id="xdx_904_eus-gaap--InterestExpenseDebt_pp0p0_c20220101__20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_z0dwonNor6T8" title="Interest expense debt"><ix:nonFraction name="us-gaap:InterestExpenseDebt" contextRef="From2022-01-012022-12-31_custom_TermLoanMember_custom_NanoChemMember" id="Fact001215" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">23,632</ix:nonFraction></span>). The
balance owing at December 31, 2023 was $<span id="xdx_901_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zFM0F3ZKu73h" title="Debt Long term debt amount"><ix:nonFraction name="us-gaap:DebtDefaultLongtermDebtAmount" contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_NanoChemMember" id="Fact001217" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,475,188</ix:nonFraction></span> (2022 - $<span id="xdx_90B_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zTN9GEZNhhO" title="Debt Long term debt amount"><ix:nonFraction name="us-gaap:DebtDefaultLongtermDebtAmount" contextRef="AsOf2022-12-31_custom_TermLoanMember_custom_NanoChemMember" id="Fact001219" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,036,798</ix:nonFraction></span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(h)
&#160;&#160;&#160;&#160;&#160;&#160;&#160;</b>In June 2023, 317 Mendota signed a five year loan for up to $<span id="xdx_907_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20230630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaMember_ze4NVuTQFZs7" title="Debt instrument face amount"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2023-06-30_custom_TermLoanMember_custom_MendotaMember" id="Fact001221" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,240,000</ix:nonFraction></span> with Stock Yards  to purchase a building and any necessary
renovations. Interest only payments are required for the first 12 months with interest and principal being paid the remaining four years
and a lump sum due in June 2028. Interest expense for the year ended December 31, 2023 was $<span id="xdx_902_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--MendotaMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_zC9HhpfdSiPd" title="Interest expense debt"><ix:nonFraction name="us-gaap:InterestExpenseDebt" contextRef="From2023-01-012023-12-31_custom_MendotaMember_custom_TermLoanMember" id="Fact001223" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">95,396</ix:nonFraction></span> (2022 - $<span id="xdx_90B_eus-gaap--InterestExpenseDebt_pp0p0_dxL_c20220101__20221231__dei--LegalEntityAxis__custom--MendotaMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_zefmNHtk8t98" title="Interest expense debt::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1225">nil</span></span>). The balance owing at
December 31, 2023 was $<span id="xdx_905_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaMember_zvKDkafWWRF4" title="Debt Long term debt amount"><ix:nonFraction name="us-gaap:DebtDefaultLongtermDebtAmount" contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_MendotaMember" id="Fact001227" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,248,292</ix:nonFraction></span> (2022 - $<span id="xdx_90C_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_dxL_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaMember_zl3bNvhrfff2" title="Debt Long term debt amount::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1229">nil</span></span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001231" name="FSI:ScheduleOfLoanCovenantsTableTextBlock"><p id="xdx_892_ecustom--ScheduleOfLoanCovenantsTableTextBlock_zfZQ7xY4opDl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of December 31, 2023, Company was in compliance with all loan covenants.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BF_zB4uSIOEzVg2" style="display: none">SCHEDULE OF LOAN COVENANTS</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold">Continuity</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20230101__20231231_zX6yVXGFCuj3" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49F_20220101__20221231_zjqrh6xCIYTh" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LongTermDebt_iS_zXBYVT30kMJ5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%">Balance, January 1</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2022-12-31" id="Fact001233" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,154,077</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2021-12-31" id="Fact001234" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,366,598</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--LongTermDebt_iS_zBIFxtuQZyM2" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance, beginning of period</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2022-12-31" id="Fact001236" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,154,077</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2021-12-31" id="Fact001237" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,366,598</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_405_eus-gaap--ProceedsFromBankDebt_zExiK14WyNp7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Plus: Proceeds from loans</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromBankDebt" contextRef="From2023-01-01to2023-12-31" id="Fact001239" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,686,682</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromBankDebt" contextRef="From2022-01-012022-12-31" id="Fact001240" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,230,798</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_ecustom--ProceedsFromLoanAcquiredFromAcquisition_zHljed4q7b2k" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Plus: Loan acquired with acquisition of ENP Peru</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1242">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:ProceedsFromLoanAcquiredFromAcquisition" contextRef="From2022-01-012022-12-31" id="Fact001243" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,849,500</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--PaymentsForProceedsFromDepositOnLoan_iN_di_z85eZZbKXVk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Less: Payments on loan</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:PaymentsForProceedsFromDepositOnLoan" contextRef="From2023-01-01to2023-12-31" id="Fact001245" format="ixt:numdotdecimal" decimals="0" unitRef="USD">725,823</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:PaymentsForProceedsFromDepositOnLoan" contextRef="From2022-01-012022-12-31" id="Fact001246" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,292,819</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_409_eus-gaap--LongTermDebt_iE_zBGFwgnGD793" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Balance, end of period</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2023-12-31" id="Fact001248" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,114,936</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2022-12-31" id="Fact001249" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,154,077</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8AA_z0V4D09a8ovi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001251" name="us-gaap:ScheduleOfDebtInstrumentsTextBlock"><p id="xdx_898_eus-gaap--ScheduleOfDebtInstrumentsTextBlock_zGbBGM2KvUDe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BC_zwHTpx6lN5tk" style="display: none">SCHEDULE OF OUTSTANDING BALANCE LOAN</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold">Outstanding balance at December 31,</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_495_20231231_ze55pAaqRpB8" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_492_20221231_zD63pKpGTaNh" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember_zEtBhErZlUm3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">a) Long term debt &#8211; Midland States Bank</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1253">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1254">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankOneMember_zgJyMYLV1o43" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">b) Long term debt &#8211; Midland States Bank</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1256">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1257">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember_zZttK3oWHrGi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">c) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2023-12-31_custom_StockYardsBankTrustMember" id="Fact001259" format="ixt:numdotdecimal" decimals="0" unitRef="USD">399,269</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2022-12-31_custom_StockYardsBankTrustMember" id="Fact001260" format="ixt:numdotdecimal" decimals="0" unitRef="USD">415,430</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustOneMember_zH6ILvH1RCaa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">d) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2023-12-31_custom_StockYardsBankTrustOneMember" id="Fact001262" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,004,748</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2022-12-31_custom_StockYardsBankTrustOneMember" id="Fact001263" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,632,672</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustTwoMember_zpZnwixB5s36" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">e) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2023-12-31_custom_StockYardsBankTrustTwoMember" id="Fact001265" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,737,232</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2022-12-31_custom_StockYardsBankTrustTwoMember" id="Fact001266" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,813,015</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustThreeMember_zIbpKlO4q9xb" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">f) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2023-12-31_custom_StockYardsBankTrustThreeMember" id="Fact001268" format="ixt:numdotdecimal" decimals="0" unitRef="USD">250,207</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2022-12-31_custom_StockYardsBankTrustThreeMember" id="Fact001269" format="ixt:numdotdecimal" decimals="0" unitRef="USD">256,162</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustFourMember_zZnRRK7TXyk8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">g) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2023-12-31_custom_StockYardsBankTrustFourMember" id="Fact001271" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,475,188</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2022-12-31_custom_StockYardsBankTrustFourMember" id="Fact001272" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,036,798</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustFiveMember_zHApQNI3pYxg" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">h) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2023-12-31_custom_StockYardsBankTrustFiveMember" id="Fact001274" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,248,292</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1275">&#8212;</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--LongTermDebt_iI_z9jjOTJ1nsj1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Long-term debt</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2023-12-31" id="Fact001277" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,114,936</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2022-12-31" id="Fact001278" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,154,077</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--LongTermDebtCurrent_iNI_di_ztrEdoNI1gq" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Less: current portion</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:LongTermDebtCurrent" contextRef="AsOf2023-12-31" id="Fact001280" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,281,632</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:LongTermDebtCurrent" contextRef="AsOf2022-12-31" id="Fact001281" format="ixt:numdotdecimal" decimals="0" unitRef="USD">717,612</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40B_eus-gaap--LongTermDebtNoncurrent_iI_z86H0L5EXiY6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Long-term debt non current</span></td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebtNoncurrent" contextRef="AsOf2023-12-31" id="Fact001283" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,833,304</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebtNoncurrent" contextRef="AsOf2022-12-31" id="Fact001284" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,436,465</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A1_zV2Jq9z5ja2l" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 35; Value: 11 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->19<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>&#160;</b></span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001286" name="us-gaap:IncomeTaxDisclosureTextBlock"><p id="xdx_800_eus-gaap--IncomeTaxDisclosureTextBlock_zNH5VvOW1MDk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>13.
<span id="xdx_82B_zYLKzv00fsjb">INCOME TAXES</span> </b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001288" name="us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock"><p id="xdx_895_eus-gaap--ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_znp2yuY0c5w9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
provision for income tax expense (benefit) is comprised of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B4_zcJ3MF1W82dl" style="display: none">SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT)</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_498_20230101__20231231_z0vwBGxN8orj" style="border-bottom: Black 1.5pt solid; text-align: center">2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20220101__20221231_zVn45fy6voPe" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--CurrentFederalTaxExpenseBenefit_maCITEBzvlG_zwcXaZXSE04l" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Current tax, federal</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:CurrentFederalTaxExpenseBenefit" contextRef="From2023-01-01to2023-12-31" id="Fact001290" format="ixt:numdotdecimal" decimals="0" unitRef="USD">753,683</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:CurrentFederalTaxExpenseBenefit" contextRef="From2022-01-012022-12-31" id="Fact001291" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,017,059</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--CurrentStateAndLocalTaxExpenseBenefit_maCITEBzvlG_z2bLX1rTSCNh" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Current tax, state</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" contextRef="From2023-01-01to2023-12-31" id="Fact001293" format="ixt:numdotdecimal" decimals="0" unitRef="USD">340,952</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" contextRef="From2022-01-012022-12-31" id="Fact001294" format="ixt:numdotdecimal" decimals="0" unitRef="USD">460,098</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--CurrentForeignTaxExpenseBenefit_maCITEBzvlG_ziOkgrSdUhG5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Current tax, foreign</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CurrentForeignTaxExpenseBenefit" contextRef="From2023-01-01to2023-12-31" id="Fact001296" format="ixt:numdotdecimal" decimals="0" unitRef="USD">151,236</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CurrentForeignTaxExpenseBenefit" contextRef="From2022-01-012022-12-31" id="Fact001297" format="ixt:numdotdecimal" decimals="0" unitRef="USD">216,082</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_ecustom--CurrentTax_iT_pp0p0_mtCITEBzvlG_maCITEBzPIr_zs0SlM9leVdj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Current tax</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:CurrentTax" contextRef="From2023-01-01to2023-12-31" id="Fact001299" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,245,871</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:CurrentTax" contextRef="From2022-01-012022-12-31" id="Fact001300" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,693,239</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_ecustom--IncomeTaxRecovery_iN_pp0p0_di_msCITEBzPIr_zXS7tpvFRl26" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Income tax recovery</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="FSI:IncomeTaxRecovery" contextRef="From2023-01-01to2023-12-31" id="Fact001302" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,127,689</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="FSI:IncomeTaxRecovery" contextRef="From2022-01-012022-12-31" id="Fact001303" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,476,088</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_404_eus-gaap--CurrentIncomeTaxExpenseBenefit_iT_mtCITEBzPIr_maITEBz5Oq_z7O8oqZeofw9" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Current tax, total</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CurrentIncomeTaxExpenseBenefit" contextRef="From2023-01-01to2023-12-31" id="Fact001305" format="ixt:numdotdecimal" decimals="0" unitRef="USD">118,182</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CurrentIncomeTaxExpenseBenefit" contextRef="From2022-01-012022-12-31" id="Fact001306" format="ixt:numdotdecimal" decimals="0" unitRef="USD">217,151</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--DeferredFederalIncomeTaxExpenseBenefit_maDITEBzP63_zi4o3dgIdpFa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Deferred income tax, federal</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" contextRef="From2023-01-01to2023-12-31" id="Fact001308" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">172,763</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" contextRef="From2022-01-012022-12-31" id="Fact001309" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">49,088</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--DeferredStateAndLocalIncomeTaxExpenseBenefit_maDITEBzP63_zLOmSjE0BWE1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Deferred income tax, state</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" contextRef="From2023-01-01to2023-12-31" id="Fact001311" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">78,154</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" contextRef="From2022-01-012022-12-31" id="Fact001312" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">22,207</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--DeferredForeignIncomeTaxExpenseBenefit_maDITEBzP63_zj0t4MfXLkK" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Deferred income tax, foreign</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1314">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1315">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--DeferredIncomeTaxExpenseBenefit_iT_pp0p0_mtDITEBzP63_maITEBz5Oq_z3sjKsO8DmDa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Deferred income tax, total</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="From2023-01-01to2023-12-31" id="Fact001317" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">250,917</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="From2022-01-012022-12-31" id="Fact001318" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">71,295</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--IncomeTaxExpenseBenefit_iT_pp0p0_mtITEBz5Oq_zusEQq4RKT01" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Total</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2023-01-01to2023-12-31" id="Fact001320" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">132,735</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2022-01-012022-12-31" id="Fact001321" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">145,856</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8AE_zNYZ0JSGNT4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; color: red"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001323" name="us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock"><p id="xdx_897_eus-gaap--ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_zX0242aJu7S7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table reconciles the income tax expense at the U.S. Federal statutory rate to income tax expense at the Company&#8217;s effective
tax rates.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; color: red"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B4_zdAA34rfyLK" style="display: none">SCHEDULE OF RECONCILIATION OF INCOME TAXES</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="color: red">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20230101__20231231_zVaamDwkn4ik" style="border-bottom: Black 1.5pt solid; text-align: center">2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_499_20220101__20221231_zqT8qlAhRhSg" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_zSVvkqA84LK4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; color: black; text-align: left">Income before tax</td><td style="width: 2%; color: black">&#160;</td>
    <td style="width: 1%; color: black; text-align: left">$</td><td style="width: 16%; color: black; text-align: right"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2023-01-01to2023-12-31" id="Fact001325" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,623,250</ix:nonFraction></td><td style="width: 1%; color: black; text-align: left">&#160;</td><td style="width: 2%; color: black">&#160;</td>
    <td style="width: 1%; color: black; text-align: left">$</td><td style="width: 16%; color: black; text-align: right"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2022-01-012022-12-31" id="Fact001326" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,859,085</ix:nonFraction></td><td style="width: 1%; color: black; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_pid_dp_uPure_zFV2ORC57Qxd" style="vertical-align: bottom; background-color: White">
    <td style="color: black; text-align: left; padding-bottom: 1.5pt">US statutory tax rates</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; color: black; text-align: right"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="From2023-01-01to2023-12-31" id="Fact001328" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">30.50</ix:nonFraction></td><td style="padding-bottom: 1.5pt; color: black; text-align: left">%</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; color: black; text-align: right"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="From2022-01-012022-12-31" id="Fact001329" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">30.50</ix:nonFraction></td><td style="padding-bottom: 1.5pt; color: black; text-align: left">%</td></tr>
  <tr id="xdx_40E_ecustom--ExpectedIncomeTaxRecovery_zaXM1BMsKeZd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="color: black; text-align: left">Expected income tax</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right"><ix:nonFraction name="FSI:ExpectedIncomeTaxRecovery" contextRef="From2023-01-01to2023-12-31" id="Fact001331" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,105,091</ix:nonFraction></td><td style="color: black; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right"><ix:nonFraction name="FSI:ExpectedIncomeTaxRecovery" contextRef="From2022-01-012022-12-31" id="Fact001332" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,397,021</ix:nonFraction></td><td style="color: black; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--IncomeTaxReconciliationNondeductibleExpense_i_pp0p0" style="vertical-align: bottom; background-color: White">
    <td style="color: black; text-align: left">Non-deductible items</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxReconciliationNondeductibleExpense" contextRef="From2023-01-01to2023-12-31" id="Fact001334" format="ixt:numdotdecimal" decimals="0" unitRef="USD">362,554</ix:nonFraction></td><td style="color: black; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationNondeductibleExpense" contextRef="From2022-01-012022-12-31" id="Fact001335" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">243,167</ix:nonFraction></td><td style="color: black; text-align: left">)</td></tr>
  <tr id="xdx_40F_eus-gaap--IncomeTaxReconciliationOtherAdjustments_i_pp0p0" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="color: black; text-align: left">Change in estimates and other</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationOtherAdjustments" contextRef="From2023-01-01to2023-12-31" id="Fact001337" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">1,585,427</ix:nonFraction></td><td style="color: black; text-align: left">)</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationOtherAdjustments" contextRef="From2022-01-012022-12-31" id="Fact001338" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">2,004,041</ix:nonFraction></td><td style="color: black; text-align: left">)</td></tr>
  <tr id="xdx_401_eus-gaap--IncomeTaxReconciliationForeignIncomeTaxRateDifferential_i_pp0p0" style="vertical-align: bottom; background-color: White">
    <td style="color: black; text-align: left">Foreign tax rate difference</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential" contextRef="From2023-01-01to2023-12-31" id="Fact001340" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">92,379</ix:nonFraction></td><td style="color: black; text-align: left">)</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential" contextRef="From2022-01-012022-12-31" id="Fact001341" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">226,611</ix:nonFraction></td><td style="color: black; text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_i_pp0p0" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="color: black; text-align: left; padding-bottom: 1.5pt">Change in valuation allowance</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; color: black; text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" contextRef="From2023-01-01to2023-12-31" id="Fact001343" format="ixt:numdotdecimal" decimals="0" unitRef="USD">77,426</ix:nonFraction></td><td style="padding-bottom: 1.5pt; color: black; text-align: left">&#160;</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; color: black; text-align: right">(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" contextRef="From2022-01-012022-12-31" id="Fact001344" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">222,654</ix:nonFraction></td><td style="padding-bottom: 1.5pt; color: black; text-align: left">)</td></tr>
  <tr id="xdx_403_eus-gaap--IncomeTaxExpenseBenefit_i_pp0p0" style="vertical-align: bottom; background-color: White">
    <td style="color: black; text-align: left; padding-bottom: 1.5pt">Total income taxes</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; color: black; text-align: right">(<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2023-01-01to2023-12-31" id="Fact001346" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">132,735</ix:nonFraction></td><td style="padding-bottom: 1.5pt; color: black; text-align: left">)</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; color: black; text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2022-01-012022-12-31" id="Fact001347" format="ixt:numdotdecimal" decimals="0" unitRef="USD">145,856</ix:nonFraction></td><td style="padding-bottom: 1.5pt; color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="color: red">&#160;</td><td style="color: red">&#160;</td>
    <td style="color: red; text-align: left">&#160;</td><td style="color: red; text-align: right">&#160;</td><td style="color: red; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">&#160;</td><td style="color: black; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--CurrentIncomeTaxExpenseBenefit_zgkA0EFkCoqk" style="vertical-align: bottom; background-color: White">
    <td style="color: black; text-align: left">Current income tax expense</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right"><ix:nonFraction name="us-gaap:CurrentIncomeTaxExpenseBenefit" contextRef="From2023-01-01to2023-12-31" id="Fact001349" format="ixt:numdotdecimal" decimals="0" unitRef="USD">118,182</ix:nonFraction></td><td style="color: black; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right"><ix:nonFraction name="us-gaap:CurrentIncomeTaxExpenseBenefit" contextRef="From2022-01-012022-12-31" id="Fact001350" format="ixt:numdotdecimal" decimals="0" unitRef="USD">217,151</ix:nonFraction></td><td style="color: black; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--DeferredIncomeTaxExpenseBenefit_zRyMB2ui9Jt5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="color: black; text-align: left; padding-bottom: 1.5pt">Deferred tax recovery</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; color: black; text-align: right">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="From2023-01-01to2023-12-31" id="Fact001352" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">250,917</ix:nonFraction></td><td style="padding-bottom: 1.5pt; color: black; text-align: left">)</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; color: black; text-align: right">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="From2022-01-012022-12-31" id="Fact001353" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">71,295</ix:nonFraction></td><td style="padding-bottom: 1.5pt; color: black; text-align: left">)</td></tr>
  <tr id="xdx_40D_eus-gaap--IncomeTaxExpenseBenefit_zcy3LjuqRCNb" style="vertical-align: bottom; background-color: White">
    <td style="color: black; text-align: left; padding-bottom: 1.5pt">Total income tax expense (recovery)</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; color: black; text-align: right">(<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2023-01-01to2023-12-31" id="Fact001355" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">132,735</ix:nonFraction></td><td style="padding-bottom: 1.5pt; color: black; text-align: left">)</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; color: black; text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2022-01-012022-12-31" id="Fact001356" format="ixt:numdotdecimal" decimals="0" unitRef="USD">145,856</ix:nonFraction></td><td style="padding-bottom: 1.5pt; color: black; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A7_z9wbyZhobgAa" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Included
in current income tax expense for the year ended December 31, 2023 is a recovery of $<span id="xdx_903_ecustom--IncomeTaxRecovery_c20230101__20231231_zVjcnYh06Tcj" title="Current income tax expense"><ix:nonFraction name="FSI:IncomeTaxRecovery" contextRef="From2023-01-01to2023-12-31" id="Fact001358" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,127,689</ix:nonFraction></span> (2022 - $<span id="xdx_906_ecustom--IncomeTaxRecovery_c20220101__20221231_zaSQUBSCwYFe" title="Current income tax expense"><ix:nonFraction name="FSI:IncomeTaxRecovery" contextRef="From2022-01-012022-12-31" id="Fact001360" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,476,088</ix:nonFraction></span>) for a revision of
estimated current taxes payable for previous years.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; color: red"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; color: red"></p>

<ix:exclude><!-- Field: Page; Sequence: 36; Value: 16 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->20<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; color: red"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001362" name="us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock"><p id="xdx_895_eus-gaap--ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_zuRx1qHwucRa" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred
taxes reflect the tax effects of temporary differences between the carrying amounts of assets and liabilities for financial reporting
purposes. Deferred tax assets (liabilities) at December 31, 2023 and 2022 are comprised of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B3_zODjV05YqsU6" style="display: none">SCHEDULE OF DEFERRED TAX ASSETS (LIABILITIES)</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="color: black">Canada</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">&#160;</td><td style="color: black; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">&#160;</td><td style="color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 60%; color: black; text-align: left">Non capital loss carryforwards</td><td style="width: 2%; color: black">&#160;</td>
    <td style="width: 1%; color: black; text-align: left">$</td><td id="xdx_98B_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_iI_pp0p0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zXRGeL9UGiO3" title="Non capital loss carryforwards" style="width: 16%; color: black; text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember" id="Fact001364" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">855,176</ix:nonFraction></td><td style="width: 1%; color: black; text-align: left">&#160;</td><td style="width: 2%; color: black">&#160;</td>
    <td style="width: 1%; color: black; text-align: left">$</td><td id="xdx_98F_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_iI_pp0p0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zLHWtCk27G95" title="Non capital loss carryforwards" style="width: 16%; color: black; text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" contextRef="AsOf2022-12-31_us-gaap_CanadaRevenueAgencyMember" id="Fact001366" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">891,954</ix:nonFraction></td><td style="width: 1%; color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; color: black; text-align: left">Intangible assets</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--DeferredTaxAssetsGoodwillAndIntangibleAssets_iI_pp0p0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_za8pVqvYUWXa" title="Intangible assets" style="color: black; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1368">-</span></td><td style="color: black; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--DeferredTaxAssetsGoodwillAndIntangibleAssets_iI_pp0p0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zV0uFYptlw4j" title="Intangible assets" style="color: black; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1370">-</span></td><td style="color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; color: black; text-align: left; padding-bottom: 1.5pt">Property, equipment and leaseholds</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td id="xdx_98D_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipment_iI_pp0p0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zdGNjqDKz5X1" title="Property, equipment and leaseholds" style="border-bottom: Black 1.5pt solid; color: black; text-align: right"><ix:nonFraction name="FSI:DeferredTaxAssetsPropertyPlantsAndEquipment" contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember" id="Fact001372" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">30,916</ix:nonFraction></td><td style="padding-bottom: 1.5pt; color: black; text-align: left">&#160;</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td id="xdx_98C_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipment_iI_pp0p0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zDu7tLZuNJhk" title="Property, equipment and leaseholds" style="border-bottom: Black 1.5pt solid; color: black; text-align: right"><ix:nonFraction name="FSI:DeferredTaxAssetsPropertyPlantsAndEquipment" contextRef="AsOf2022-12-31_us-gaap_CanadaRevenueAgencyMember" id="Fact001374" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">47,279</ix:nonFraction></td><td style="padding-bottom: 1.5pt; color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="color: black">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--DeferredTaxAssetsGross_iI_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zf17Jnh3wPcl" title="Deferred tax assets gross" style="color: black; text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsGross" contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember" id="Fact001376" format="ixt:numdotdecimal" decimals="0" unitRef="USD">886,092</ix:nonFraction></td><td style="color: black; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--DeferredTaxAssetsGross_iI_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zc3kF18Pgkc5" title="Deferred tax assets gross" style="color: black; text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsGross" contextRef="AsOf2022-12-31_us-gaap_CanadaRevenueAgencyMember" id="Fact001378" format="ixt:numdotdecimal" decimals="0" unitRef="USD">939,233</ix:nonFraction></td><td style="color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; color: black; text-align: left; padding-bottom: 1.5pt">Valuation allowance</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--DeferredTaxAssetsValuationAllowance_iNI_pp0p0_di_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zRzDS3LjDmIf" title="Valuation Allowance" style="border-bottom: Black 1.5pt solid; color: black; text-align: right">(<ix:nonFraction name="us-gaap:DeferredTaxAssetsValuationAllowance" contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember" id="Fact001380" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">886,092</ix:nonFraction></td><td style="padding-bottom: 1.5pt; color: black; text-align: left">)</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--DeferredTaxAssetsValuationAllowance_iNI_pp0p0_di_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zG4vHB20Ze9i" title="Valuation Allowance" style="border-bottom: Black 1.5pt solid; color: black; text-align: right">(<ix:nonFraction name="us-gaap:DeferredTaxAssetsValuationAllowance" contextRef="AsOf2022-12-31_us-gaap_CanadaRevenueAgencyMember" id="Fact001382" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">939,233</ix:nonFraction></td><td style="padding-bottom: 1.5pt; color: black; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; color: black; text-align: left; padding-bottom: 1.5pt">Net deferred tax asset</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">$</td><td id="xdx_98D_eus-gaap--DeferredTaxAssetsNet_iI_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_z7PbWzPSzogh" title="Net deferred tax asset" style="border-bottom: Black 1.5pt solid; color: black; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1384">-</span></td><td style="padding-bottom: 1.5pt; color: black; text-align: left">&#160;</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">$</td><td id="xdx_989_eus-gaap--DeferredTaxAssetsNet_iI_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zovlEcYdq5z2" title="Net deferred tax asset" style="border-bottom: Black 1.5pt solid; color: black; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1386">-</span></td><td style="padding-bottom: 1.5pt; color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="color: black">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">&#160;</td><td style="color: black; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">&#160;</td><td style="color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="color: black">US</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">&#160;</td><td style="color: black; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">&#160;</td><td style="color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="color: black; padding-bottom: 1.5pt">&#160;</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; color: black; text-align: right">2023</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">&#160;</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; color: black; text-align: right">2022</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; color: black; text-align: left">Net operating loss carryforwards</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">$</td><td id="xdx_98B_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_iI_pdp0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zuA6HUy4Vb12" title="Net operating loss carryforwards" style="color: black; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1388">-</span></td><td style="color: black; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">$</td><td id="xdx_984_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_iI_pdp0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zVr3cPcNwvg1" title="Net operating loss carryforwards" style="color: black; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1390">-</span></td><td style="color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; color: black; text-align: left">Intangible assets</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--DeferredTaxAssetsGoodwillAndIntangibleAssets_iI_pdp0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zV5lJBysEuz3" title="Intangible assets" style="color: black; text-align: right">(<ix:nonFraction name="us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets" contextRef="AsOf2023-12-31_us-gaap_InternalRevenueServiceIRSMember" id="Fact001392" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">11,346</ix:nonFraction></td><td style="color: black; text-align: left">)</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--DeferredTaxAssetsGoodwillAndIntangibleAssets_iI_pdp0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zmbpG8GkacWk" title="Intangible assets" style="color: black; text-align: right">(<ix:nonFraction name="us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets" contextRef="AsOf2022-12-31_us-gaap_InternalRevenueServiceIRSMember" id="Fact001394" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">6,070</ix:nonFraction></td><td style="color: black; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; color: black">Investments</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--DeferredTaxAssetsInvestments_iNI_pp0p0_di_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zNIWHhTsXF7i" title="Investments" style="color: black; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1396">-</span></td><td style="color: black; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--DeferredTaxAssetsInvestments_iNI_pp0p0_di_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zRwfs6y0HLwa" title="Investments" style="color: black; text-align: right">(<ix:nonFraction name="us-gaap:DeferredTaxAssetsInvestments" contextRef="AsOf2022-12-31_us-gaap_InternalRevenueServiceIRSMember" id="Fact001398" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">7,676</ix:nonFraction></td><td style="color: black; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; color: black; text-align: left">Property, equipment and leaseholds</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_98F_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipmentOne_iNI_pp0p0_di_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zE7sPkrTeKx" title="Property, equipment and leaseholds" style="color: black; text-align: right">(<ix:nonFraction name="FSI:DeferredTaxAssetsPropertyPlantsAndEquipmentOne" contextRef="AsOf2023-12-31_us-gaap_InternalRevenueServiceIRSMember" id="Fact001400" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">248,701</ix:nonFraction></td><td style="color: black; text-align: left">)</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_988_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipmentOne_iNI_pp0p0_di_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zd83pEvMGMla" title="Property, equipment and leaseholds" style="color: black; text-align: right">(<ix:nonFraction name="FSI:DeferredTaxAssetsPropertyPlantsAndEquipmentOne" contextRef="AsOf2022-12-31_us-gaap_InternalRevenueServiceIRSMember" id="Fact001402" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">486,713</ix:nonFraction></td><td style="color: black; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; color: black; text-align: left">Property, equipment and leaseholds</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_986_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipment_iI_pp0p0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zI5Xx0JzKdId" title="Property, equipment and leaseholds" style="color: black; text-align: right"><ix:nonFraction name="FSI:DeferredTaxAssetsPropertyPlantsAndEquipment" contextRef="AsOf2023-12-31_us-gaap_InternalRevenueServiceIRSMember" id="Fact001404" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">284,794</ix:nonFraction></td><td style="color: black; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_981_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipment_iI_pp0p0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zS4ucoxqPHVj" title="Property, equipment and leaseholds" style="color: black; text-align: right"><ix:nonFraction name="FSI:DeferredTaxAssetsPropertyPlantsAndEquipment" contextRef="AsOf2022-12-31_us-gaap_InternalRevenueServiceIRSMember" id="Fact001406" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">274,289</ix:nonFraction></td><td style="color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; color: black; text-align: left">Financial instruments</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--DeferredTaxAssetsDerivativeInstruments_iI_pp0p0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zjVnoDATpoxd" title="Financial instruments" style="color: black; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1408">-</span></td><td style="color: black; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--DeferredTaxAssetsDerivativeInstruments_iI_pp0p0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zxnPPf0BzkEd" title="Financial instruments" style="color: black; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1410">-</span></td><td style="color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; color: black; text-align: left; padding-bottom: 1.5pt">Deferred tax asset not recognized</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td id="xdx_98B_ecustom--DeferredTaxAssetNotRecognized_iI_pp0p0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zNQKy6UUk0J5" title="Deferred tax asset not recognized" style="border-bottom: Black 1.5pt solid; color: black; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1412">-</span></td><td style="padding-bottom: 1.5pt; color: black; text-align: left">&#160;</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td id="xdx_980_ecustom--DeferredTaxAssetNotRecognized_iI_pp0p0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zhayezuX0C63" title="Deferred tax asset not recognized" style="border-bottom: Black 1.5pt solid; color: black; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1414">-</span></td><td style="padding-bottom: 1.5pt; color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; color: black; text-align: left; padding-bottom: 1.5pt">Net deferred tax asset (liability)</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">$</td><td id="xdx_98C_eus-gaap--DeferredTaxAssetsNet_iI_pp0p0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zDfFqCEfyGz5" title="Net deferred tax asset" style="border-bottom: Black 1.5pt solid; color: black; text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsNet" contextRef="AsOf2023-12-31_us-gaap_InternalRevenueServiceIRSMember" id="Fact001416" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">24,747</ix:nonFraction></td><td style="padding-bottom: 1.5pt; color: black; text-align: left">&#160;</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">$</td><td id="xdx_987_eus-gaap--DeferredTaxLiabilities_iNI_pp0p0_di_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zXiaKJ85Tsgd" title="Net deferred tax liability" style="border-bottom: Black 1.5pt solid; color: black; text-align: right">(<ix:nonFraction name="us-gaap:DeferredTaxLiabilities" contextRef="AsOf2022-12-31_us-gaap_InternalRevenueServiceIRSMember" id="Fact001418" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">226,170</ix:nonFraction></td><td style="padding-bottom: 1.5pt; color: black; text-align: left">)</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A8_zdH0733xorbg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has non-capital loss carryforwards of approximately $<span id="xdx_902_eus-gaap--OperatingLossCarryforwards_iI_pp0p0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zS8xHk7utUQ9" title="Operating loss carryforwards"><ix:nonFraction name="us-gaap:OperatingLossCarryforwards" contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember" id="Fact001420" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,718,155</ix:nonFraction></span> (2022 - $<span id="xdx_90D_eus-gaap--OperatingLossCarryforwards_iI_pp0p0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zXpKGMjJzRk2" title="Operating loss carryforwards"><ix:nonFraction name="us-gaap:OperatingLossCarryforwards" contextRef="AsOf2022-12-31_us-gaap_CanadaRevenueAgencyMember" id="Fact001422" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,878,060</ix:nonFraction></span>) which may be carried forward to apply against
future year income tax for Canadian income tax purposes, subject to the final determination by taxation authorities, expiring in the
following years:</span></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001424" name="FSI:ScheduleOfNonOperatingLossCarryforwardsTableTextBlock"><p id="xdx_89B_ecustom--ScheduleOfNonOperatingLossCarryforwardsTableTextBlock_zICUdGIqjP7f" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B0_zYj08sqpz05a" style="display: none">SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 50%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: right">Loss</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: right">2030</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--OperatingLossCarryforwards_iI_c20231231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyTaxYearMember_z9Vtagg8HGW2" title="Total" style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:OperatingLossCarryforwards" contextRef="AsOf2023-12-31_custom_TwoThousandThirtyTaxYearMember" id="Fact001426" format="ixt:numdotdecimal" decimals="0" unitRef="USD">407,947</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right">2031</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--OperatingLossCarryforwards_iI_c20231231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyOneYearMember_zsXfzMPi8jKk" title="Total" style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLossCarryforwards" contextRef="AsOf2023-12-31_custom_TwoThousandThirtyOneYearMember" id="Fact001428" format="ixt:numdotdecimal" decimals="0" unitRef="USD">941,856</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: right">2032</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--OperatingLossCarryforwards_iI_c20231231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyTwoYearMember_zPE6KGlso7xc" title="Total" style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLossCarryforwards" contextRef="AsOf2023-12-31_custom_TwoThousandThirtyTwoYearMember" id="Fact001430" format="ixt:numdotdecimal" decimals="0" unitRef="USD">615,878</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right">2037</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--OperatingLossCarryforwards_iI_c20231231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtySevenYearMember_zSCfVs98lyoe" title="Total" style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLossCarryforwards" contextRef="AsOf2023-12-31_custom_TwoThousandThirtySevenYearMember" id="Fact001432" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,692,555</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: right">2039</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--OperatingLossCarryforwards_iI_c20231231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyNineYearMember_zaXSPK4Gqcv2" title="Total" style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLossCarryforwards" contextRef="AsOf2023-12-31_custom_TwoThousandThirtyNineYearMember" id="Fact001434" format="ixt:numdotdecimal" decimals="0" unitRef="USD">48,048</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right; padding-bottom: 1.5pt">2040</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--OperatingLossCarryforwards_iI_c20231231__us-gaap--TaxPeriodAxis__custom--TwoThousandFourtyYearMember_zbPc3PtPXGV2" title="Total" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingLossCarryforwards" contextRef="AsOf2023-12-31_custom_TwoThousandFourtyYearMember" id="Fact001436" format="ixt:numdotdecimal" decimals="0" unitRef="USD">11,871</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: center; padding-bottom: 1.5pt">Total</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--OperatingLossCarryforwards_iI_c20231231_zgwwiDN33yM4" title="Total" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingLossCarryforwards" contextRef="AsOf2023-12-31" id="Fact001438" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,718,155</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8AE_zIoh2CPHaob6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
at December 31, 2023, the Company has no net operating loss carryforwards available for US tax purposes.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">Accounting
for Uncertainty for Income Tax</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As at December 31, 2023 and 2022, the Company&#8217;s consolidated balance
sheets did not reflect an asset for uncertain tax positions but did account for accrued penalties or interest associated with income taxes
not yet filed. The Company has no income tax examinations in progress.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001440" name="us-gaap:EarningsPerShareTextBlock"><p id="xdx_808_eus-gaap--EarningsPerShareTextBlock_ziDKEgAfhVfi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>14.
<span id="xdx_82D_z1eowYXS6bCj">INCOME PER SHARE</span> </b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;&#160;</span></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001442" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"><p id="xdx_896_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zG7NyYScyDV" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 35.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company presents both basic and diluted income per share on the face of its consolidated statements of income. Basic and diluted income
per share are calculated as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 35.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BD_zPPG2ZFXsC1i" style="display: none">SCHEDULE OF BASIC AND DILUTED LOSS PER SHARE</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_491_20230101__20231231_zHt17frmXL12" style="border-bottom: Black 1.5pt solid; text-align: center">2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20220101__20221231_zvDJZqAkPVMk" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--NetIncomeLoss_i_pp0p0" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Net income attributable to controlling interest</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-01to2023-12-31" id="Fact001444" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,775,864</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-01-012022-12-31" id="Fact001445" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,021,604</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Weighted average common shares outstanding:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_pid_zZqo7BFqzTGk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Basic</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2023-01-01to2023-12-31" id="Fact001447" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,434,886</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2022-01-012022-12-31" id="Fact001448" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,379,316</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_pid_zSfaMxIZ09V8" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Diluted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2023-01-01to2023-12-31" id="Fact001450" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,489,467</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2022-01-012022-12-31" id="Fact001451" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,466,415</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net income per common share attributable to controlling interest:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--EarningsPerShareBasic_zDc6xc7ms4Ra" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Basic</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2023-01-01to2023-12-31" id="Fact001453" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.22</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2022-01-012022-12-31" id="Fact001454" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.57</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--EarningsPerShareDiluted_z7guU2MzeMOc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt">Diluted</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2023-01-01to2023-12-31" id="Fact001456" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.22</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2022-01-012022-12-31" id="Fact001457" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.56</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A3_zBSgbnNAI5W8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 37; Value: 11 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->21<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certain
stock options whose terms and conditions are described in Note 15, &#8220;Stock Options&#8221; could potentially dilute basic EPS in
the future, but were not included in the computation of diluted EPS because to do so would have been anti-dilutive. Those anti-dilutive
options are as follows.</span></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001459" name="us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock"><p id="xdx_890_eus-gaap--ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_zQvbX5UKcTtc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BD_znbh1KPoDwN9" style="display: none">SCHEDULE OF ANTI-DILUTIVE OPTIONS</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49E_20230101__20231231_zBzY3f4LgpT2" style="border-bottom: Black 1.5pt solid; text-align: center">2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_498_20220101__20221231_zPCPCMDHkd2i" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 60%">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_i_pdd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Anti-dilutive options</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" contextRef="From2023-01-01to2023-12-31" id="Fact001461" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">740,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" contextRef="From2022-01-012022-12-31" id="Fact001462" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,304,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A7_zHnWaPe8NV49" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">There
were <span id="xdx_90B_eus-gaap--PreferredStockSharesIssued_iI_pid_do_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zkxUHCJLvYzk" title="Preferred stock, shares issued"><span id="xdx_90A_eus-gaap--PreferredStockSharesOutstanding_iI_pid_do_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zQseBQCkbh2g" title="Preferred stock, shares outstanding"><span id="xdx_90B_eus-gaap--PreferredStockSharesIssued_iI_pid_do_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zuzlwdpQ2Nu1" title="Preferred stock, shares issued"><span id="xdx_909_eus-gaap--PreferredStockSharesOutstanding_iI_pid_do_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zN7RVgLYBys5" title="Preferred stock, shares outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember" id="Fact001464" format="ixt-sec:numwordsen" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember" id="Fact001466" format="ixt-sec:numwordsen" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2022-12-31_us-gaap_CanadaRevenueAgencyMember" id="Fact001468" format="ixt-sec:numwordsen" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2022-12-31_us-gaap_CanadaRevenueAgencyMember" id="Fact001470" format="ixt-sec:numwordsen" decimals="INF" unitRef="Shares">no</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction></span></span></span></span> preferred shares issued and outstanding during the years ended December 31, 2023 and 2022.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001472" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock"><p id="xdx_80D_eus-gaap--DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_zGAw2trAFNk6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>15.
<span id="xdx_82D_zIlMfXtpQ0V9">STOCK OPTIONS</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has a stock option plan (&#8220;Plan&#8221;). The purpose of this Plan is to provide additional incentives to key employees,
officers, directors and consultants of the Company and its subsidiaries in order to help attract and retain the best available personnel
for positions of responsibility and otherwise promote the success of the Company&#8217;s business. It is intended that options issued
under this Plan constitute non-qualified stock options. The general terms of awards under the option plan are that <span id="xdx_909_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_pid_dp_uPure_c20230101__20231231_zZbb3MnAdQH9" title="Options granted percentage"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" contextRef="From2023-01-01to2023-12-31" id="Fact001474" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">100</ix:nonFraction></span>% of the options
granted will vest the year following the grant unless a executive employee is granted a multi-year stock option grant where an equal
amount vests over the next <span id="xdx_90C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_dtY_c20230101__20231231_z4J4ZjSzUhl1" title="Vested term"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt-sec:duryear" id="Fact001476" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1">5</ix:nonNumeric></span> years. The maximum term of options granted is <span id="xdx_905_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_dtY_c20230101__20231231_zWyOLykUis2f" title="Options maximum granted term"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt-sec:duryear" id="Fact001478" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod">5</ix:nonNumeric></span> years and the exercise price for all options are issued
for not less than fair market value at the date of the grant.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001480" name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock"><p id="xdx_895_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_z3jDVfiVt1be" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes the Company&#8217;s stock option activities for the years ended December 31, 2023 and 2022:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B6_zAxzstzN5Czb" style="display: none">SCHEDULE OF STOCK OPTION ACTIVITIES</span></p>


<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"><p style="margin: 0pt">Number of</p>
                                                                                <p style="margin: 0pt">shares</p></td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Exercise <br/>price per share</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Weighted <br/>average <br/>exercise price</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td colspan="2" style="font-size: 12pt">&#160;</td><td style="font-size: 12pt">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td colspan="2" style="font-size: 12pt">&#160;</td><td style="font-size: 12pt">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td colspan="2" style="font-size: 12pt">&#160;</td><td style="font-size: 12pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%">Balance, December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20220101__20221231_zgZBkQBt6ZFe" title="Number of shares, Beginning Balance" style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2021-12-31" id="Fact001482" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">789,500</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><span style="font-size: 10pt"> <span id="xdx_904_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zlbqUJx73vad" title="Exercise price per share, Beginning Balance"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" contextRef="AsOf2021-12-31_srt_MinimumMember" id="Fact001484" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.42</ix:nonFraction></span> &#8211; <span id="xdx_90C_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zPREWe00dhz9" title="Exercise price per share, Beginning Balance"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" contextRef="AsOf2021-12-31_srt_MaximumMember" id="Fact001486" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">4.13</ix:nonFraction></span></span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20220101__20221231_zujLCMriWRub" title="Weighted average exercise price, Beginning Balance" style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2021-12-31" id="Fact001488" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.78</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20220101__20221231_zkBrtwfyHU27" title="Number of shares, Granted" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2022-01-012022-12-31" id="Fact001490" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">981,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-size: 10pt"><span id="xdx_908_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zUiZeTp2GvOe" title="Exercise price per share, Granted"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" contextRef="From2022-01-012022-12-31_srt_MinimumMember" id="Fact001492" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.55</ix:nonFraction></span> &#8211; <span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zs9BvQEm3Dhf" title="Exercise price per share, Granted"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" contextRef="From2022-01-012022-12-31_srt_MaximumMember" id="Fact001494" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.61</ix:nonFraction></span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220101__20221231_zEDEISGelfh8" title="Weighted average exercise price, Granted" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" contextRef="From2022-01-012022-12-31" id="Fact001496" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.55</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Cancelled or expired</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_pid_di_c20220101__20221231_zQEJsDyOvzUe" title="Number of shares, Cancelled or expired" style="text-align: right">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" contextRef="From2022-01-012022-12-31" id="Fact001498" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">13,486</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-size: 10pt"><span id="xdx_90F_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zmAKBPENpqvh" title="Exercise price per share, Cancelled"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" contextRef="From2022-01-012022-12-31_srt_MinimumMember" id="Fact001500" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.70</ix:nonFraction></span> &#8211; <span id="xdx_90E_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zIbWzooVznr3" title="Exercise price per share, Cancelled"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" contextRef="From2022-01-012022-12-31_srt_MaximumMember" id="Fact001502" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.61</ix:nonFraction></span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20220101__20221231_zoZWoSJzJvea" title="Weighted average exercise price, Cancelled or expired" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" contextRef="From2022-01-012022-12-31" id="Fact001504" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.32</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Exercised</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20220101__20221231_zRsyChNJxmI1" title="Number of shares, Exercised" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2022-01-012022-12-31" id="Fact001506" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">71,014</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-size: 10pt"><span id="xdx_906_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_z4aOf7fluPw9" title="Exercise price per share, Exercised"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" contextRef="From2022-01-012022-12-31_srt_MinimumMember" id="Fact001508" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.42</ix:nonFraction></span> &#8211; <span id="xdx_902_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zDiKb9d2loCk" title="Exercise price per share, Exercised"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" contextRef="From2022-01-012022-12-31_srt_MaximumMember" id="Fact001510" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.44</ix:nonFraction></span></span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20220101__20221231_zLTmUld9uxi7" title="Weighted average exercise price, Exercised" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" contextRef="From2022-01-012022-12-31" id="Fact001512" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.98</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance, December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_905_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20230101__20231231_zAz28w48DXal" title="Number of shares, Beginning Balance"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2022-12-31" id="Fact001514" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,686,000</ix:nonFraction></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-size: 10pt"><span id="xdx_907_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_pid_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_zE5lTgF95Q9" title="Exercise price per share, Beginning Balance"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" contextRef="AsOf2022-12-31_srt_MinimumMember" id="Fact001516" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.70</ix:nonFraction></span> &#8211; <span id="xdx_906_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_pid_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zUa1b6iTY83e" title="Exercise price per share, Beginning Balance"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" contextRef="AsOf2022-12-31_srt_MaximumMember" id="Fact001518" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">4.13</ix:nonFraction></span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20230101__20231231_z5XuehN2nK62" title="Weighted average exercise price, Beginning Balance"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2022-12-31" id="Fact001520" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.26</ix:nonFraction></span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Cancelled or expired</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_pid_di_c20230101__20231231_zBRf4Udw7241" title="Number of shares, Cancelled or expired" style="text-align: right">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" contextRef="From2023-01-01to2023-12-31" id="Fact001522" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">564,000</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-size: 10pt"><span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_zcIYOaqyUYs3" title="Exercise price per share, Cancelled or expired"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" contextRef="From2023-01-012023-12-31_srt_MinimumMember" id="Fact001524" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.46</ix:nonFraction></span> &#8211; <span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zPdgdCffuco6" title="Exercise price per share, Cancelled or expired"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" contextRef="From2023-01-012023-12-31_srt_MaximumMember" id="Fact001526" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">4.13</ix:nonFraction></span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20230101__20231231_zKVW2OK6GBvd" title="Weighted average exercise price, Cancelled or expired" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" contextRef="From2023-01-01to2023-12-31" id="Fact001528" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.55</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Exercised</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20230101__20231231_znq7Eo1oj6n8" title="Number of shares, Exercised" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2023-01-01to2023-12-31" id="Fact001530" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">8,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span id="xdx_90D_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20230101__20231231_zBFkHutqx0M1" title="Exercise price per share, Exercised"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" contextRef="From2023-01-01to2023-12-31" id="Fact001532" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.70</ix:nonFraction></span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20230101__20231231_zhZOQgILXPpe" title="Weighted average exercise price, Exercised" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" contextRef="From2023-01-01to2023-12-31" id="Fact001534" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.70</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Balance, December 31, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span id="xdx_90A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_pid_c20230101__20231231_zNHRmnI8RAAa" title="Number of shares Exercisable, Ending Balance"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2023-12-31" id="Fact001536" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,114,000</ix:nonFraction></span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-size: 10pt"><span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_znGuGmy3A8of" title="Exercise price per share, Ending Balance"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" contextRef="AsOf2023-12-31_srt_MinimumMember" id="Fact001538" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.75</ix:nonFraction></span> &#8211; <span id="xdx_90F_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zlwkxpLMzCtb" title="Exercise price per share, Ending Balance"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" contextRef="AsOf2023-12-31_srt_MaximumMember" id="Fact001540" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.61</ix:nonFraction></span></span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20230101__20231231_zsyrRQjJI9zd" title="Weighted average exercise price, Ending Balance"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2023-12-31" id="Fact001542" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.13</ix:nonFraction></span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Exercisable, December 31, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_pid_c20230101__20231231_z8Ke9jIluI97" title="Number of shares Exercisable, Ending Balance" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" contextRef="AsOf2023-12-31" id="Fact001544" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">754,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-size: 10pt"><span id="xdx_909_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_zqClI5NjvhUj" title="Exercise price per share Exercisable, Ending Balance"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" contextRef="AsOf2023-12-31_srt_MinimumMember" id="Fact001546" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.75</ix:nonFraction></span>
&#8211; <span id="xdx_908_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zu6XjxVUBgq7" title="Exercise price per share Exercisable, Ending Balance"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" contextRef="AsOf2023-12-31_srt_MaximumMember" id="Fact001548" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.61</ix:nonFraction></span></span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_c20230101__20231231_z7GfcUcC6vwg" title="Weighted average exercise price, Exercisable, Ending Balance" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" contextRef="AsOf2023-12-31" id="Fact001550" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.93</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8AF_z5nLcIZG575e" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
weighted-average remaining contractual life of outstanding options is <span id="xdx_905_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231_zVS4jXOCAS8g" title="Weighted-average remaining contractual life"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt-sec:duryear" id="Fact001552" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">2.90</ix:nonNumeric></span> years.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001554" name="us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock"><p id="xdx_892_eus-gaap--ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_zi10yAD4o8T9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair value of each option grant is calculated using the following weighted average assumptions:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B3_zPxe6RWCJlSd" style="display: none">SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS</span></p>


<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 85%">
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left">Expected life &#8211; years</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right"><span id="xdx_907_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20220101__20221231_zAGUb7dMLRwi" title="Expected life - years"><ix:nonNumeric contextRef="From2022-01-012022-12-31" format="ixt-sec:duryear" id="Fact001556" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">3.0</ix:nonNumeric></span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Interest rate</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-size: 10pt"><span id="xdx_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zUrNVn9K22nf" title="Interest rate"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" contextRef="From2022-01-012022-12-31_srt_MinimumMember" id="Fact001558" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">1.76</ix:nonFraction></span> &#8211; <span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_z2apJgicLEab" title="Interest rate"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" contextRef="From2022-01-012022-12-31_srt_MaximumMember" id="Fact001560" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">3.64</ix:nonFraction></span> </span></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Volatility</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-size: 10pt"><span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_z8dJ1GuzjDY1" title="Volatility"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" contextRef="From2022-01-012022-12-31_srt_MinimumMember" id="Fact001562" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">66.01</ix:nonFraction></span> - <span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zfMjRaMLDRXk" title="Volatility"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" contextRef="From2022-01-012022-12-31_srt_MaximumMember" id="Fact001564" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">69.66</ix:nonFraction></span> </span></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Weighted average fair value of options granted</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-size: 10pt"> <span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zjCKEQ00P5Lg" title="Weighted average fair value of options granted"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="From2022-01-012022-12-31_srt_MinimumMember" id="Fact001566" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.46</ix:nonFraction></span> &#8211; <span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zNobaYpunYHh" title="Weighted average fair value of options granted"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="From2022-01-012022-12-31_srt_MaximumMember" id="Fact001568" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.65</ix:nonFraction></span></span></td><td style="text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A1_z4cZW9cS3189" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2023, the Company granted <span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_dxL_c20230101__20231231__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zgAPLpKR2fq7" title="Stock options granted::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1570">nil</span></span> (2022 &#8211; <span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20220101__20221231__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zZLElZSmmHod" title="Stock options granted"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2022-01-012022-12-31_custom_ConsultantsMember" id="Fact001572" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">46,000</ix:nonFraction></span>) stock options to consultants and has applied ASC 718
using the Black-Scholes option-pricing model, which resulted in expenses of $<span id="xdx_90B_eus-gaap--StockOptionPlanExpense_dxL_c20230101__20231231__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zVzsJvjjPOea" title="Stock option expense::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1574">nil</span></span> (2022 - $<span id="xdx_90B_eus-gaap--StockOptionPlanExpense_c20220101__20221231__srt--TitleOfIndividualAxis__custom--ConsultantsMember_znOEW8spDCP1" title="Stock option expense"><ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="From2022-01-012022-12-31_custom_ConsultantsMember" id="Fact001576" format="ixt:numdotdecimal" decimals="0" unitRef="USD">14,850</ix:nonFraction></span>). Options granted in other years resulted
in additional expenses of $<span id="xdx_90A_ecustom--AdditionalExpensesDueToOptionsGranted_c20230101__20231231__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zMlMTKAKnZkk" title="Additional expenses due to options granted"><ix:nonFraction name="FSI:AdditionalExpensesDueToOptionsGranted" contextRef="From2023-01-012023-12-31_custom_ConsultantsMember" id="Fact001578" format="ixt:numdotdecimal" decimals="0" unitRef="USD">62,241</ix:nonFraction></span> (2022 &#8211; $<span id="xdx_900_ecustom--AdditionalExpensesDueToOptionsGranted_c20220101__20221231__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zNKWiV3g1ML" title="Additional expenses due to options granted"><ix:nonFraction name="FSI:AdditionalExpensesDueToOptionsGranted" contextRef="From2022-01-012022-12-31_custom_ConsultantsMember" id="Fact001580" format="ixt:numdotdecimal" decimals="0" unitRef="USD">62,187</ix:nonFraction></span>). During the year ended December 31, 2023, employees were granted <span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_dxL_c20230101__20231231__srt--TitleOfIndividualAxis__custom--EmployeesMember_zlzjO11s0cF" title="Stock options granted::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1582">nil</span></span> (2022 &#8211;
<span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20220101__20221231__srt--TitleOfIndividualAxis__custom--EmployeesMember_zXuH06sSKlB9" title="Stock options granted"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2022-01-012022-12-31_custom_EmployeesMember" id="Fact001584" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">935,000</ix:nonFraction></span>) stock options, which resulted in expenses of $<span id="xdx_900_eus-gaap--StockOptionPlanExpense_dxL_c20230101__20231231__srt--TitleOfIndividualAxis__custom--EmployeesMember_z6w0Qr8tKbB2" title="Stock option expense::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1586">nil</span></span> (2022 &#8211; $<span id="xdx_908_eus-gaap--StockOptionPlanExpense_c20220101__20221231__srt--TitleOfIndividualAxis__custom--EmployeesMember_z80elCAPJex6" title="Stock option expense"><ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="From2022-01-012022-12-31_custom_EmployeesMember" id="Fact001588" format="ixt:numdotdecimal" decimals="0" unitRef="USD">172,731</ix:nonFraction></span>). Options granted in other years resulted in additional
expenses in the amount of $<span id="xdx_901_ecustom--AdditionalExpensesDueToOptionsGranted_c20230101__20231231__srt--TitleOfIndividualAxis__custom--EmployeesMember_zpRWPwi5pkEh" title="Additional expenses due to options granted"><ix:nonFraction name="FSI:AdditionalExpensesDueToOptionsGranted" contextRef="From2023-01-012023-12-31_custom_EmployeesMember" id="Fact001590" format="ixt:numdotdecimal" decimals="0" unitRef="USD">328,769</ix:nonFraction></span> for employees during the year ended December 31, 2023 (2022 - $<span id="xdx_908_ecustom--AdditionalExpensesDueToOptionsGranted_c20220101__20221231__srt--TitleOfIndividualAxis__custom--EmployeesMember_z8AKXjQjI7W6" title="Additional expenses due to options granted"><ix:nonFraction name="FSI:AdditionalExpensesDueToOptionsGranted" contextRef="From2022-01-012022-12-31_custom_EmployeesMember" id="Fact001592" format="ixt:numdotdecimal" decimals="0" unitRef="USD">149,380</ix:nonFraction></span>). There were <span id="xdx_905_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20230101__20231231__srt--TitleOfIndividualAxis__custom--EmployeesMember_z1jOhKRLx8Td" title="Stock options exercised"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2023-01-012023-12-31_custom_EmployeesMember" id="Fact001594" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">8,000</ix:nonFraction></span> employee
and <span id="xdx_902_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_dxL_c20230101__20231231__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zB3cpoaEWnec" title="Stock options exercised::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1596">nil</span></span> consultant stock options exercised during the year ended December 31, 2023 (2022 &#8211; <span id="xdx_90E_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20220101__20221231__srt--TitleOfIndividualAxis__custom--EmployeesMember_zhrqVxEMl05k" title="Stock options exercised"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2022-01-012022-12-31_custom_EmployeesMember" id="Fact001598" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">54,500</ix:nonFraction></span> employee; <span id="xdx_906_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20220101__20221231__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zGZxefTgRwQ3" title="Stock options exercised"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2022-01-012022-12-31_custom_ConsultantsMember" id="Fact001600" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">16,514</ix:nonFraction></span> consultant).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 38; Value: 11 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->22<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of December 31, 2023, there was approximately $<span id="xdx_900_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_iI_pp0p0_c20231231_z98ab7F3jjM" title="Stock vested compensation non vested"><ix:nonFraction name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" contextRef="AsOf2023-12-31" id="Fact001602" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">375,351</ix:nonFraction></span> of compensation expense related to non-vested awards. This expense is expected
to be recognized over a weighted average period of <span id="xdx_906_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_dtY_c20230101__20231231_z79Q1wpnDrq5" title="Weighted average period expected to be recognized"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt-sec:duryear" id="Fact001604" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">2.5</ix:nonNumeric></span> years.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
aggregate intrinsic value of vested options outstanding at December 31, 2023 is $<span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_iI_dxL_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zMSEgMC8RkTj" title="Aggregate intrinsic value of vested options::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1606">nil</span></span> (2022 &#8211; $<span id="xdx_90D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_iI_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zjfsn3hjHDK2" title="Aggregate intrinsic value of vested options"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" contextRef="AsOf2022-12-31_us-gaap_CanadaRevenueAgencyMember" id="Fact001608" format="ixt:numdotdecimal" decimals="0" unitRef="USD">69,190</ix:nonFraction></span>). The intrinsic value of options
exercised during the year ended December 31, 2023 was $<span id="xdx_902_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_c20230101__20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_z3UDoSWH9vEk" title="Aggregate intrinsic value of vested options exercised"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" contextRef="From2023-01-012023-12-31_us-gaap_CanadaRevenueAgencyMember" id="Fact001610" format="ixt:numdotdecimal" decimals="0" unitRef="USD">11,520</ix:nonFraction></span> (2022 - $<span id="xdx_90C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_c20220101__20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zzy4XSZx8HM8" title="Aggregate intrinsic value of vested options exercised"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" contextRef="From2022-01-012022-12-31_us-gaap_CanadaRevenueAgencyMember" id="Fact001612" format="ixt:numdotdecimal" decimals="0" unitRef="USD">96,989</ix:nonFraction></span>).</span></p>
<!-- Field: Split-Segment; Name: 002 -->
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001614" name="us-gaap:StockholdersEquityNoteDisclosureTextBlock"><p id="xdx_801_eus-gaap--StockholdersEquityNoteDisclosureTextBlock_zR3XJajiEUt2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>16.
<span id="xdx_82A_zLTx24n9ybQj">CAPITAL STOCK</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2023, <span id="xdx_90A_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_pid_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zfgwGkgXenml" title="Stock options exercised"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember" id="Fact001616" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">8,000</ix:nonFraction></span> shares were issued upon the exercise of employee stock options (2022 &#8211; <span id="xdx_90A_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_pid_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zc646MVCWWE3" title="Stock options exercised"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2022-01-012022-12-31_us-gaap_EmployeeStockOptionMember" id="Fact001618" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">54,500</ix:nonFraction></span>) and <span id="xdx_900_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_pid_c20230101__20231231__us-gaap--AwardTypeAxis__custom--ConsultantStockOptionMember_zKHbZI1vQ8Ve" title="Stock options exercised">nil</span>
shares were issued upon the exercise of consultant stock options (2022 &#8211; <span id="xdx_901_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_pid_c20220101__20221231__us-gaap--AwardTypeAxis__custom--ConsultantStockOptionMember_zYQiDZHc6pl4" title="Stock options exercised"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2022-01-012022-12-31_custom_ConsultantStockOptionMember" id="Fact001622" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">16,514</ix:nonFraction></span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2023, the Company issued <span id="xdx_90A_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20230101__20231231_zU7jXuV1aIx9" title="Consultant for services, shares"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesIssuedForServices" contextRef="From2023-01-01to2023-12-31" id="Fact001624" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,272</ix:nonFraction></span> shares to a consultant for services rendered, resulting in an expense of $<span id="xdx_90E_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_c20230101__20231231_zLtK9Fi7fYjl" title="Consultant for services, value"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2023-01-01to2023-12-31" id="Fact001626" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,070</ix:nonFraction></span>
on the consolidated statements of income and comprehensive income for the year ended December 31, 2023 (2022 - $<span id="xdx_908_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_dxL_c20220101__20221231_zjTiVArjkcU2" title="Consultant for services, value::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1628">nil</span></span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
the year ended December 31, 2023, the Company announced a special dividend of $<span id="xdx_90A_eus-gaap--DividendsPayableAmountPerShare_iI_pid_c20231231_zZjgupP2vOC2" title="Dividends per share"><ix:nonFraction name="us-gaap:DividendsPayableAmountPerShare" contextRef="AsOf2023-12-31" id="Fact001630" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.05</ix:nonFraction></span>
per share that was paid on May 16, 2023 to shareholders (2022 - $<span id="xdx_90F_eus-gaap--DividendsPayableAmountPerShare_iI_pid_dxL_c20221231_zBzPhLX4BHGk" title="Dividends per share::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1632">nil</span></span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001634" name="us-gaap:MinorityInterestDisclosureTextBlock"><p id="xdx_809_eus-gaap--MinorityInterestDisclosureTextBlock_zh34YxiUIWX9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>17.
<span id="xdx_829_z6Keglov2Ty9">NON-CONTROLLING INTERESTS</span> </b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">a<span style="font-variant: small-caps">)
</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ENP Investments is a limited liability corporation
(&#8220;LLC&#8221;) that manufactures and distributes golf, turf and ornamental agriculture products in Mendota, Illinois. The Company
owns a <span id="xdx_905_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zy63Gw4zHmn5" title="Subsidiary company ownership interest rate"><ix:nonFraction name="us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" contextRef="From2023-01-012023-12-31_custom_ENPInvestmentsLLCMember" id="Fact001636" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">65</ix:nonFraction></span>% interest in ENP Investments through its wholly-owned subsidiary NanoChem. An unrelated party (&#8220;NCI&#8221;) owns the
remaining <span id="xdx_90A_eus-gaap--MinorityInterestOwnershipPercentageByParent_iI_pid_dp_uPure_c20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zsrX5Bz8zwDf" title="Related party owner ship percentage"><ix:nonFraction name="us-gaap:MinorityInterestOwnershipPercentageByParent" contextRef="AsOf2023-12-31_custom_ENPInvestmentsLLCMember68528578" id="Fact001638" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">35</ix:nonFraction></span>% interest in ENP Investments. ENP Mendota is a wholly owned subsidiary of ENP Investments. ENP Mendota is a LLC that leases
warehouse space. For financial reporting purposes, the assets, liabilities and earnings of both of the LLC&#8217;s are consolidated into
these financial statements. The NCI&#8217;s ownership interest in ENP Investments is recorded in non-controlling interests in these consolidated
financial statements. The non-controlling interest represents NCI&#8217;s interest in the earnings and equity of ENP Investments. ENP
Investments is allocated to the TPA segment.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ENP
Investments makes cash distributions to its equity owners based on formulas defined within its Ownership Interest Purchase Agreement
dated October 1, 2018. Distributions are defined in the Ownership Interest Purchase Agreement as cash on hand to the extent it exceeds
current and anticipated long-term and short-term needs, including, without limitation, needs for operating expenses, debt service, acquisitions,
reserves, and mandatory distributions, if any.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">From
the effective date of acquisition onward, the minimum distributions requirements under the Ownership Interest Purchase Agreement were
satisfied. The total distribution from the effective date of acquisition onward was $<span id="xdx_90F_eus-gaap--PaymentsToMinorityShareholders_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zWvMv8W3Pgei" title="Partnership distribution to non-controlling interest"><ix:nonFraction name="us-gaap:PaymentsToMinorityShareholders" contextRef="From2023-01-012023-12-31_custom_ENPInvestmentsLLCMember" id="Fact001640" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,225,957</ix:nonFraction></span>.</span></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001642" name="FSI:ScheduleOfDistributionsTableTextBlock"><p id="xdx_895_ecustom--ScheduleOfDistributionsTableTextBlock_zQVJq8fOy1Yc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B5_zyuaje2sUzqe" style="display: none">SCHEDULE
OF DISTRIBUTIONS</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Balance, December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_989_eus-gaap--MinorityInterest_iS_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zh3oFgmbYaS" title="Distribution to noncontrolling interests, Beginning balance" style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:MinorityInterest" contextRef="AsOf2021-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember" id="Fact001644" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,602,843</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Distribution</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_di_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zTjNSyHtMBKf" title="Distribution" style="text-align: right">(<ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2022-01-012022-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember" id="Fact001646" format="ixt:numdotdecimal" decimals="0" unitRef="USD">689,434</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Non-controlling interest share of income</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_z56Cov3BLDH6" title="Non-controlling interest share of income" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" contextRef="From2022-01-012022-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember" id="Fact001648" format="ixt:numdotdecimal" decimals="0" unitRef="USD">691,625</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance, December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--MinorityInterest_iS_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zcHZphA3KFql" title="Distribution to noncontrolling interests, Beginning balance" style="text-align: right"><ix:nonFraction name="us-gaap:MinorityInterest" contextRef="AsOf2022-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember" id="Fact001650" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,605,034</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Distribution</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_di_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zvfvFV7AuLpf" title="Distribution" style="text-align: right">(<ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2023-01-012023-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember" id="Fact001652" format="ixt:numdotdecimal" decimals="0" unitRef="USD">719,439</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Non-controlling interest share of income</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zrVxE1MRXEHl" title="Non-controlling interest share of income" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" contextRef="From2023-01-012023-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember" id="Fact001654" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,015,604</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Balance, December 31, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98C_eus-gaap--MinorityInterest_iE_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zrJe7V01Dg2b" title="Distribution to noncontrolling interests, Ending balance" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:MinorityInterest" contextRef="AsOf2023-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember" id="Fact001656" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,901,199</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A6_zxRx4GA69no4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2023, the Company had sales of $<span id="xdx_90A_eus-gaap--Revenues_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zcMueXjkLxud" title="Sales"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2023-01-012023-12-31_custom_ENPInvestmentsLLCMember" id="Fact001658" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,811,083</ix:nonFraction></span> (2022 - $<span id="xdx_905_eus-gaap--Revenues_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zTqJKvseLNq1" title="Sales"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2022-01-012022-12-31_custom_ENPInvestmentsLLCMember" id="Fact001660" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,667,815</ix:nonFraction></span>) to the NCI, of which $<span id="xdx_90B_eus-gaap--AccountsReceivableNetCurrent_iI_c20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zWgWtwqqT7dh" title="Accounts receivable"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="AsOf2023-12-31_custom_ENPInvestmentsLLCMember68528578" id="Fact001662" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,225,028</ix:nonFraction></span> is included
within Accounts Receivable as of December 31, 2023 (2022 &#8211; $<span id="xdx_90E_eus-gaap--AccountsReceivableNetCurrent_iI_c20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zdjmr4j9L6L8" title="Accounts receivable"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="AsOf2022-12-31_custom_ENPInvestmentsLLCMember" id="Fact001664" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,634,083</ix:nonFraction></span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 39; Value: 11 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->23<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>b<span style="font-variant: small-caps">)
</span></b>317 Mendota is a LLC that owns real estate that the Company intends to occupy part of while renting out the excess. The Company
owns a <span id="xdx_90A_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember_zJHSXBdp6iwg" title="Subsidiary company ownership interest rate"><ix:nonFraction name="us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" contextRef="From2023-01-012023-12-31_custom_MendotaLLCMember" id="Fact001666" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">80</ix:nonFraction></span>% interest in 317 Mendota and an unrelated party (&#8220;317 NCI&#8221;) owns the remaining <span id="xdx_90F_eus-gaap--MinorityInterestOwnershipPercentageByParent_iI_pid_dp_uPure_c20231231__srt--OwnershipAxis__custom--MendotaLLCMember_zA0FQyvLwcT" title="Related party owner ship percentage"><ix:nonFraction name="us-gaap:MinorityInterestOwnershipPercentageByParent" contextRef="AsOf2023-12-31_custom_MendotaLLCMember" id="Fact001668" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">20</ix:nonFraction></span>% interest in 317 Mendota. For
financial reporting purposes, the assets, liabilities and earnings of 317 Mendota are consolidated into these financial statements. The
317 NCI&#8217;s ownership interest in 317 Mendota is recorded in non-controlling interests in these consolidated financial statements.
The non-controlling interest represents 317 NCI&#8217;s interest in the earnings and equity of 317 Mendota. 317 Mendota is allocated
to the TPA segment as that is the intended use of the building.</span></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001670" name="FSI:ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock"><p id="xdx_895_ecustom--ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock_zlTc967sZkOh" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BB_zM7DCHk7TfEk" style="display: none">SCHEDULE
OF NON CONTROLLING INTEREST RELATED TO ACQUISITION</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance, December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_984_eus-gaap--MinorityInterest_iS_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zlBCS3ehM1Vd" title="Distribution to noncontrolling interests, Beginning balance" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1672">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 80%">Acquisition</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--PaymentsToAcquireBusinessesAndInterestInAffiliates_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zDSHR01VvBPg" title="Distribution to noncontrolling interests, Acquisition" style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:PaymentsToAcquireBusinessesAndInterestInAffiliates" contextRef="From2023-01-012023-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember" id="Fact001674" format="ixt:numdotdecimal" decimals="0" unitRef="USD">200,000</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Non-controlling interest share of loss</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--NoncontrollingInterestDecreaseFromDeconsolidation_iN_di_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zKkUckOfun9d" title="Distribution to noncontrolling interests, Non-controlling interest share of loss" style="text-align: right">(<ix:nonFraction name="us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation" contextRef="From2023-01-012023-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember" id="Fact001676" format="ixt:numdotdecimal" decimals="0" unitRef="USD">35,483</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance, December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_985_eus-gaap--MinorityInterest_iE_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_z4U1PVisbeWb" title="Distribution to noncontrolling interests, Ending balance" style="text-align: right"><ix:nonFraction name="us-gaap:MinorityInterest" contextRef="AsOf2023-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember" id="Fact001678" format="ixt:numdotdecimal" decimals="0" unitRef="USD">164,517</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8AE_zIsscUYkqx43" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001680" name="us-gaap:SegmentReportingDisclosureTextBlock"><p id="xdx_80E_eus-gaap--SegmentReportingDisclosureTextBlock_zIvq63QpMJY6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>18.
<span id="xdx_82A_zifRyN3EF769">SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company operates in <span id="xdx_905_eus-gaap--NumberOfOperatingSegments_dc_uSegments_c20230101__20231231_zV0zbgXRRCRg" title="Number of operating segments"><ix:nonFraction name="us-gaap:NumberOfOperatingSegments" contextRef="From2023-01-01to2023-12-31" id="Fact001682" format="ixt-sec:numwordsen" decimals="INF" unitRef="Segments">two</ix:nonFraction></span> segments:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(a)
</b>Energy and water conservation products (as shown under the column heading &#8220;EWCP&#8221; below), which consists of a (i) liquid
swimming pool blankets which save energy and water by inhibiting evaporation from the pool surface, and (ii) food-safe powdered form
of the active ingredient within the liquid blankets and which are designed to be used in still or slow moving drinking water sources.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(b)
</b>Biodegradable polymers, also known as TPA&#8217;s (as shown under the column heading &#8220;BCPA&#8221; below), used by the petroleum,
chemical, utility and mining industries to prevent corrosion and scaling in water piping. This product can also be used in detergents
to increase biodegradability and in agriculture to increase crop yields by enhancing fertilizer uptake.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
third product line is nitrogen conservation products used for the agriculture industry. These products decrease the loss of nitrogen
fertilizer after initial application and allows less fertilizer to be used. These products are made and sold by the Company&#8217;s TPA
division.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
accounting policies of the segments are the same as those described in Note 2, <i>Significant Accounting Policies</i>. The Company evaluates
performance based on profit or loss from operations before income taxes, not including nonrecurring gains and losses and foreign exchange
gains and losses</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s reportable segments are strategic business units that offer different, but synergistic products and services. They are
managed separately because each business requires different technology and marketing strategies.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Year
ended December 31, 2023:</span></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001684" name="us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock"><p id="xdx_89A_eus-gaap--ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock_zWZe7s71UT32" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B1_zoA5dWvmVHLb" style="display: none">SCHEDULE
OF REPORTABLE SEGMENTS</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_492_20230101__20231231__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zz4RZo8QEyGh" style="border-bottom: Black 1.5pt solid; text-align: center">EWCP</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_493_20230101__20231231__srt--ProductOrServiceAxis__custom--BCPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zJwM9ZULJ2p4" style="border-bottom: Black 1.5pt solid; text-align: center">BCPA</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49F_20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zKJVGd5ire59" style="border-bottom: Black 1.5pt solid; text-align: center">Consolidated</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zKihmIeUF8Rb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: justify">Sales</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_EWCPMember_custom_SegmentMember" id="Fact001686" format="ixt:numdotdecimal" decimals="0" unitRef="USD">572,845</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_BCPAMember_custom_SegmentMember" id="Fact001687" format="ixt:numdotdecimal" decimals="0" unitRef="USD">37,751,961</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_SegmentMember" id="Fact001688" format="ixt:numdotdecimal" decimals="0" unitRef="USD">38,324,806</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--InterestExpense_zMKGecgwYOy3" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InterestExpense" contextRef="From2023-01-012023-12-31_custom_EWCPMember_custom_SegmentMember" id="Fact001690" format="ixt:numdotdecimal" decimals="0" unitRef="USD">387</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InterestExpense" contextRef="From2023-01-012023-12-31_custom_BCPAMember_custom_SegmentMember" id="Fact001691" format="ixt:numdotdecimal" decimals="0" unitRef="USD">498,279</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InterestExpense" contextRef="From2023-01-012023-12-31_custom_SegmentMember" id="Fact001692" format="ixt:numdotdecimal" decimals="0" unitRef="USD">498,666</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--DepreciationNonproduction_zD1WwEHW9bZ3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Depreciation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepreciationNonproduction" contextRef="From2023-01-012023-12-31_custom_EWCPMember_custom_SegmentMember" id="Fact001694" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,411</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepreciationNonproduction" contextRef="From2023-01-012023-12-31_custom_BCPAMember_custom_SegmentMember" id="Fact001695" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,668,908</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepreciationNonproduction" contextRef="From2023-01-012023-12-31_custom_SegmentMember" id="Fact001696" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,686,319</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_zme53CDMLVP1" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Current and deferred income tax recovery (expense)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2023-01-012023-12-31_custom_EWCPMember_custom_SegmentMember" id="Fact001698" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">35,341</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2023-01-012023-12-31_custom_BCPAMember_custom_SegmentMember" id="Fact001699" format="ixt:numdotdecimal" decimals="0" unitRef="USD">168,076</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2023-01-012023-12-31_custom_SegmentMember" id="Fact001700" format="ixt:numdotdecimal" decimals="0" unitRef="USD">132,735</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NetIncomeLoss_zEjRTG3wWeAa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Segment profit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-12-31_custom_EWCPMember_custom_SegmentMember" id="Fact001702" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">256,390</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-12-31_custom_BCPAMember_custom_SegmentMember" id="Fact001703" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,032,254</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-12-31_custom_SegmentMember" id="Fact001704" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,775,864</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_ecustom--SegmentAssets_zAjUkYu8f7B" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Segment assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:SegmentAssets" contextRef="From2023-01-012023-12-31_custom_EWCPMember_custom_SegmentMember" id="Fact001706" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,843,123</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:SegmentAssets" contextRef="From2023-01-012023-12-31_custom_BCPAMember_custom_SegmentMember" id="Fact001707" format="ixt:numdotdecimal" decimals="0" unitRef="USD">50,627,932</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:SegmentAssets" contextRef="From2023-01-012023-12-31_custom_SegmentMember" id="Fact001708" format="ixt:numdotdecimal" decimals="0" unitRef="USD">55,471,055</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zvZ1QQo6f0d1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Expenditures for segment assets</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1710">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2023-01-012023-12-31_custom_BCPAMember_custom_SegmentMember" id="Fact001711" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">4,990,675</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2023-01-012023-12-31_custom_SegmentMember" id="Fact001712" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">4,990,675</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"></p>

<ix:exclude><!-- Field: Page; Sequence: 40 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->24<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Year
ended December 31, 2022:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_494_20220101__20221231__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zTRnyC6o5D5e" style="border-bottom: Black 1.5pt solid; text-align: center">EWCP</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20220101__20221231__srt--ProductOrServiceAxis__custom--BCPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zt9kSuCFWpKh" style="border-bottom: Black 1.5pt solid; text-align: center">BCPA</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_492_20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zjtnBmrK6Su6" style="border-bottom: Black 1.5pt solid; text-align: center">Consolidated</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zl0TD0OvNMU8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: justify">Sales</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_EWCPMember_custom_SegmentMember" id="Fact001714" format="ixt:numdotdecimal" decimals="0" unitRef="USD">528,462</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_BCPAMember_custom_SegmentMember" id="Fact001715" format="ixt:numdotdecimal" decimals="0" unitRef="USD">45,312,007</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_SegmentMember" id="Fact001716" format="ixt:numdotdecimal" decimals="0" unitRef="USD">45,840,469</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--InterestExpense_ztUCU98H7LXa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1718">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InterestExpense" contextRef="From2022-01-012022-12-31_custom_BCPAMember_custom_SegmentMember" id="Fact001719" format="ixt:numdotdecimal" decimals="0" unitRef="USD">292,949</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InterestExpense" contextRef="From2022-01-012022-12-31_custom_SegmentMember" id="Fact001720" format="ixt:numdotdecimal" decimals="0" unitRef="USD">292,949</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--DepreciationNonproduction_zrRFvC6jytj9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Depreciation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepreciationNonproduction" contextRef="From2022-01-012022-12-31_custom_EWCPMember_custom_SegmentMember" id="Fact001722" format="ixt:numdotdecimal" decimals="0" unitRef="USD">33,876</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepreciationNonproduction" contextRef="From2022-01-012022-12-31_custom_BCPAMember_custom_SegmentMember" id="Fact001723" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,243,555</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepreciationNonproduction" contextRef="From2022-01-012022-12-31_custom_SegmentMember" id="Fact001724" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,277,431</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_zHuOPguDhmcf" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Current and deferred income tax expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2022-01-012022-12-31_custom_EWCPMember_custom_SegmentMember" id="Fact001726" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,898</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2022-01-012022-12-31_custom_BCPAMember_custom_SegmentMember" id="Fact001727" format="ixt:numdotdecimal" decimals="0" unitRef="USD">126,958</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2022-01-012022-12-31_custom_SegmentMember" id="Fact001728" format="ixt:numdotdecimal" decimals="0" unitRef="USD">145,856</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NetIncomeLoss_zoW5VU1vWzYa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Segment profit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-01-012022-12-31_custom_EWCPMember_custom_SegmentMember" id="Fact001730" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">334,525</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-01-012022-12-31_custom_BCPAMember_custom_SegmentMember" id="Fact001731" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,047,754</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-01-012022-12-31_custom_SegmentMember" id="Fact001732" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,713,229</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_ecustom--SegmentAssets_zD4jWpaAEgvg" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Segment assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:SegmentAssets" contextRef="From2022-01-012022-12-31_custom_EWCPMember_custom_SegmentMember" id="Fact001734" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,810,091</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:SegmentAssets" contextRef="From2022-01-012022-12-31_custom_BCPAMember_custom_SegmentMember" id="Fact001735" format="ixt:numdotdecimal" decimals="0" unitRef="USD">48,777,101</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:SegmentAssets" contextRef="From2022-01-012022-12-31_custom_SegmentMember" id="Fact001736" format="ixt:numdotdecimal" decimals="0" unitRef="USD">51,587,192</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_z7uF1yacUQg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Expenditures for segment assets</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1738">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2022-01-012022-12-31_custom_BCPAMember_custom_SegmentMember" id="Fact001739" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">1,981,307</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2022-01-012022-12-31_custom_SegmentMember" id="Fact001740" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">1,981,307</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A7_zXgnscUEjIIl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001742" name="us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock"><p id="xdx_893_eus-gaap--ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_zp2QbVKGSbia" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Sales
by territory are shown below:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BE_zxAQwrJDYMO1" style="display: none">SCHEDULE
OF REVENUE GENERATED IN UNITED STATES AND CANADA</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_492_20230101__20231231_zARgVo60GNM4" style="border-bottom: Black 1.5pt solid; text-align: center">2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20220101__20221231_zAV9pmSbF4Q2" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__country--CA_zSRI6s6oDU46" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%">Canada</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_country_CA" id="Fact001744" format="ixt:numdotdecimal" decimals="0" unitRef="USD">755,844</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_country_CA" id="Fact001745" format="ixt:numdotdecimal" decimals="0" unitRef="USD">552,123</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__custom--UnitedStatesandAbroadMember_zBJg9tzwWVwk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">United States and abroad</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_UnitedStatesandAbroadMember" id="Fact001747" format="ixt:numdotdecimal" decimals="0" unitRef="USD">37,568,962</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_UnitedStatesandAbroadMember" id="Fact001748" format="ixt:numdotdecimal" decimals="0" unitRef="USD">45,288,346</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zvM5ZCSIlZaj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Total</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-01to2023-12-31" id="Fact001750" format="ixt:numdotdecimal" decimals="0" unitRef="USD">38,324,806</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31" id="Fact001751" format="ixt:numdotdecimal" decimals="0" unitRef="USD">45,840,469</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A3_z4f9ZYW2ay84" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001753" name="us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock"><p id="xdx_89C_eus-gaap--ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock_zB044KFQcNxb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s long-lived assets (property, equipment, leaseholds, right of use assets, intangibles, and goodwill) are located in Canada
and the United States as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B7_zseiyHibndUe" style="display: none">SCHEDULE
OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49E_20231231_zBRm5jHTd6di" style="border-bottom: Black 1.5pt solid; text-align: center">2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_498_20221231_zfzSFgjHgw1c" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--CA_zXVHM0eFdOHl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%">Canada</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:NoncurrentAssets" contextRef="AsOf2023-12-31_country_CA" id="Fact001755" format="ixt:numdotdecimal" decimals="0" unitRef="USD">142,577</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:NoncurrentAssets" contextRef="AsOf2022-12-31_country_CA" id="Fact001756" format="ixt:numdotdecimal" decimals="0" unitRef="USD">150,890</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--US_z7CFYYUTfW82" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">United States</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:NoncurrentAssets" contextRef="AsOf2023-12-31_country_US" id="Fact001758" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,958,778</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:NoncurrentAssets" contextRef="AsOf2022-12-31_country_US" id="Fact001759" format="ixt:numdotdecimal" decimals="0" unitRef="USD">14,699,896</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--NoncurrentAssets_iI_zVqNCNZk0c28" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Total</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:NoncurrentAssets" contextRef="AsOf2023-12-31" id="Fact001761" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,101,355</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:NoncurrentAssets" contextRef="AsOf2022-12-31" id="Fact001762" format="ixt:numdotdecimal" decimals="0" unitRef="USD">14,850,786</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A1_z0KlznVRexbf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Three
customers accounted for $<span id="xdx_903_eus-gaap--AccountsReceivableNet_iI_c20231231__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__srt--MajorCustomersAxis__custom--ThreeCustomersMember_zpqBMlnQj9lj" title="Accounts receivable, after allowance for credit loss"><ix:nonFraction name="us-gaap:AccountsReceivableNet" contextRef="AsOf2023-12-31_us-gaap_AccountsReceivableMember_custom_ThreeCustomersMember" id="Fact001764" format="ixt:numdotdecimal" decimals="0" unitRef="USD">20,482,798</ix:nonFraction></span> (<span id="xdx_904_ecustom--StockOptionExercisePercent_pid_dp_uPure_c20230101__20231231__srt--MajorCustomersAxis__custom--ThreeCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zqapqDPjOXKj" title="Stock option exercise percent"><ix:nonFraction name="FSI:StockOptionExercisePercent" contextRef="From2023-01-012023-12-31_custom_ThreeCustomersMember_us-gaap_AccountsReceivableMember" id="Fact001766" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">53</ix:nonFraction></span>%) of sales made in 2023 (2022 - $<span id="xdx_904_eus-gaap--AccountsReceivableNet_iI_c20221231__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__srt--MajorCustomersAxis__custom--ThreeCustomersMember_zYTxTJ6jzm8" title="Accounts receivable, after allowance for credit loss"><ix:nonFraction name="us-gaap:AccountsReceivableNet" contextRef="AsOf2022-12-31_us-gaap_AccountsReceivableMember_custom_ThreeCustomersMember" id="Fact001768" format="ixt:numdotdecimal" decimals="0" unitRef="USD">27,775,616</ix:nonFraction></span> or <span id="xdx_90B_ecustom--StockOptionExercisePercent_pid_dp_uPure_c20220101__20221231__srt--MajorCustomersAxis__custom--ThreeCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_z7WrkLEYrv7j" title="Stock option exercise percent"><ix:nonFraction name="FSI:StockOptionExercisePercent" contextRef="From2022-01-012022-12-31_custom_ThreeCustomersMember_us-gaap_AccountsReceivableMember" id="Fact001770" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">61</ix:nonFraction></span>%).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001772" name="us-gaap:SubsequentEventsTextBlock"><p id="xdx_80F_eus-gaap--SubsequentEventsTextBlock_zdE9DlRpL492" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>19.
<span id="xdx_82A_zaLOd6ycYe54">SUBSEQUENT EVENTS</span> </b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in">In January 2024, the Company issued
<span id="xdx_907_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_pid_c20240101__20240131__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zh4y7X1nQnfl" title="Stock option issued upon exercise"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" contextRef="From2024-01-012024-01-31_us-gaap_SubsequentEventMember_custom_ConsultantsMember" id="Fact001774" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">15,000</ix:nonFraction></span> shares upon the exercise of consultant stock options.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in">In January 2024, the Company granted
<span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20240101__20240131__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember__srt--TitleOfIndividualAxis__custom--EmployeesMember_zTkZ88YURyZ5" title="Stock option granted"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2024-01-012024-01-31_us-gaap_SubsequentEventMember_custom_EmployeesMember" id="Fact001776" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">494,000</ix:nonFraction></span> stock options to employees and <span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20240101__20240131__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zXLjxNtcVil7" title="Stock option granted"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2024-01-012024-01-31_us-gaap_SubsequentEventMember_custom_ConsultantsMember" id="Fact001778" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">56,000</ix:nonFraction></span> stock options to consultants.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in">&#160;</p>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
March 2024, the Company terminated its lease in Naperville, IL. All operations are now consolidated in the Peru, IL locations.</span></p>

</ix:nonNumeric><p id="xdx_812_z2u0IeffoaAl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"></p>

<!-- Field: Page; Sequence: 41; Value: 11 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->25<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 72px; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    9.</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Changes
    in and Disagreements with Accountants on Accounting and Financial Disclosure.</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: -0.75in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">None.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 72px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    9A.</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Controls
    and Procedures.</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
maintain disclosure controls and procedures that are designed to ensure that information required to be disclosed in our periodic reports
to the SEC is recorded, processed, summarized and reported within the time periods specified in the SEC&#8217;s rules and regulations,
and that such information is accumulated and communicated to our management, including our principal executive officer and principal
financial officer, as appropriate, to allow timely decisions regarding required disclosure. Our disclosure controls and procedures are
designed to provide a reasonable level of assurance of reaching our desired disclosure control objectives.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of the end of the period covered by this Annual Report on Form 10-K for the year ended December 31, 2023 we carried out an evaluation,
under the supervision and with the participation of management, including our principal executive officer and principal financial officer,
of the effectiveness of the design and operation of our disclosure controls and procedures (as defined under Rules 13a-15(e) and 15d-15(e)
under the Securities Exchange Act of 1934, as amended). Based upon that evaluation, our principal executive officer and principal financial
officer concluded that our disclosure controls and procedures are effective.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Management&#8217;s
Report on Internal Control Over Financial Reporting</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
management is responsible for establishing and maintaining adequate internal control over financial reporting and for the assessment
of the effectiveness of internal control over financial reporting. As defined by the Securities and Exchange Commission, internal control
over financial reporting is a process designed by, or under the supervision of our principal executive officer and principal financial
officer and implemented by our Board of Directors, management and other personnel, to provide reasonable assurance regarding the reliability
of financial reporting and the preparation of our financial statements in accordance with U.S. generally accepted accounting principles.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
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 our transactions and dispositions of our assets; (2) provide reasonable assurance
that transactions are recorded as necessary to permit preparation of our financial statements in accordance with U.S. generally accepted
accounting principles, and that our receipts and expenditures are being made only in accordance with authorizations of our management
and directors; and (3) provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use or disposition
of our assets that could have a material effect on the financial statements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">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.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
connection with the preparation of our annual financial statements, management has undertaken an assessment of the effectiveness of our
internal control over financial reporting as of December 31, 2023, based on criteria established in Internal Control - Integrated Framework
issued by the Committee of Sponsoring Organizations of the Treadway Commission, or the 2013 COSO Framework. Management&#8217;s assessment
included an evaluation of the design of our internal control over financial reporting and testing of the operational effectiveness of
those controls.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Based
on this evaluation, management has concluded that our internal control over financial reporting was effective as of December 31, 2023.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">There
was no change in our internal control over financial reporting that occurred during the period covered by this report that has materially
affected, or is reasonably likely to materially affect, our internal control over financial reporting.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 72px; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    9B.</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Other
    Information.</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in">None of our directors or officers
<span id="xdx_907_eecd--Rule10b51ArrAdoptedFlag_dbF_c20230101__20231231_zwwfYRwdt1y6" class="xdx_phnt_RGlzY2xvc3VyZSAtIEluc2lkZXIgVHJhZGluZyBBcnJhbmdlbWVudHMA"><span id="xdx_904_eecd--NonRule10b51ArrAdoptedFlag_dbF_c20230101__20231231_zUoFVYZ8AJjk" class="xdx_phnt_RGlzY2xvc3VyZSAtIEluc2lkZXIgVHJhZGluZyBBcnJhbmdlbWVudHMA"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt:booleanfalse" id="Fact001779" name="ecd:Rule10b51ArrAdoptedFlag"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt:booleanfalse" id="Fact001780" name="ecd:NonRule10b51ArrAdoptedFlag">adopted</ix:nonNumeric></ix:nonNumeric></span></span> or <span id="xdx_905_eecd--Rule10b51ArrTrmntdFlag_dbF_c20230101__20231231_zvAtscxyr2H3" class="xdx_phnt_RGlzY2xvc3VyZSAtIEluc2lkZXIgVHJhZGluZyBBcnJhbmdlbWVudHMA"><span id="xdx_904_eecd--NonRule10b51ArrTrmntdFlag_dbF_c20230101__20231231_zQdwCivVoB3k" class="xdx_phnt_RGlzY2xvc3VyZSAtIEluc2lkZXIgVHJhZGluZyBBcnJhbmdlbWVudHMA"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt:booleanfalse" id="Fact001781" name="ecd:Rule10b51ArrTrmntdFlag"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt:booleanfalse" id="Fact001782" name="ecd:NonRule10b51ArrTrmntdFlag">terminated</ix:nonNumeric></ix:nonNumeric></span></span> a Rule 10b5-1 trading arrangement or a non-Rule 10b5-1 trading arrangement (as defined in Item 408(c) of Regulation
S-K) during the quarterly period ending December 31, 2023.</p>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"><tr style="vertical-align: top">
<td style="width: 72px"><b>Item 9C.</b></td><td style="text-align: justify"><b>Disclosures Regarding Foreign Jurisdictions That Prevent Inspections. </b></td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in">Not applicable.</p>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 72px; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    10.</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Directors,
    Executive Officers and Corporate Governance.</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: -45pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 93%; border-collapse: collapse; margin-left: 0.5in">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 30%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Name</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 10%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Age</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 56%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Position</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Daniel
    B. O&#8217;Brien</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">67</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">President,
    Chief Executive Officer, Principal Financial and Accounting Officer and a Director</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">John
    H. Bientjes</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">71</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Robert
    Helina</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">58</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Tom
    Fyles</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">72</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Ben
    Seaman</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">43</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">David
    Fynn</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">66</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Daniel
B. O&#8217;Brien has served as our President, Chief Executive Officer and Principal Financial and Accounting Officer, as well as a director
since June 1998. He has been involved in the swimming pool industry since 1990, when he founded our subsidiary, Flexible Solutions Ltd.
From 1990 to 1998 Mr. O&#8217;Brien was also a teacher at Brentwood College where he was in charge of outdoor education.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 42; Options: NewSection; Value: 16 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->16<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">John
H. Bientjes has been a director since 2000. From 1984 to 2018, Mr. Bientjes served as the manager of the Commercial Aquatic Supplies
Division of D.B. Perks &amp; Associates, Ltd., located in Vancouver, British Columbia, a company that markets supplies and equipment
to commercial swimming pools which are primarily owned by municipalities. Mr. Bientjes retired in 2018. Mr. Bientjes graduated in 1976
from Simon Fraser University in Vancouver, British Columbia with a Bachelor of Arts Degree in Economics and Commerce.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Robert
T. Helina has been a director since 2011. Mr. Helina has been involved in the financial services industry for over 30 years which has
given him extensive knowledge in business, economics and finance. His specialty is in Corporate Finance and Capital Markets. Mr. Helina
holds a Bachelor of Arts degree from Trinity Western University.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Thomas
M. Fyles has been a director since 2012. Dr. Fyles holds chemistry degrees from the University of Victoria (B.Sc. 1974) and York University
(Ph.D. 1977). Following postdoctoral work in France, he joined the Chemistry Department at the University of Victoria in 1979 where he
progressed through the academic ranks to Professor (1992) , Chair (2001 &#8211; 2006; 2008), and, on his retirement, Professor Emeritus
(2017). His research program spanned analytical, synthetic, and physical chemistry with an emphasis on sensors, membranes, and water
treatment processes.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Ben
Seaman has been a director since 2016. Mr. Seaman has been the CEO of Eartheasy.com Sustainable Living Ltd since 2007, growing the company
from $50K to over $25M in annual revenue. His company has contributed over $1M towards clean water projects in Kenya since 2013, and
has been recognized internationally by the Stockholm Challenge Award and the Outdoor Industry Inspiration Award in 2016. Prior to 2007,
he worked in sales and investor relations at Flexible Solutions. Mr. Seaman graduated from the University of Victoria with a Bachelor
of Science degree in 2004. He has significant experience in launching new products, marketing, distribution and e-commerce in both the
US and Canada. He&#8217;s a strong believer in the triple bottom line approach to business, giving consideration to social and environmental
issues in addition to financial performance.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">David
Fynn has been a director since 2016. Mr. David Fynn is a Canadian Chartered Professional Accountant and services individuals/companies
in many sectors including mining and commodities in his private practice. Mr. Fynn worked as a senior manager with KPMG in Canada and
Ernst &amp; Young in the United Kingdom and Saudi Arabia. Since 1996 he has been the principal of D.A. Fynn &amp; Associates Inc., an
accounting firm.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Directors
are elected annually and hold office until the next annual meeting of our stockholders and until their successors are elected and qualified.
All executive offices are chosen by the board of directors and serve at the board&#8217;s discretion.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">John
Bientjes, Thomas Fyles, Ben Seaman and David Fynn are independent directors as that term is defined in section 803 of the listing standards
of the NYSE American.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
Audit Committee, consisting of John Bientjes, Ben Seaman and David Fynn all of whom have strong financial backgrounds, facilitates and
maintains open communications with our board of directors, senior management and our independent auditors. Our Audit Committee also serves
as an independent and objective party which monitors our financial reporting process and internal control system. In addition, our Audit
Committee reviews and appraises the efforts of our independent auditors. Our Audit Committee meets periodically with management and our
independent auditors. John Bientjes and David Fynn meet the SEC&#8217;s definition of an audit committee financial expert. Each member
of the Audit Committee is &#8220;independent&#8221; as that term is defined in Section 803 of the listing standards of the NYSE American.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
Compensation Committee, consisting of John Bientjes, Ben Seaman and David Fynn, establishes salary, incentive and other forms of compensation
for our Chief Executive Officer and administers our Stock Option Plan. None of our officers participated in deliberations of the compensation
committee concerning executive officer compensation. During the year ended December 31, 2023 none of our executive officers served as
a member of the compensation committee or as a director of another entity, one of whose executive officers served on our compensation
committee or as one of our directors.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 43; Value: 16 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->17<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have adopted a Code of Ethics that applies to our Chief Executive Officer, our Chief Financial Officer and our Principal Accounting Officer,
as well as our other senior management and financial staff. Interested persons may obtain a copy of our Code of Ethics from our website
at www.flexiblesolutions.com.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
believe our directors benefit us for the following reasons:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 93%; border-collapse: collapse; margin-left: 0.5in">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 28%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Name</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 70%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Reason</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Daniel
    B. O&#8217;Brien</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Long
    standing relationship with us.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">John
    J. Bientjes</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Long
    standing relationship with us.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Robert
    Helina</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Corporate
    finance experience.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Dr.
    Thomas Fyles</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Scientific
    expertise.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Ben
    Seaman</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Younger
    generation businessman increases our awareness of internet sales and adds value to our audit and compensation committees</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">David
    Fynn</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Experienced
    accountant adds value to our audit and compensation committees</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 72px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    11.</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Executive
    Compensation.</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span style="text-decoration: underline">Summary
Compensation Table</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table shows in summary form the compensation earned by (i) our Chief Executive Officer and (ii) by each other executive officer
who earned in excess of $100,000 during the two fiscal years ended December 31, 2023.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid">Name and Principal Position</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Fiscal Year</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Salary (1)</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Bonus (2)</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Restricted Stock Awards (3)</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Options Awards (4)</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">All Other Annual Compensation (5)</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Total</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 37%; text-align: left">Daniel B. O&#8217;Brien</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 5%; text-align: right">2023</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 5%; text-align: right">785,368</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 5%; text-align: right">&#8212;</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 5%; text-align: right">&#8212;</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 5%; text-align: right">(660,000</td><td style="width: 1%; text-align: left">)</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 5%; text-align: right">&#8212;</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 5%; text-align: right">125,368</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">President, Chief Executive Financial and Accounting Officer</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2022</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">769,293</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">660,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1,429,293</td><td style="text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    dollar value of base salary (cash and non-cash) earned.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(2)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    dollar value of bonus (cash and non-cash) earned.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(3)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
    the periods covered by the table, the value of the shares of restricted stock issued as compensation for services to the persons
    listed in the table.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(4)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    value of all stock options granted during the periods covered by the table. The options granted to Daniel O&#8217;Brien in 2022 were
    cancelled in 2023.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(5)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">All
    other compensation received that we could not properly report in any other column of the table.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2012, the Company determined that Daniel B. O&#8217;Brien, the Company&#8217;s President and Chief Executive
Officer, was underpaid. Accordingly, the Company increased Mr. O&#8217;Brien&#8217;s annual salary to twice that which was paid to the
highest paid employee of the Company. Mr. O&#8217;Brien requested his salary be dropped by $100,000/year during 2019 and the Compensation
committee agreed. The Company expects that Mr. O&#8217;Brien&#8217;s salary for the year ending December 31, 2023 will again be twice
the annual salary, less $100,000, paid to the Company&#8217;s highest paid employee, excluding Mr. O&#8217;Brien.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 44; Value: 16 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->18<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
the fall of 2023, Daniel O&#8217;Brien, CEO, relocated to Grand Cayman in order to help with international sales. He requested that his
salary be reduced to a flat $600,000 per year with annual increases at the same rate as other employees receive. The compensation committee
agreed and granted Mr. O&#8217;Brien&#8217;s request.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span style="text-decoration: underline">Non-Qualified
Stock Option Plan</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
August 2014 we adopted a Non-Qualified Stock Option Plan which authorizes the issuance of up to 1,500,000 shares of our common stock
to persons that exercise options granted pursuant to the Plan. Our employees, directors and officers, and consultants or advisors are
eligible to be granted options pursuant to the Non-Qualified Plan.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Plan is administered by our Compensation Committee. The Committee is vested with the authority to determine the number of shares issuable
upon the exercise of the options, the exercise price and expiration date of the options, and when, and upon what conditions options granted
under the Plan will vest or otherwise be subject to forfeiture and cancellation.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the fiscal year ended December 31, 2023 we issued nil options pursuant to the Non-Qualified Plan (2022 &#8211; 5,000).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of December 31, 2023, options to purchase 542,000 shares of our common stock were outstanding under our Non-Qualified Stock Option Plan.
The exercise price of these options varies between $1.75 and $3.61 per share and the options expire at various dates between on January
31, 2024 and December 31, 2026.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span style="text-decoration: underline">Stock
Option Plans</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
2022 we adopted a Stock Incentive Plan which authorizes the issuance of up to 1,500,000 shares of our common stock to persons that exercise
options granted pursuant to the Plan. Our employees, directors and officers, and consultants or advisors are eligible to be granted options
pursuant to the Stock Incentive Plan.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Plan is administered by our Compensation Committee. The Committee is vested with the authority to determine the number of shares issuable
upon the exercise of the options, the exercise price and expiration date of the options, and when, and upon what conditions options granted
under the Plan will vest or otherwise be subject to forfeiture and cancellation.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the fiscal year ended December 31, 2023 we issued nil options pursuant to the Stock Incentive Plan (2022 &#8211; 976,000).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of December 31, 2023, options to purchase 572,000 shares of our common stock were outstanding under our Stock Incentive Plan. The exercise
price of these options are $3.55 per share and the options expire on December 31, 2027.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 45; Value: 16 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->19<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Summary</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table shows the weighted average exercise price of the outstanding options granted pursuant to both our Non-Qualified Stock
Option Plan and Stock Incentive Plan as of December 31, 2023, our most recently completed fiscal year.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; text-align: center">Plan Category</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Number of Securities<br/> to be Issued Upon<br/> Exercise of<br/> Outstanding Options,<br/> Warrants and Rights</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Weighted-Average<br/> Exercise Price of<br/> Outstanding Options,<br/> Warrants and Rights</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Number of Securities<br/> Remaining Available for<br/> Future Issuance Under<br/> Equity Compensation<br/> Plans (Excluding<br/> Securities Reflected<br/> in Column (a))</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">(a)</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">(b)</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">(c)</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: left">Non-Qualified Stock Option Plan</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 14%; text-align: right">542,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">2.40</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 14%; text-align: right">57,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Stock Incentive Plan</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">572,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">3.55</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">524,000</td><td style="text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in">Both our Non-Qualified Stock Option
Plan and Stock Incentive Plan have been approved by our shareholders.</p>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">No
options were exercised by our executive officers during the fiscal year ended December 31, 2023.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Director
Compensation</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
reimburse directors for any expenses incurred in attending board meetings. We also compensate directors $6,000 annually for each year
that they serve with an additional $4,000 paid to the head of the Audit Committee -</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
directors received the following compensation in 2023:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid">Name</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Paid in Cash</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Stock Awards (1)</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Option Awards (2)</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: left">John H. Bientjes</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">10,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 14%; text-align: right">&#8212;</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 14%; text-align: right">&#8212;</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Robert Helina</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">6,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Tom Fyles</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">6,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Ben Seaman</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">6,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">David Fynn</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">6,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 24px; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    fair value of stock issued for services computed in accordance with ASC 718 on the date of grant.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(2)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    fair value of options granted computed in accordance with ASC 718 on the date of grant.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Daniel
B. O&#8217;Brien was not compensated for serving as a director during 2023.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 46; Value: 16 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->20<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><b>Insider Trading Arrangements and Policies</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in">We are committed to promoting
high standards of ethical business conduct and compliance with applicable laws, rules and regulations. As part of this commitment, we
have adopted our Insider Trading Policy governing the purchase, sale, and/or other dispositions of our securities by our directors, officers,
employees and others that we believe is reasonably designed to promote compliance with insider trading laws, rules and regulations. A
copy of our Insider Trading Policy is filed as Exhibit 19 to this Annual Report on Form 10-K.</p>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 72px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    12.</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Security
    Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters.</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table shows the beneficial ownership of our common stock as of March 30, 2023 by (i) each stockholder who is known by us to
own beneficially more than five percent of our outstanding common stock, (ii) each of our officers and directors, and (iii) by all of
our executive officers and directors as a group.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Shares (1)</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Percentage Ownership</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Daniel B. O&#8217;Brien</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">4,270,156</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">34.3</td><td style="width: 1%; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>6001 54 Ave.</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Taber, AB</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Canada T1G 1X4</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">John Bientjes</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">46081 Greenwood Dr.</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Chilliwack, BC</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Canada V2R 4C9</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Robert Helina</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">25,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.2</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>6001 54 Ave.</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Taber, AB</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Canada T1G 1X4</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Dr. Thomas Fyles</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">20,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.2</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Box 3065</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Victoria, BC</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Canada V8W 3V6</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Ben Seaman</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Unit 605 5 E. Cordova St.</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Vancouver BC</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Canada V6A 0A5</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">David Fynn</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">202-2526 Yale Court,</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Abbotsford, BC</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Canada V2S 8G9</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">All officers and directors</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">as a group (6 persons)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">4,315,156</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">34.7</td><td style="padding-bottom: 2.5pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-decoration: underline; text-align: left">Other Principal Shareholders</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Comprehensive Financial Planning, Inc.</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,351,221</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10.9</td><td style="text-align: left">%</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 24px; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Includes
    shares which may be acquired on the exercise of the stock options, all of which were exercisable as of March 29, 2023, listed below.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid">Name</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">No. of Options</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Exercise Price</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: center">Expiration Date</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#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="width: 32%; text-align: left">Robert Helina</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 18%; text-align: right">5,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">2.44</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 22%; text-align: center">December 31, 2024</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">2.44</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">December 31, 2025</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">3.61</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">December 31, 2026</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">3.55</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">December 31, 2027</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 72px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    13.</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Certain
    Relationships and Related Transactions, Director Independence.</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Not
applicable.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 72px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    14.</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Principal
    Accountant Fees and Services.</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Smythe
LLP examined our consolidated financial statements for the years ended December 31, 2023 and 2022.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">Audit
Fees</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Smythe
LLP was paid $127,487 in the fiscal year ended December 31, 2023 for professional services rendered in the audit of our annual financial
statements and for the reviews of the condensed interim financial statements included in our quarterly reports on Form 10-Q during that
fiscal year. Smythe LLP was paid $128,456 for professional services rendered in the audit of our annual financial statements and for
the reviews of the condensed interim financial statements included in our quarterly reports on Form 10-Q during fiscal 2022.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 47; Value: 16 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->21<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">Tax
Fees</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Smythe
LLP has been retained to file our taxes for the fiscal years ended December 31, 2018 and onwards. Smythe LLP was paid $14,079 in the
fiscal year ended December 31, 2023 for professional services rendered in preparing our taxes.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">All
Other Fees</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Smythe
LLP was not paid any other fees for professional services during the fiscal years ended December 31, 2023 and 2022.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">Audit
Committee Pre-Approval Policies</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Rules
adopted by the SEC in order to implement requirements of the Sarbanes-Oxley Act of 2002 require public company audit committees to pre-approve
audit and non-audit services. Our Audit Committee has adopted a policy for the pre-approval of all audit, audit-related and tax services,
and permissible non-audit services provided by our independent auditors. The policy provides for an annual review of an audit plan and
budget for the upcoming annual financial statement audit, and entering into an engagement letter with the independent auditors covering
the scope of the audit and the fees to be paid. Our Audit Committee may also from time-to-time review and approve in advance other specific
audit, audit-related, tax or permissible non-audit services. In addition, our Audit Committee may from time-to-time give pre-approval
for audit services, audit-related services, tax services or other non-audit services by setting forth such pre-approved services on a
schedule containing a description of, budget for, and time period for such pre-approved services. The policy requires our Audit Committee
to be informed of each service and the policies do not include any delegation of our Audit Committee&#8217;s responsibilities to management.
Our Audit Committee may delegate pre-approval authority to one or more of its members. The member to whom such authority is delegated
will report any pre-approval decisions to our Audit Committee at its next scheduled meeting.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2023 our Audit Committee approved all of the fees paid to Smythe LLP. Our Audit Committee has determined
that the rendering of all non-audit services by Smythe LLP is compatible with maintaining its independence.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 72px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    15.</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Exhibits,
    Financial Statement Schedules.</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 0.75in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Number</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.1in; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Description</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.1</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="https://www.sec.gov/Archives/edgar/data/1069394/000102589400000057/0001025894-00-000057.txt" style="-sec-extract: exhibit">Articles of Incorporation of the Registrant. (1)</a></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.2</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="https://www.sec.gov/Archives/edgar/data/1069394/000102589400000057/0001025894-00-000057.txt" style="-sec-extract: exhibit">Bylaws of the Registrant. (1)</a></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">19</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><a href="ex19.htm">Insider Trading Policy and Procedures</a></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">21.1</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="https://www.sec.gov/Archives/edgar/data/1069394/000120095203000085/fs_sbex21.txt" style="-sec-extract: exhibit">Subsidiaries. (2)</a></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">23.1</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="ex23-1.htm">Consent of Independent Accountants.</a></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">31.1</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="ex31-1.htm">Certification of Principal Executive Officer Pursuant to &#167;302 of the Sarbanes-Oxley Act of 2002.</a></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">31.2</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="ex31-2.htm">Certification of Principal Financial Officer Pursuant to &#167;302 of the Sarbanes-Oxley Act of 2002.</a></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">32.1</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="ex32-1.htm">Certification of Principal Executive and Financial Officer Pursuant to 18 U.S.C. &#167;1350 and &#167;906 of the Sarbanes-Oxley Act of 2002.</a></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.INS</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Instance Document</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.SCH</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Taxonomy Extension Schema Document</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.CAL</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Taxonomy Extension Calculation Linkbase Document</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.DEF</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Taxonomy Extension Definition Linkbase Document</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.LAB</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Taxonomy Extension Label Linkbase Document</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.PRE</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Taxonomy Extension Presentation Linkbase Document</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">104</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cover
    Page Interactive Data File (embedded within the Inline XBRL document)</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: -1in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 24px; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Previously
    filed as an exhibit to our Registration Statement on Form 10-SB filed with the Commission on February 22, 2000, and incorporated
    herein by reference.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(2)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Previously
    filed as an exhibit to our Registration Statement on Form SB-2 filed with the Commission on January 22, 2003, and incorporated herein
    by reference.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 48; Value: 16 -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->22<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <div style="margin: 0pt; break-before: page"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>SIGNATURES</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
accordance with the requirements of Section 13 or 15(d) of the Securities Exchange Act of 1934, the registrant caused this report to
be signed on its behalf by the undersigned, thereunto duly authorized.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">March
    29, 2024</span></td>
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>Flexible
    Solutions International, Inc.</b></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 50%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; width: 5%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; width: 45%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</span></td>
    <td style="border-bottom: black 1.5pt solid; text-align: justify; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/
    Daniel B. O&#8217;Brien</i></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Name:</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Daniel
    B. O&#8217;Brien</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Title:</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">President
    and Chief Executive Officer</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
accordance with the Exchange Act, this report has been signed below by the following persons on behalf of the registrant and in the capacities
and on the dates indicated:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 30%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Signature</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 42%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Title</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 24%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/
    Daniel B. O&#8217;Brien</i></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; padding-bottom: 1.5pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">President,
    Principal Executive Officer, Principal Financial and Accounting Officer and a Director</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; padding-bottom: 1.5pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">March
    29, 2024</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Daniel
    B. O&#8217;Brien</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/
    John H. Bientjes</i></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">March
    29, 2024</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">John
    H. Bientjes</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/
    Robert T. Helina</i></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">March
    29, 2024</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Robert
    T. Helina</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/
    Thomas Fyles</i></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">March
    29, 2024</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Thomas
    Fyles</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/
    Ben Seaman</i></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">March
    29, 2024</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Ben
    Seaman</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/
    David Fynn</i></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">March
    29, 2024</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">David
    Fynn</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 49; Options: Last -->
    <div style="border-bottom: Black 1.5pt solid; margin: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 33%">&#160;</td><td style="width: 34%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->23<!-- Field: /Sequence --></td><td style="width: 33%; text-align: right">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<!-- Field: Set; Name: xdx; ID: xdx_08B_extensions -->
<!-- eJxFjdEKgkAQRb/Afxj2OczWfPGtpCSyCInodckplnRHZjerT+ovW5VouDAM9565QkxETmtdI8N5WRZwxKatlUMo8YqM5oI+kW22Kfhd4k1bx8q44fyBGXkGPZOEUipvDNFOW6xSiOKp9JpDJNM4gcVOBL2fkbnqCo3TqgZlKjgwtazRKX6PH47qRYaa91B1QraaTAqzMBrtD8hoJmFPnXoS3y0URSaCyTCByJkerU+tXg5NT8KqxsbX2ZH+K/gC/FlKew== -->
</body>
</html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-19
<SEQUENCE>2
<FILENAME>ex19.htm
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><B>&nbsp;</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><B>EXHIBIT
19</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><B>&nbsp;</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Flexible
Solutions International, Inc.</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Insider
Trading Policy</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>I.</B></FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>PURPOSE</B></FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.75in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Flexible
Solutions International, Inc. (the &ldquo;Company&rdquo;) has adopted this Insider Trading Policy (this &ldquo;Policy&rdquo;) to help
its directors, officers and employees comply with insider trading laws, to prevent even the appearance of improper insider trading and
to promote compliance with the Company&rsquo;s obligation under Item 408 of Regulation S-K to publicly disclose information related to
its insider trading policies and practices and the use of certain trading arrangements by Company insiders.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>II.</B></FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>SCOPE</B></FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">A.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">This
                                            Policy applies to all directors and officers of the Company, the Company&rsquo;s Comptroller
                                            and Operations Director and their respective family members and others in their households
                                            (collectively referred to as &ldquo;Insiders&rdquo;), and any other individuals the Compliance
                                            Officer (defined below) may designate as Insiders because they have access to material nonpublic
                                            information concerning the Company.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">B.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Except
                                            as set forth explicitly below, this Policy applies to any and all transactions in the Company&rsquo;s
                                            securities, including transactions in common stock, options, preferred stock, restricted
                                            stock, restricted stock units, and any other type of securities that the Company may issue.
                                            This Policy applies to such securities regardless of whether they are held in a brokerage
                                            account, a 401(k) or similar account, through an employee stock purchase plan or otherwise.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>III.</B></FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>SPECIFIC
                                            GUIDANCE</B></FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>A.</B></FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Generally
                                            Prohibited Activities. The prohibitions below apply to actions an Insider may take directly
                                            or indirectly through family members or other persons or entities.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 85.5pt; text-align: justify; text-indent: -49.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0" STYLE="width: 100%; margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">
<TR STYLE="vertical-align: top">
    <TD STYLE="width: 1in">&nbsp;</TD>
  <TD STYLE="text-align: justify; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.</FONT></TD>
  <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Trading in Company Securities</U>.</FONT></TD></TR>
</TABLE>


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 85.5pt; text-align: justify; text-indent: -49.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1.25in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">No
                                            Insider may buy, sell, donate or otherwise transact in Company securities while aware of
                                            material nonpublic information concerning the Company.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.5in; text-align: justify; text-indent: -1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1.25in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">No
                                            Insider may buy, sell, donate or otherwise transact in Company securities during any special
                                            trading blackout 2 period applicable to such Insider as designated by the Compliance Officer.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.5in; text-align: justify; text-indent: -1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Tipping</U>.
                                            Providing material nonpublic information to another person who may trade or advise others
                                            to trade on the basis of that information is known as &ldquo;tipping&rdquo; and is illegal.
                                            Therefore, no Insider may &ldquo;tip&rdquo; or provide material nonpublic information concerning
                                            the Company to any person other than a director, officer or employee of the Company, unless
                                            required as part of that Insider&rsquo;s regular duties for the Company and authorized by
                                            the Compliance Officer.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.25in; text-align: justify; text-indent: -0.75in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Giving
                                            Trading Advice</U>. No Insider may give trading advice of any kind about the Company to anyone,
                                            whether or not such Insider is aware of material nonpublic information about the Company,
                                            except that Insiders should advise other Insiders not to trade if such trading might violate
                                            the law or this Policy.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.25in; text-align: justify; text-indent: -0.75in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Engaging
                                            in Short Sales</U>. No Insider may engage in short sales of Company securities. A short sale
                                            is the sale of a security that the seller does not own at the time of the trade.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.25in; text-align: justify; text-indent: -0.75in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 1 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->1<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Engaging
                                            in Derivative Transactions</U>. No Insider may engage in transactions in puts, calls or other
                                            derivative instruments that relate to or involve Company securities. Such transactions are,
                                            in effect, bets on short-term movements in the Company&rsquo;s stock price and therefore
                                            create the appearance that the transaction is based on nonpublic information.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.25in; text-align: justify; text-indent: -0.75in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">6.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Hedging</U>.
                                            No Insider may engage in hedging transactions involving Company securities, including forward
                                            sale or purchase contracts, equity swaps, collars or exchange funds. Such transactions are
                                            speculative in nature and therefore create the appearance that the transaction is based on
                                            nonpublic information.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.25in; text-align: justify; text-indent: -0.75in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">7.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Trading
                                            on Margin or Pledging</U>. No Insider may place the Company&rsquo;s securities as security
                                            for a margin account or pledge (or hypothecate) Company securities as collateral for a loan.
                                            Margin sales or foreclosure sales may occur at a time when the Insider is aware of material
                                            nonpublic information or otherwise is not permitted to trade in Company securities.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.25in; text-align: justify; text-indent: -0.75in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Trading
                                            in Securities of Other Companies</U>. No Insider may, while in possession of material nonpublic
                                            information about any other public company gained in the course of employment with the Company,
                                            (a) buy, sell, donate or otherwise transact in the securities of the other public company,
                                            (b) &ldquo;tip&rdquo; or disclose such material nonpublic 3 information concerning that company
                                            to anyone, or (c) give trading advice of any kind to anyone concerning the other public company.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.25in; text-align: justify; text-indent: -0.75in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>B.</B></FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Additional
                                            Restrictions Applicable to Insiders, Section 16 Individuals and Key Employees</B>.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">No
                                            Insider, Section 16 Individual or Key Employee (each as defined below) may buy, sell, donate
                                            or otherwise transact in Company securities outside of the Company trading window described
                                            in Section V.B below.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.25in; text-align: justify; text-indent: -0.75in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">No
                                            Insider, Section 16 Individual or Key Employee may trade in Company securities unless the
                                            trade(s) have been approved by the Compliance Officer in accordance with the procedures set
                                            forth in Section V.C.1 below.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">C.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Exceptions</B>.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.75in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1in; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
prohibited activities above do not apply to:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1in; text-align: justify; text-indent: -0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Exercises
                                            of stock options or similar equity awards or the surrender of shares to the Company in payment
                                            of the stock option exercise price or in satisfaction of any tax withholding obligations,
                                            provided that any securities acquired pursuant to such exercise may not be sold, including
                                            as part of a broker-assisted cashless exercise, while the Insider is in possession of material
                                            nonpublic information or subject to a special trading blackout or, with respect to Section
                                            16 Individuals and Key Employees, while the Company&rsquo;s trading window is closed.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.25in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
                                            vesting of restricted stock, or the exercise of a tax withhold right pursuant to which an
                                            Insider elects to have the Company withhold shares of stock to satisfy tax withholding requirements
                                            upon the vesting of any restricted stock, provided that any securities acquired pursuant
                                            to such vesting may not be sold while the Insider is in possession of material nonpublic
                                            information or subject to a special trading blackout or, with respect to Section 16 Individuals
                                            and Key Employees, while the Company&rsquo;s trading window is closed.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.25in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Acquisitions
                                            or dispositions of Company securities under the Company&rsquo;s Equity Incentive Plan or
                                            any other individual account that are made pursuant to standing instructions entered into
                                            while the Insider is not in possession of material nonpublic information or otherwise subject
                                            to a special trading blackout and, with respect to Section 16 Individuals and Key Employees,
                                            while the Company&rsquo;s trading window is open.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.25in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 2 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->2<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
                                            purchases of securities from the Company or sales of securities to the Company that do not
                                            involve a market transaction.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.25in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Purchases,
                                            sales or donations made pursuant to a Rule 10b5-1 plan that is adopted and operated in compliance
                                            with the terms of this Policy (see Section VII).</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.25in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>IV.</B></FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>DETERMINING
                                            WHETHER INFORMATION IS MATERIAL AND NONPUBLIC</B></FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.25in; text-align: justify; text-indent: -1.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>A.</B></FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Definition
                                            of &ldquo;Material&rdquo; Information</B>.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1in; text-align: justify; text-indent: -1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0">
<TR STYLE="vertical-align: top">
    <TD STYLE="width: 1in">&nbsp;</TD>
  <TD STYLE="text-align: justify; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.</FONT></TD>
  <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">There is no bright line test for determining whether particular
information is material. Such a determination depends on the facts and circumstances unique to each situation and cannot be made solely
based on the potential financial impact of the information.</FONT></TD></TR>
</TABLE>


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.25in; text-align: justify; text-indent: -1.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
                                            general, information about the Company should be considered &ldquo;material&rdquo; if:</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.25in; text-align: justify; text-indent: -1.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1.25in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">A
                                            reasonable investor would consider the information significant when deciding whether to buy
                                            or sell Company securities; or</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.25in; text-align: justify; text-indent: -1.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1.25in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
                                            information, if disclosed, could be viewed by a reasonable investor as having significantly
                                            altered the total mix of information available in the marketplace about the Company.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.25in; text-align: justify; text-indent: -1.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.25in; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Put
simply, if the information could reasonably be expected to affect the price of the Company&rsquo;s stock, it should be considered material.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.25in; text-align: justify; text-indent: -1.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">It
                                            is important to remember that whether information is material will be viewed by enforcement
                                            authorities with the benefit of hindsight. In other words, if the price of the Company&rsquo;s
                                            stock changed as a result of the information having been made public, it will likely be considered
                                            material by enforcement authorities.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.25in; text-align: justify; text-indent: -1.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">While
                                            it is not possible to identify every type of information that could be deemed &ldquo;material,&rdquo;
                                            the following matters ordinarily should be considered material:</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.25in; text-align: justify; text-indent: -1.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1.25in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Projections
                                            of future earnings or losses, or other earnings guidance, or changes in projections or guidance.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1.25in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Financial
                                            performance, especially quarterly and year-end earnings or significant changes in financial
                                            performance or liquidity.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1.25in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Potential
                                            significant mergers and acquisitions or the sale of significant assets or subsidiaries.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1.25in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">New
                                            major contracts, orders, suppliers, customers, or finance sources, or the loss thereof.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1.25in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Major
                                            discoveries or significant changes or developments in products or product lines, research
                                            or technologies.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1.25in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Significant
                                            changes or developments in supplies or inventory, including significant product defects,
                                            recalls or product returns.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1.25in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Stock
                                            splits, public or private securities/debt offerings, or changes in dividend policies or amounts.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1.25in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Significant
                                            changes in senior management.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 3 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->3<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1.25in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Actual
                                            or threatened major litigation, or the resolution of such litigation.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1.25in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">An
                                            imminent change in the Company&rsquo;s credit rating by a rating agency.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1.25in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
                                            contents of forthcoming publications that may affect the market price of Company securities.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1.25in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Significant
                                            breaches of information technology systems or other events impacting cybersecurity.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">B.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Definition
                                            of &ldquo;Nonpublic&rdquo; Information</B>.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1in; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Information
is &ldquo;nonpublic&rdquo; if it has not been disseminated to investors through a widely circulated news or wire service (such as Dow
Jones, Bloomberg, PR Newswire, etc.) or through a public filing with the Securities and Exchange Commission (the &ldquo;SEC&rdquo;).
For the purposes of this Policy, information will be not considered public until after the close of trading on the first full trading
day following the Company&rsquo;s widespread public release of the information.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>C.</B></FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Consult
                                            the Compliance Officer for Guidance</B>.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1in; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Any
Insider who is unsure whether the information that he or she possesses is material or nonpublic should consult the Compliance Officer
for guidance before trading in any Company securities.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>V.</B></FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>ADDITIONAL
                                            PROVISIONS FOR SECTION 16 INDIVIDUALS AND KEY EMPLOYEES </B></FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>A.</B></FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Definitions
                                            of Section 16 Individuals and Key Employees.</B></FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&ldquo;Section
                                            16 Individual&rdquo; &ndash; Each member of the Company&rsquo;s Board of Directors (&ldquo;Board&rdquo;),
                                            those officers of the Company designated by the Board as &ldquo;Section 16 officers&rdquo;
                                            of the Company, and their respective family members and others in their households.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.25in; text-align: justify; text-indent: -0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&ldquo;Key
                                            Employees&rdquo; &ndash; Persons designated from time to time by the Compliance Officer or
                                            the Board as a Key Employee.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.75in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Employees
and other individuals who are recipients of stock option and/or restricted stock unit awards from the Committee that are broad-based
or special awards from the CEO or other authorized officer under a pool of stock options or restricted stock units established by the
Committee shall not be considered Key Employees unless they also meet one or more of the conditions set forth in the preceding two bullets.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>B.</B></FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>The
                                            Trading Window</B>.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Trading
                                            Only While Trading Window is Open</U>. Insiders, Section 16 Individuals and Key Employees
                                            may buy, sell, donate or otherwise transact in Company securities only while the Company&rsquo;s
                                            trading window is open. In general, the Company&rsquo;s trading window opens after the close
                                            of trading on the first full trading day following the Company&rsquo;s public announcement
                                            of annual or quarterly earnings, and remains open until fifteen trading days prior to the
                                            Company&rsquo;s planned public announcement of annual or quarterly earnings.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.25in; text-align: justify; text-indent: -0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>No
                                            Trading While Aware of Material Nonpublic Information</U>. Notwithstanding the provisions
                                            of the immediately preceding section, any Insiders, Section 16 Individual or Key Employee
                                            who is in possession of material nonpublic information regarding the Company may not trade
                                            in Company securities during an open trading window until the close of trading on the first
                                            full trading day following the Company&rsquo;s widespread public release of such information.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.25in; text-align: justify; text-indent: -0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 4 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->4<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Exceptions
                                            for Hardship Cases</U>. The Compliance Officer may, on a case-by-case basis, authorize trading
                                            in Company securities outside of the applicable trading windows (but not during special trading
                                            blackout periods) due to financial hardship or other hardships, but only in accordance with
                                            the procedures set forth in Section V.C.2 below; provided that no hardship exceptions may
                                            be authorized with respect to the cooling-off periods set forth in Section VII.B.5.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.25in; text-align: justify; text-indent: -0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>C.</B></FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Procedures
                                            for approving trades by Insiders, Section 16 Individuals and Key Employees and Hardship Cases</B>.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Insiders,
                                            Section 16 Individuals and Key Employee Trades</U>. No Insider, Section 16 Individual or
                                            Key Employee may trade in Company securities until:</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.25in; text-align: justify; text-indent: -0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1.25in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">the
                                            individual has notified the Compliance Officer in writing of the amount and nature of the
                                            proposed trade(s);</FONT></TD></TR>
<TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD><TD STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD></TR>
<TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">the
                                            individual has certified to the Compliance Officer in writing, no more than three business
                                            days prior to the proposed trade(s), that he or she is not aware of material nonpublic information
                                            regarding the Company; and</FONT></TD></TR>
<TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD><TD STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD></TR>
<TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">c.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">the
                                            Compliance Officer has approved the proposed trade(s).</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.5in; text-align: justify; text-indent: -0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
notice and certification required by this Section V.C.1, and the Compliance Officer&rsquo;s approval thereof, shall be given using the
form attached hereto as Exhibit A. During the approval period identified in the notice and certification, provided that the facts referred
to in Section V.C.1.b remain correct, the Section 16 Individual may execute the trade set forth in such notice and certification. Once
the approval period identified in the notice and certification has expired, a new notice and certification pursuant to this Section V.C.1
must be given in order for the Section 16 Individual to trade in Company securities.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Hardship
                                            Trades</U>. The Compliance Officer may, on a case-by-case basis, authorize trading in Company
                                            securities outside of an applicable trading window due to financial hardship or other hardships
                                            only after:</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.25in; text-align: justify; text-indent: -0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1.25in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">the
                                            person trading has notified the Compliance Officer in writing of the circumstances of the
                                            hardship and the amount and nature of the proposed trade(s), and</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.5in; text-align: justify; text-indent: -0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0">
<TR STYLE="vertical-align: top">
    <TD STYLE="width: 1.25in">&nbsp;</TD>
  <TD STYLE="text-align: justify; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b.</FONT></TD>
  <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">the person trading has certified to the Compliance Officer
in writing no earlier than two business days prior to the proposed trade(s) that he or she is not aware of material nonpublic information
concerning the Company.</FONT></TD></TR>
</TABLE>


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.5in; text-align: justify; text-indent: -0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Compliance
                                            Officer Trades</U>. If the Compliance Officer desires to complete any trades involving Company
                                            securities, he or she must first obtain the approval of the Chief Executive Officer or the
                                            Chief Financial Officer of the Company.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.25in; text-align: justify; text-indent: -0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>No
                                            Obligation to Approve Trades</U>. The existence of the foregoing approval procedures does
                                            not in any way obligate the Compliance Officer (or, in the case of any trade by the Compliance
                                            Officer, the Chief Executive Officer or the Chief Financial Officer of the Company) to approve
                                            any trades requested by Section 16 Individuals, hardship applicants or the Compliance Officer.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.25in; text-align: justify; text-indent: -0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>VI.</B></FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>COMPLIANCE
                                            OFFICER</B></FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has designated Daniel O&rsquo;Brien as the individual responsible for administration of this Policy (the &ldquo;Compliance Officer&rdquo;).
The duties of the Compliance Officer include the following:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">A.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Administering
                                            this Policy and monitoring and enforcing compliance with this Policy.</FONT></TD></TR></TABLE>

<P STYLE="margin-top: 0; margin-bottom: 0">&nbsp;</P>


<!-- Field: Page; Sequence: 5 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->5<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0">
<TR STYLE="vertical-align: top">
    <TD STYLE="width: 0.5in">&nbsp;</TD>
  <TD STYLE="text-align: justify; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">B.</FONT></TD>
  <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Reviewing and either approving or denying all proposed trades
by Section 16 Individuals in accordance with the procedures set forth in Section V.C.1 above.</FONT></TD></TR>
</TABLE>


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.75in; text-align: justify; text-indent: -0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">C.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">After
                                            discussing with the blackout assessment team, designating and announcing special trading
                                            blackout periods during which certain Insiders may not trade in Company securities.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.75in; text-align: justify; text-indent: -0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">D.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Providing
                                            copies of this Policy to all new Section 16 Individuals, Key Employees and Insider.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.75in; text-align: justify; text-indent: -0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Compliance Officer may designate one or more individuals who may perform the Compliance Officer&rsquo;s duties in the event that the
Compliance Officer is unable or unavailable to perform such duties.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>VII.</B></FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>RULE
                                            10b5-1 TRADING PLANS</B></FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>A.</B></FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>General
                                            Information</B>.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.75in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.75in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Under
Rule 10b5-1 of the Securities Exchange Act of 1934, as amended, an individual has an affirmative defense against an allegation of insider
trading if he or she demonstrates that the purchase, sale or trade in question took place pursuant to a binding contract, specific instruction
or written plan that was put into place before he or she became aware of material nonpublic information. Such contracts, irrevocable
instructions and plans are commonly referred to as Rule 10b5-1 plans and must satisfy several conditions set forth in Rule 10b5-1.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.75in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.75in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Rule
10b5-1 plans have the obvious advantage of protecting against insider trading liability. However, they also require advance commitments
regarding the amounts, prices and timing of purchases or sales of Company securities and thus limit flexibility and discretion. In addition,
once a Rule 10b5-1 plan has been adopted, it is generally not permissible to amend or modify such plan without complying with new conditions
and timing limitations set forth in Rule 10b5-1. Accordingly, while some individuals may find Rule 10b5-1 plans attractive, they may
not be suitable for all Insiders.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.75in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>B.</B></FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Specific
                                            Requirements</B>.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.75in; text-align: justify; text-indent: -0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.75in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Pre-Approval</U>.
                                            For a Rule 10b5-1 plan to serve as an adequate defense against an allegation of insider trading,
                                            a number of legal requirements must be satisfied. Accordingly, anyone wishing to establish
                                            a Rule 10b5-1 plan must first receive approval from the Compliance Officer or his or her
                                            designee. Section 16 Individuals wanting to establish a Rule 10b5-1 plan must also satisfy
                                            the notification and certification requirements set forth in Section V.C.1 above.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1in; text-align: justify; text-indent: -0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.75in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Material
                                            Nonpublic Information and Special Blackouts</U>. An individual desiring to enter into a Rule
                                            10b5-1 plan must enter into the plan at a time when he or she is not aware of any material
                                            nonpublic information about the Company or otherwise subject to a special trading blackout</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1in; text-align: justify; text-indent: -0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.75in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Trading
                                            Window</U>. Section 16 Individuals and Key Employees may establish a Rule 10b5-1 plan only
                                            when the Company&rsquo;s trading window is open.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1in; text-align: justify; text-indent: -0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.75in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Limitations
                                            on Number of Rule 10b5-1 Plans</U>. An individual may not establish overlapping Rule 10b5-1
                                            plans and must limit the use of single-trade plans (i.e., a plan covering a single trading
                                            event) to one 10 during any consecutive 12-month period, in each case subject to the accommodations
                                            set forth in Rule 10b5-1.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1in; text-align: justify; text-indent: -0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.75in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Cooling-Off
                                            Periods</U>.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1in; text-align: justify; text-indent: -0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Section
                                            16 Individuals must observe a cooling-off period between the date a Rule 10b5-1 plan is adopted
                                            or modified and the date of the first transaction under the plan following such adoption
                                            or modification equal to the later of (i) 90 days and (ii) 2 business days following the
                                            disclosure in Forms 10-K or 10-Q of the Company&rsquo;s financial results for the fiscal
                                            quarter in which the plan was adopted or modified (but not to exceed 120 days following plan
                                            adoption or modification).</FONT></TD></TR></TABLE>

<P STYLE="margin-top: 0; margin-bottom: 0">&nbsp;</P>


<!-- Field: Page; Sequence: 6 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->6<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">All
                                            other employees who are not subject to Section VII.B.5.a must observe a cooling-off period
                                            between the date a Rule 10b5-1 plan is adopted or modified and the date of the first transaction
                                            under the plan following such adoption or modification equal to at least 30 days.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1.25in; text-align: justify; text-indent: -0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>VIII.</B></FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>POST-TERMINATION
                                            TRANSACTIONS</B></FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">This
Policy continues to apply to transactions in the Company&rsquo;s securities after termination of service to the Company. If an individual
is in possession of material nonpublic information when his or her service terminates, or if the Company&rsquo;s trading window is closed
at the time of termination, that individual may not trade in the Company&rsquo;s securities until any such material nonpublic information
has become public or is no longer material and/or the Company&rsquo;s trading window has opened. The pre-clearance procedures specified
in Section V.C.1 above, however, will cease to apply to transactions in the Company&rsquo;s securities upon the opening of the Company&rsquo;s
trading window and/or expiration of any special trading blackout period, at which point the provisions set forth in Section V.B.1 above
shall no longer apply. The Compliance Officer and the Company will not be held responsible for actions taken by a terminated employee
after termination has occurred.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>IX.</B></FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>POTENTIAL
                                            PENALTIES AND DISCIPLINARY SANCTIONS </B></FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>A.</B></FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Civil
                                            and Criminal Penalties</B>.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.75in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.75in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
consequences of prohibited insider trading or tipping can be severe. Persons violating insider trading or tipping rules may be required
to disgorge the profit made or the loss avoided by the trading, pay the loss suffered by the person who purchased securities from or
sold securities to the Insider or tippee, pay significant civil and/or criminal penalties, and serve a lengthy jail term. The Company
in such circumstances may also be required to pay major civil or criminal penalties.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.75in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>B.</B></FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Company
                                            Discipline</B>.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.75in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.75in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Violation
of this Policy or federal or state insider trading or tipping laws by any Insider may, in the case of a director, subject the director
to dismissal proceedings and, in the case of an officer or employee, subject the officer or employee to disciplinary action by the Company
up to and including termination for cause.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.75in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>C.</B></FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Reporting
                                            of Violations</B>.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.75in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.75in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Any
Insider who violates this Policy or any federal or state law governing insider trading or tipping, or knows of any such violation by
any other Insider, must report the violation immediately to the Compliance Officer. Upon determining that any such violation has occurred,
the Compliance Officer, in consultation with the Company&rsquo;s Board of Directors, will determine whether the Company should release
any material nonpublic information, and, when required by applicable law, shall cause the Company to report the violation to the SEC
or other appropriate governmental authority.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.75in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>X.</B></FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>MISCELLANEOUS</B></FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">This
Policy will be delivered to all Section 16 Individuals, Key Employees and Insiders upon its adoption by the Company and to all Section
16 Individuals, Key Employees and Insiders at the start of their employment or relationship with the Company. Upon first receiving a
copy of this Policy or any revised versions, each Section 16 Individual, Key Employee and Insider must sign an acknowledgment that he
or she has received a copy of this Policy and agrees to comply with its terms.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.75in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 7 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->7<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Receipt
and Acknowledgment </B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.75in; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Upon
first receiving a copy of the Insider Trading Policy of Flexible Solutions International, Inc. or any revised version thereof, each member
of the Board of Directors, each officer designated under the Policy as a &ldquo;Section 16 Individual&rdquo; and each individual meeting
the definition of a &ldquo;Key Employee&rdquo; must sign and return to the Company&rsquo;s Compliance Officer the following receipt and
acknowledgement.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">I,
_________________, hereby acknowledge that I have received and read a copy of the Insider Trading Policy of Flexible Solutions International,
Inc. and agree to comply with its terms. I understand that violation of insider trading or tipping laws or regulations may subject me
to severe civil and/or criminal penalties, and that violation of the terms of the above-titled policy may subject me to discipline by
the Company up to and including termination for cause.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="width: 2%">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 40%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 10%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Signature
    </FONT></TD>
    <TD>&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date
    </FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD>&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD>&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Print
    Name) </FONT></TD>
    <TD>&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 8 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->8<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>EXHIBIT
A</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><B>Flexible
Solutions International, Inc.</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>INSIDER
TRADING POLICY</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Notice
and Certification for Insiders, Section 16 Individuals and Key Employees</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">To
the Compliance Officer:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">I
hereby notify you of my intent to trade in securities of Flexible Solutions International, Inc. (the &ldquo;Company&rdquo;). The amount
and nature of the proposed trade is as follows:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9744;</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Exercise_________
                                            non-qualified stock options granted under the Company&rsquo;s Equity Incentive Plan on __________;</FONT></TD></TR>
<TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD><TD STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD></TR>
<TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9744;</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Sell
                                            in the open market shares of Company Common Stock currently held at (example: Fidelity; another
                                            broker; in certificated form);</FONT></TD></TR>
<TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD><TD STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD></TR>
<TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9744;</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Purchase
                                            in the open market ____ shares of Company Common Stock;</FONT></TD></TR>
<TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD><TD STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD></TR>
<TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9744;</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Gift
                                            shares of Company Common Stock to __________;</FONT></TD></TR>
<TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD><TD STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD></TR>
<TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9744;</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Adopt
                                            a Rule 10b5-1 plan to sell shares granted on _____;</FONT></TD></TR>
<TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD><TD STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD></TR>
<TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9744;</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
                                            (explain) ______________________________________________________</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1in; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">__________________________________________________________________________________</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1in; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">__________________________________________________</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 1in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">I
understand that I am not authorized to trade in Company securities or adopt a Rule 10b5-1 plan in reliance upon this Notice and Certification
until the same is approved by the Compliance Officer or his/her designee. I further understand that I am only authorized to complete
my proposed trade or adopt my Rule 10b5-1 plan during the authorization period set forth in the approval below, and that if I have not
completed my proposed trade or adopted my Rule 10b5-1 plan by the last date of the authorization period set forth below, I must submit
a new Notice and Certification in order to trade in Company securities or adopt a plan.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">I
agree to notify the Compliance Officer within 24 hours after the execution of any cleared trade in Company securities so that the Company
can provide reasonable assistance, as requested, in connection with the timely filing (if required) of forms required under Section 16
of the Exchange Act. The ultimate responsibility and liability for timely, complete and accurate filing of such forms, however, remains
with the undersigned Section 16 Individual.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">I
hereby certify that I am not aware of material nonpublic information concerning the Company. I hereby certify that I am adopting a Rule
10b5-1 plan to sell [______] shares in good faith and not as part of a plan or scheme to evade the prohibitions of Rule 10b5-1, and that
if I adopt a Rule 10b5-1 plan, I will do so during the authorization period and such plan will comply with the conditions set forth in
Rule 10b5-1 of the Securities Exchange Act of 1934, as amended.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 5%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date:</FONT></TD>
    <TD STYLE="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 44%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="width: 2%">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 11%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Signature:
    </FONT></TD>
    <TD STYLE="border-bottom: Black 1.5pt solid; width: 38%">&nbsp;</TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD>&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD>&nbsp;</TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD>&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Print
    Name: </FONT></TD>
    <TD STYLE="border-bottom: Black 1.5pt solid">&nbsp;</TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>



<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"></FONT></P>

<!-- Field: Rule-Page --><DIV STYLE="margin: 0pt auto; width: 100%"><DIV STYLE="font-size: 1pt; border-top: Black 1.5pt solid">&nbsp;</DIV></DIV><!-- Field: /Rule-Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">To
be completed by Compliance Officer or his/her Designee</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 13%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Approved
    by: </FONT></TD>
    <TD STYLE="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 36%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 2%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 49%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
</TABLE>

<P STYLE="margin: 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 35%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date:
    <U>_______________</U></FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 2%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 24%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Authorization
    Period Begins:</FONT></TD>
    <TD STYLE="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 39%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"></FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Authorization
    Period Ends:</FONT></TD>
    <TD STYLE="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">
    </FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="text-align: center; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(up
    to 45 business days after period begins)</FONT></TD></TR>
  </TABLE>

<P STYLE="margin-top: 0; margin-bottom: 0">&nbsp;</P>

<!-- Field: Page; Sequence: 9; Options: Last -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->9<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23.1
<SEQUENCE>3
<FILENAME>ex23-1.htm
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><B>Exhibit
23.1</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>CONSENT
OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have issued our Independent Auditors&rsquo; Report, dated April 1, 2024</FONT>, relating to the
consolidated financial statements of Flexible Solutions International, Inc. (the &ldquo;Company&rdquo;) for the years ended December
31, 2023 and 2022 appearing in the Company&rsquo;s Annual Report on Form 10-K for the year ended December 31, 2023. We hereby consent
to the incorporation by reference of such report in the Company&rsquo;s registration statements on Form S-8 (File No&rsquo;s. 333-270291,
333-205566 and 333-205375).</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Smythe
LLP</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chartered
Professional Accountants</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Vancouver,
    Canada</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">April 1, 2024</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 1; Options: Last -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%"><TR><TD STYLE="text-align: center; width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><B>&nbsp;</B></FONT></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>4
<FILENAME>ex31-1.htm
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><B>&nbsp;</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><B>EXHIBIT
31.1</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">CERTIFICATIONS</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">I,
Daniel B. O&rsquo;Brien, certify that:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">I
    have reviewed this annual report on Form 10-K of Flexible Solutions International, Inc.;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; 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 the report;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; 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;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    registrant&rsquo;s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures
    (as defined in Exchange Act Rules 13a-15(e) and 15d-15e)) and internal control over financial reporting (as defined in Exchange Act
    Rules 13a-15(f) and 15d-15(f)) for the registrant and have:</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; 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;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; 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;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">c)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Evaluated
    the effectiveness of the registrant&rsquo;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</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">d)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Disclosed
    in this report any change in the registrant&rsquo;s internal control over financial reporting that occurred during the registrant&rsquo;s
    most recent fiscal quarter (the registrant&rsquo;s fourth fiscal quarter in the case of an annual report) that has materially affected,
    or is reasonably likely to materially affect, the registrant&rsquo;s internal control over financial reporting; and</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    registrant&rsquo;s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over
    financial reporting, to the registrant&rsquo;s auditors and the audit committee of the registrant&rsquo;s board of directors (or
    persons performing the equivalent functions):</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; 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&rsquo;s ability to record, process, summarize and report financial information;
    and</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Any
    fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&rsquo;s
    internal control over financial reporting.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date:
    March 29, 2024</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; width: 50%; border-bottom: black 1.5pt solid"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>/s/
    Daniel B. O&rsquo;Brien</I></FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Daniel
    B. O&rsquo;Brien</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Principal
    Executive Officer</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 1; Options: Last -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 33%">&nbsp;</TD><TD STYLE="width: 34%">&nbsp;</TD><TD STYLE="width: 33%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>5
<FILENAME>ex31-2.htm
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><B>&nbsp;</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><B>EXHIBIT
31.2</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">CERTIFICATIONS</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">I,
Daniel B. O&rsquo;Brien, certify that:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">I
    have reviewed this annual report on Form 10-K of Flexible Solutions International, Inc.;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; 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 the report;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; 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;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    registrant&rsquo;s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures
    (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange
    Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; 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;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; 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;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">c)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Evaluated
    the effectiveness of the registrant&rsquo;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</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">d)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Disclosed
    in this report any change in the registrant&rsquo;s internal control over financial reporting that occurred during the registrant&rsquo;s
    most recent fiscal quarter (the registrant&rsquo;s fourth fiscal quarter in the case of an annual report) that has materially affected,
    or is reasonably likely to materially affect, the registrant&rsquo;s internal control over financial reporting; and</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    registrant&rsquo;s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over
    financial reporting, to the registrant&rsquo;s auditors and the audit committee of the registrant&rsquo;s board of directors (or
    persons performing the equivalent functions):</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; 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&rsquo;s ability to record, process, summarize and report financial information;
    and</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Any
    fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&rsquo;s
    internal control over financial reporting.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date:
    March 29, 2024</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; border-bottom: black 1.5pt solid; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>/s/
    Daniel B. O&rsquo;Brien</I></FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Daniel
    B. O&rsquo;Brien</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Principal
    Financial Officer</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 1; Options: Last -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%"><TR><TD STYLE="text-align: center; width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>6
<FILENAME>ex32-1.htm
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>EXHIBIT
32.1</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><B>CertificatION
of Principal Executive Officer<BR>
Pursuant to 18 U.S.C. Section 1350,<BR>
as Adopted Pursuant to Section 906 of</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><B>the
Sarbanes-Oxley Act of 2002</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Solely
for the purposes of complying with 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, I, the
undersigned Principal Executive and Financial Officer of Flexible Solutions International, Inc. (the &ldquo;Company&rdquo;), hereby certify
that, to the best of my knowledge, the Annual Report on Form 10-K of the Company for the year ended December 31, 2023 (the &ldquo;Report&rdquo;)
fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934 and that the information contained
in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date:
    March 29, 2024</FONT></TD>
    <TD STYLE="text-align: justify; border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>/s/
    Daniel B. O&rsquo;Brien</I></FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Daniel
    B. O&rsquo;Brien</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Principal
    Executive and Principal Financial Officer</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 1; Options: Last -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 33%">&nbsp;</TD><TD STYLE="width: 34%">&nbsp;</TD><TD STYLE="width: 33%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>7
<FILENAME>form10-k_001.jpg
<TEXT>
begin 644 form10-k_001.jpg
M_]C_X  02D9)1@ ! 0$ 8 !@  #_VP!#  @&!@<&!0@'!P<)"0@*#!0-# L+
M#!D2$P\4'1H?'AT:'!P@)"XG("(L(QP<*#<I+# Q-#0T'R<Y/3@R/"XS-#+_
MVP!# 0@)"0P+#!@-#1@R(1PA,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R
M,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C+_P  1" !. 3@# 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#W_-%8_BB_
MN-+\,ZC?6K!9X(6="1D9'M7BG_"U_%7_ #\P?]^5KHI8>=5-Q.:MB84G:1]!
MT5\^?\+7\5_\_,'_ 'Y6C_A:_BO_ )^8/^_*UM]1J^1C]?IGT'17SY_PM?Q7
M_P _,'_?E:/^%K^*_P#GY@_[\K1]1J^0?7Z9]!T9KY\_X6OXK_Y^8/\ ORM'
M_"U_%?\ S\P?]^%H^HU?(/K](^@J6N8\ ZS>:_X6BO[]U>=Y'4E5VC .!Q73
MUQRBXR<7T.V$E**D@HHHJ2@HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**Y#XE^(-0\,^#9M2TQT2Y26-070,,$X/!KA?AC\1_$?BCQ>NG:G<0O;&!Y,
M)"JG(QCD?6@#VFBCM7DOQ9\>Z]X2UBPMM)GBCCF@,CAX@_.['>@#UJBO.?A)
MXPU?Q=8:E+JTL<CV\J*A2,)@$$GI]*]&H **** "BBB@ HHHH **** .>\<_
M\B3K'_7LU>"Z7X*\1ZO&DEII4YB< B1\(I![@L1D5]+S0QSQ-%*BR(W56&0?
MPKFO%?C73?""PI<QR2S39*0Q 9P.I)/ %=>'KS@N6"NV<6)H0F^>;LD>*7WP
M_P#%.GJS2Z1,Z#DM"1)^BDFN<=&C=D=2KJ<%6&"/J*]UTSXN>'[Z41727%D6
M. \JAD_-<X_+%<O\6=;T>]-G9V MKBY'[V2YCVL50CY5W#USG\O6N^E7JN:A
M.)Y]6A24'.$CS"BBBNXX@HHHH ^@OA/_ ,B';?\ 763_ -"-=O7$?"?_ )$.
MV_ZZR?\ H1KMZ^<K?Q)>I])0_AQ] J&YN[:RA,MU<101CJ\KA0/Q-9_B778?
M#?AZ]U><;DMHRP3.-[=%7\20*^5[R]U_QYXDY\Z]O;ESY4"DD(.3A0>  /\
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
EDHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@#_V0$!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>8
<FILENAME>form10-k_002.jpg
<TEXT>
begin 644 form10-k_002.jpg
M_]C_X  02D9)1@ ! 0$ 8 !@  #_VP!#  @&!@<&!0@'!P<)"0@*#!0-# L+
M#!D2$P\4'1H?'AT:'!P@)"XG("(L(QP<*#<I+# Q-#0T'R<Y/3@R/"XS-#+_
MVP!# 0@)"0P+#!@-#1@R(1PA,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R
M,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C+_P  1" "G _8# 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#W^BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** #-%87B/5[C29=&6!
M(V%[J4=I)O!.$97)(P>ORBMT=* "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***0]* %R/6BLG1=0F
MOY=268(!:WKVZ;1U4*I&??DUK4 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 49HK$U?59['7M"LHEC
M,=_/+'*6!R L3.,<^JCUH VZ*!THH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** .3\;?Z_PO_P!AR#_T"2NL'2N3\;?Z_P +_P#8<@_] DKK
M!TH 0G S7/:/XI&IZ_JND26AMY[!@!E\^8I)^8<#'\)_&NA/2O+?'5Q)X6\6
MKK40(2_L);=BH_Y:@?*3_P"._D:VHP4VX]>ASUYNFE);=3LO#7B@>)/M\L-H
M8K:VN#!'*7SYN.IQCCC'KUK.TOX@VVI^*Y-$6S:- \D<5R7^65DZ@#'U/7^=
M5;$_\(9\*A*^$N$MC(<C!\U^@/T) _"N$>WUG1?#FA:G+HQABL+@7)O%N%9I
M1(0<%>HR,#K71"C"3E]R.:=><5'[V>C^+/'D/A34;.VGLFF2X7<TBO@H,X/&
M.?SJ_J/BJ&SOM$@BA%Q'JKE4E5\!1@$'ISUKD_%(M]3^('AA6"RVUS ^0>0Z
M,#_,&L-8+W1O&?A_P[=[GBLKUI+2<G[\3XP/P(--4(.*[V;?XBE7J*3[72_(
M[S7/'":;JXT?3]-N-3U':&:*$@!![GMV[=ZM0^*)+;0[S4]=TV32Q;/M,;.)
M"_ QM(X.2<5Q]MJEMX3^)>M2:R6@AOU5H+@J2I'!ZX_#\*T/'%Y!XK\#W<FB
M3?:TM9U:41 \XY(]\!@>/2H=)7C&VCMJ6JLFI.^JOH/D^)-U:6T-_?>&;RWT
MR9@$N?,!.#T)7'&?K6SJOC*#3[S08H8/M,6L2!8Y5?:$!*@'&.?O^W2N4\2^
M-]#U'P,UE9R"6[N8EB2U1#NC;C@\=O\ ]54M:LI]"T?P-=WR.L6GS W)"DF/
M<R-@_3!%:>QB[75GK^1'MIJ]G=:?F=YJ7BM=/\6Z=H)M"[7J%Q-OP$QGMCGI
MZTNC>*!JFMZKI4MH;:?3W Y?<)%.<,.!CL?QKD)[^U\3?%71KG2)1<P6ENS3
M2J#M7[W?'7D5%XYN7\+>+O[9B5MFH:?);DKU\P#Y3G_OC\C4*C%VAU:_&_\
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
M,J_>22=58?4$UYEXO\1Z9KTP-S=O:6NEW4#103!HWFG\U-Q9>H5%R,'JV3T
MSU'BVUT_61INE0V]L\NLRCS)O+&[[,@#R,#CN-J?\#'I0!TT^M:9:LJW.HVD
M+,H=1).JDJ>A&3TJU)-'%$TLCJL:KN9V. !ZD^E<)K<&I:%KFL:_)H5IJFE?
M980%$RK+#'$&+;49<'[S'&X=*VO&,T=Q\.=<GAYC?2YG3MD&,D4 =!/=06H0
MSS1Q!W$:%W"[F/0#/4GTJ6O(_'6J^(+T>&8M3\-?V= -?LR)OMZ39;<<#:HS
MZ\^U=!>>(]>73=9U^W>P73M+GG06;1,TDR0,5<F0/\K$JV!M/;/6@#O**\YU
M?QYJ6F6MT$M8Y[FSOFDFC"G=]@5%E9P,_?".J^FZI=0\;WWV@QZ?&KQ76H&U
MLYDMWG.R.$/*^Q2-WS94#(Z$\@4 >@U4DU73XKP6<E[;)=-@"%I5#G/3"YS6
M9X8U'4M2TR5M4MVAGBG>)7,#0>:@P5?8Q)7(.,9/(-<]:6Z^&-9EBUG3(+BT
MOM2::VU<!79)9'RB2!OF4@D(K D<+TH [X'-+7#_  Z74B-?:\OTN(UUB[C"
MB$J0PDY.2Q^7T7''J:[B@ HHHH **** "BBB@ HHHH **** "@T4&@#G_"_^
MOUW_ +"DG_H"5T%<_P"%_P#7Z[_V%)/_ $!*Z"@!"<#-5K?4K*ZDDCM[N"9X
MN)%CD5BGUP>*Q?'ES/:^"]2:W61I)46#$9 ;$CJAP3P#ACSVKC-<U1-+TO5O
M#4NBVFFWSZ8DD36$H*M;,XB?+%%VE=QZCGJ* /3K;4+2]5VM;J&=4.UC%(&"
MGT..E+:W]I?(SVES#.JMM8Q2!@#Z''>O-O%]E::1J5S%8-%917FD""Y$*A J
M"XBC5CCOLED&?;VJ[</!X;^)MHMA9R"UFT9_M%M9Q9_U<JB-MBC)(WD?0^U
M'HE1I/%(K,DBL$)5L,#@CJ#6(=0M_$4,^F-:ZO:+-&0TKV\EN0/9R.#7(:1H
MSM\//$NCZ5;[@FIW<44 E*[T6;E-QZ94%<GUH ]%MK^TO86FM;F&>)3AGBD#
M 'ZBD@U*RNH'GM[N":%,[Y(Y595QR<D'%>6WL%YJFL:Q::3H4VGK<:3"9K*5
M8XS,4GZ?*2HW)YB GKCT -;NAF&\\9:I"NAO86T^EQ"6SN8XU$I#R %D7( (
M++D]0.F * .U@U&RNK=KBWNH)H5SNDCD#*,=<D4ZTOK6_B,MI<PW$8."T3A@
M#Z9%<1X>C)\6>(([[28+"[N;*$KIRR*\<T2F1?,+ 8Y)VD8& !USQ;\)!H_%
M>N?:M-CTN\GAMV^RQ$.C1KO42[Q@$DDC& 0%6@#J[F_M++9]JN88-YVIYL@7
M<?09ZTESJ-G9;!=74$!D.$\V0+N/MGK7 >*X)]0\8:C#IVF6^J7":+Y4T=PX
M06^]W*E,@AF;#9' ^1<L*S[(KJES#)HMI#XB1/#]O!(-0D6,)D,5Y(8[G&=P
MX^Z.: /6 00".E,2XADFDA25&DCQO0,"5SR,CMFN?\(7EJGP_P!)N%N&>VAL
M4#2R#:<(N&)&3C&#W/3K7$^#]72/Q;#J;K=HWB3S/M EMI8TCD4EH &90I_=
M97@]A0!ZU17$V_BJ_>2#37$/]J1ZC-!=@(<"",>89%&<C<C18YX,@JIX7\7:
M[KE[IETUD[:=J&]BHL9(Q;)M+(WG$E9,X . .6XZ4 >@T444 %%%% !1110
M4444 %%%% !1110 5RWB3_D;_"/_ %]S_P#I.]=37+>)/^1O\(_]?<__ *3O
M0!U-%%(>E %:34;**Z2UDNH%N'^[$T@#M]!U-++J%I!<QVTMS#'/+_JXVD 9
M_H.IKCO$MAIFJ7%SI&E6%O-K%S/'+<W*I_QZE2I$CN.0V%&U<Y/TR:R=8M8+
MO0?'VHS*DE_;SN(7VX>'R88VB53U'S?-QW<^M 'ICSQQE1(ZIN8*NY@,D]!]
M:DKS?Q9HEL-;\+Z_,L_]H3:M:QE7F8I"/+;(5,X&2.?6NLN/$\$$TL)TW6',
M;%=\=A(RG'<$#D>] &P\T<;HCNJM(=J G!8X)P/4X!/X5%)?VD-U':RW,*3R
M?<B:0!F^@ZFN1US1K)/&OAS6U65KRYOS$6DD8A$%K/\ *JDX7) )P.2*YC7T
M^TWGBJ[BM(Y+".^M_M6J%@)[0Q+&7$:G[P4 '.5^^V-V.0#U.35+"*[6TDO+
M=+EL;86E4.?H,YI+C5M.M)U@N;ZVAF;!6.2958YZ8!-<;XHM-/UF.\T31[-9
M-6NGC>>\CBXM2=K"1Y.S!5&U0=W3H.:-62^T#Q%JOB&ZTJVU#2Y$MUW^</-M
MT3@E49<'EF/WA0!W4TT=O$TLKJD:@LSL<!0.I)]*9:WMK?1F2TN89XP<%HG#
M#/U%8OC@Y\!ZY@9S8RX![_*:Y&/4)?#NO:YJ$^CV^FWKZ:CV]I#*K176QB/,
M9P 009%4_*./7L >GT5Q5WJWB32M4L].N)["[EU."86\D5LT8@F1-PW#<V]#
M]01CWK/'Q&EWPW;01?V:=-,LK<[A=^69?*'ML5O?)% 'HM%>;3^+O$<MY=V-
MM#B[TZ&)9Q'ILMPDUPT8=AE& 1?F _B/4]N;]SKOB.XEU1[7['9)86$5VT5Q
M TC,[(S-&2&7;C;C.#UZ4 =RS!%+,0 .23VJM::G8W^[['=V]QM^]Y,JOM^N
M#Q5%KX:GX.-^JE1<V/G!?0-'G^M<-X;DB.N:/,VDKI<]EH[2%CMWWT95!\NS
M((4C)R=P+#CG- 'I5Q>6]JT*SS1Q&:011[V WN02%'J< \>U3YKS.\N=;U%/
M!VJ:A/9&VO-3BF2WAA96AW12%1O+'?P3DX'.*]+'04 +1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110!R?C;_7^%_\ L.0?^@25
MU@Z5R?C;_7^%_P#L.0?^@25U@Z4 %5;JP@O9;9YTW&VE\Z([B-K[2N>.O#'K
MZU9/2LZPUFVU&XU""/S(Y+"X,$RR#!!VJP8<_=*L"#0 Y]&LI-<BUEX0U]%
MUNDI8_*C$$@#IR0.<9JCJGA#2M7U!KRX6X5I46.XCBG=([E%.5610<,!D_@<
M'(XJ]H^KV^M:3!J-NDJ6\X+1^:N"RY(#8]"!D>Q%7]PH PM1\(Z9J=Y)<S?:
M8FG01W*6]P\:7*CH) I&[ )'K@X/'%;D:+&BHBA548  X HWBEW#UH KWMC!
MJ%L;>Y3?$65BNXCE6##I[@4Q]-M7U2/4C%F[CA:!'W'A&(8C'3DJO/7BK>X>
MM)N!H P]7\):?KD[MJ,M[-;R!?,M/M<BP.1T)0$#\.A[@UJ7VGV^HZ=/87$8
M:UGB:*1 2N4(P1QR./2K <&C>!0!0U;1+#6TM4U"#SEM;E+J$;V7;*ARK<$9
MQZ'BL^Y\&:3=7LL\BW(CGD$T]JEPZP32 @[FC!P3P,]CCD&N@-<MH?CO3]:N
M[2W^PZE9&]C,EF]W %2X &X[&!(^[SSCB@#7;0--?5I=3>U1[N:W^RR.Q)#1
M9SM*GC]*I'P9HPT*TTB&"2WM[.0RVS0S.LD,A+$LKYW9^9LY/.3FHO\ A,()
MI9?[/TO5-0MHI?*>ZM8%,88-AL;F#/@]2H(K4U+6(-+-B+A92MW<K;*Z 85V
M!V[N> 2,=^2* )=/T]-.LUMTFGF ))>XF:1V)ZDLQ)_#H.P%9:^#]._M07TL
MU_/ME\]+>>]ED@CDSG<L9.,@\@=!V JW=:Y:6FK1Z=(7\UK:2Z>3@)%&A +.
M21C)/'T/I4.E^(X=4#3QV5[#8>498[V=52*5!W7YMP!!R"RC(&: )].T&TTK
M4;V[M#,GVR0RRP^:QC\P_>8+T!/?_P#76I7/6'BI-3G@-II.J/93OMCOC"HA
M88R&P6WA3V8KCD>M:&J:FVFQ1M'87E[)(^U8K5 3TSDEB% X[D>U &C17,3^
M-;./2+'4(+#4KK[9</;1VT, \Y9$W[U96(QM\MP>>U3VGBJ"_P!,FN[.QU":
M:";R)K(1!)XWX.&#$ <$'.<8- '045G:+K,&MV)N88YH2DC120SIMDC=3@JP
MY'Y$BM&@ HHHH **** "BBB@ H-%!H Y_P +_P"OUW_L*2?^@)705S_A?_7Z
M[_V%)/\ T!*Z"@"O?6-MJ5C/97D*S6\Z%)(VZ,#63:>$-*MH+N.5);PW<7D3
M27LS3.T7.$RQR%&3P/KR>:T]4U"'2=*NM1N YAMHFE<(,L0HR<59#8'- &':
M>$=*M;:[@=)[M;J(02F\G>9C$,X0%CPHR>GU.3S4^D^';+1Y99H3<37$H5'G
MNIVFD*+G:FYB3M&3Q[DG))-:N]1WI=PH 7%9L.B6EM9WEK;"6!+N66:5HY6#
M;Y"2S!LY4Y.>.G:I-6U.+2=*N=0D1G2WCWLJXR15P-ZT 8]IX9L[.UNXHY;Q
MIKL 3W3W3F=L# P^<KCL!@#TYI;/PU9V-I=PI)=/)=_Z^Z>X<SOQ@?O,Y&.V
M, =L5L;A2YH P;;PI8VUO=(9KV:>Z0)+=2W<AF*@Y4!\Y4 DD!<<G/6K&C^'
M[31I)IHWN+BZG $MS=3-+(X&<#)Z 9/ P*RQX[L!JWV*:QU*"(W9LDO9(!]G
M:8,5VA@21DC R!S5NY\50IJ%Q86.G:AJ5Q:X%P+2-=L1(!"EG95+8(. 2>:
M':OX4T_6+P7<K7=O<%!')):74D!EC&3L?81N')]QDX(J&[\%Z5<O T)NK Q0
MK;YL+I[??$N=J-M(R!DX[C/6KM_KUOIOA\:S=PW,5N%C:1&3#Q!B 2PSQMSD
M^@!I^IZW;Z9-I\#QS2S7TX@A2%03G:26.2,* .30 -H&FGP\=!%L%TTP^084
M=E_=XP5R#GI[\U)?:/9:C:0VUS;JT<$B2Q!24V.ARI!&".GY<5F)XL@.H1V<
MNG:E;O.)#:M-$JBY* DJGS9!P"1N"Y J2'Q7IUUI>E7MN)Y5U218X(E4>9N(
M)8,">-H5MW/&TT 6X]!L(M<FUE+=1J$T0ADFW$Y08XQT'0=N<#TJOIOA:QTJ
M\\^UFO5C4L8K4W3F"(GKMCS@?3H.V*UIIX[:VDGF=8XHU+N[' 51R23Z8K"L
MO&&GWMOHTZ172KJTTD%NLD85E9%=FWC/'^K;U[4 =%17.W'C&PAM-2NT@NY[
M>PF6 O"BD32,P79'DC<0Q /09R.QJ_HVK/J]N\[Z;?V&U]HCO8U1VX!R &/'
M/Z4 :=%%% !1110 4444 %%%% !1110 5RWB3_D;_"/_ %]S_P#I.]=37+>)
M/^1O\(_]?<__ *3O0!U-(>12T'I0!SA\$Z.+RZNXSJ-O-=RF:?[-J=Q"KN>Y
M57 S^%27?A#2K[4FO9TF)D*--")W$4[)C89$SAB,#KZ#.<##;+QAI=]XLU#P
MW&TJ:A9 %A(H"R J&^0YYP&&>G6M2QU*"_:Z6(./LT[0/N'5A@G'MS0 E]I-
MIJ;6ANXO,^R7"W,/S$;9%! /!YX)X/%7L4FX4FX8S0!7NM/M[R>TFFCW26DI
MFA.2-KE&3/'7Y78<^M8]YX+TB^U%[N47*B9Q)<6T=RZP7##&#)&#M8\#MSCG
M-;-S<O"T CMY9Q)($8QE?W8P3N.2..!TR>1Q5C<* ,&7PAIDMW<7(DU*&2X?
MS)!;:G<0J6P!G:C@#@#M2WWA.PU.Z66\FO9X5V$VKW<A@9DQM8IG!Z#@\'J0
M36YO%*#F@"MJ%A;ZII]Q872%[:XC:*5 Q7*D8(R.1^%9<'@_1H?M1>WEN6NH
M?L\SWES+<,T?]S,C,0OL*NZYJ\.A:1-J,\4TL<6T>7 H9V+,%  )'.2.]9]A
MXQTVZM;Z:Z2ZTUK!!)<Q7\7EO&ASANI!!P>A/3% $VF>%M/TN[%TC75S<(IC
MBDN[AYFA0_PIN)P/U/<G%,_X0[0_LC6OV%?):]^W%"[']]G.[KT]NF.,8I=-
M\1OJ5S%&NBZM;PR@E+BYA5$./4;MZY[;E%6UUBW&OG1V$BW)MOM*%@-KINVG
M!SU!QG_>% %34/"EEJ%^]YY][:S2H$G-G=/")E'0/M/) XR,''>KAT6R9KUC
M%DWL0AG)=OG0 @#KQPQY'-9EWXSTRUN;FWVW$L\5TMFD<2!FGF*!RD?/) (R
M3@#N>*&\::>FGM/);WB7*W7V(V+1CSS.1N"  [<E?FSG&.<T ;4.G6T&E1Z;
M%'MM8X1 J;B<(!M SUZ=ZK/H&GR+IP:#_D'?\>Q#L"@V[",YY!'!!R#QZ5+I
ME_)J$#R2V%W9,KE#%=! W0'(VLP(Y]>U57\1V \1IH:M*]ZREF"QML3"AL%N
MF2"#@9- %&T\":)9W%K*D=RRV<OFVD4EU(T=L<$812< <GC_ .M72@8%4K'4
MHM0DO$B#@VDYMY-PQE@JMQ[885E3>--)MO#7]N3&X6V8R*B"(M(Q0L" JY_N
M$YZ8Y.* .CHJ."59X$E7.UU##/7!YHH DHHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@#D_&W^O\+_\ 8<@_] DKK!TKD_&W^O\ "_\
MV'(/_0)*ZP=* "O/O&%OJ-CKLK:5!*W_  D%JNGR21(3Y,H;"RL1T C>4Y/]
MP5Z#28% 'F?BV+3X]5MM#FL--BMK?3E%I)?64ET9#DJ8X8U(&\!5YSN^88XS
M2:'H,>OW^CG7[&2Z0>&K82)=(2IEW'.[/5Q[\C.?>O3=HYXZT;10!Y%I#1RV
M^@2>-8F?2QI")&+V-VB%P)"&,H(QNV"/!?WQ6A<Q^&QK-U_;]HCZ6;.W714F
MMW9!%L^98AC*R;L<##XVXZ5Z;M'I1M% 'E_A^]N/#VL:==^*I9(9[K0;>#S)
M$9BTR.Y9"0#\^'7CJ3FH;/\ M71M#TG7+&PN6N[B.ZL)+9HSN5GE=X&8=@'^
M4GTDSTKU;:/2C:* /']4T&/2]733-3NM,CTR#3H8[*75;&2X21\MYK*1(H68
MM@G'S$$8Z&MG2-"7_A-;%]2$E_'9Z!;&.ZFA9%,BS2$-M8G#@8//(S[UZ/M'
MI4<]O%<V\D$R!XI4*.I/52,$?E0!%87\&IZ?;WUL6:"XC66,LI4E6&0<'D<5
MY)X3LID?PP;*[U:^O$@,-U;7T3+#81M$=S1DHH!#!%'+$@FO888([>".&) L
M<:A%4=@. *?@4 <'X6\3Z9H?ARQT;51+9:G8Q+;R6A@=G=E&-T8 .]3C.1GK
MSBND\4Z4VM>&KRSA(6=D$ENY'W)5(:,_@P%;&T&EH \KN++5/%W@GQ1JZ6$\
M.HZE:BUM;:;*,L<2\K@]-SF7TR"*K?9KC5])N=)T*_U"[:XT69+Z&Z=RD4^%
M")\V/+8_.NQ<# R1TKUS:,YQS1M% '-Z1XRT6^%K9H\T-^P"-926[K+$<#(=
M<?*!G[QX]S2>+-?DT6.T@MU*RWDA07#6\DJ0*!EF94!)/8#C)/7 -=+@9HP*
M /--5M]/&@>'$L]3U:*TBU*5Y[^"%Q<;VBG9G(*$C<[\_+CYN,5)HUS#8:-K
M*7&IZC::;+>JMOK$\6RXE9D4NSEX\  @J'*@8XXP"?1\#THP* .6\"LW]DW2
MCS9;87LGV:ZFC*272$!O-;/4EBPW8 (4$ 9KJJ0 "EH **** "BBB@ HHHH
M*#10: .?\+_Z_7?^PI)_Z E=!7/^%_\ 7Z[_ -A23_T!*Z"@#"\:(\G@C7$C
M1G=K*4!44DD[3P .M8GB3Q1IM]H$J6T NX&FBCN/MEK*L,2,WWY 0"RC'('X
M\5W%)M'I0!Y1I.E_:M-%CY9-@?$:E!;6KVT)A-NI;8A+;8RQ;H<')QC.!)J-
ME+I-OXDTZRLI8-$CU2SDEAMXV"BV=8C<! O\/4D+ZM7J84 8%5=1M9[NRD@M
MKR6SE;&V>)59EY!Z,"#GIR.] 'EDD.CO?^*8_#=LJV<FC0E$MHRL3/YD@)C4
M#'89*\$Y[YI-?L6N_%&M)K6H:99RR2(NG/=Z=)-*L6Q=IMY%D7:P<MD*-V>3
MQBO1-%T!M-O+G4+R^EO]1N42.2XD1$PB9*JJJ   68]SSU-;6T>E 'FNHZ?<
M6^O2>%]K2VVO217<LF"!MC %SGTW;(Q_VU->@:??VVHP/+:$M%'+) 25*_,C
M%&QGL"I&>^*I6NAF+7KC5[F]ENIFC,,",JJMO$3N*K@<DD#)// ]*T;.SM["
MU6VM8A%"F=J G R<GK[DT >3RVLBZI.UM=ZK<:DFNO+#I4D+&S(,YRY.SC"%
MG!WX! /M71Z)KUCX7FU73==)L)C?W%U%+(K%+F.20NI1NA(#!2HY&WI7=X%&
MT"@"E-':ZYHLD3HSVEY 4970J2C+@Y!&1P>]<9X+@U/4-4275X95;0[7^SHV
MD0J)9=W[R5<]052+!']XBO0,"C H X'1]8L_$'B*UU'46GBN(BZV%C]DE A+
M @N[E<%RO'7"@D<DYJ?P_H*VGQ!UV;$WV2$+)9QNN(XVG&Z8IQW9!GTR?6NW
M(!&"*  * .6\966O7_V&#2K.TN['S"][!/<F#S=N"BY"-\N<DC'. .A.>%N-
M&UW7M&\/Z==12:3*^JWP$]H[2&-6CG^9LJN 6)7MD'@@GCV2DQ_G- '!A].N
M_"4VD>(;1M'32YH4E\@%(@58&*2)@/N$@'GIR#TS6GX,N;NY74MUW<7NF+=8
ML+JY'SR1[%+<X&Y0Y8!N_P"'/4X%  % "T444 %%%% !1110 4444 %%%% !
M7+>)/^1O\(_]?<__ *3O74URWB3_ )&_PC_U]S_^D[T =30>E%% 'E\&@7>H
M^,?&ES;HUO?07=K<:=<R(0ID6'!&>ZMRK8['U J!M4-QH#OJ.DQP6^HZQ)YY
MU6W9X;4B/.70$;OF7:.=I/?IGU; HV@# H \NTC2?MGAW0K&XMY6M5UV?]V(
M'A7R0MP5&QB2L9X&TG&"!2ZA;6FAV.J:8=.MH])?7%2(7<3O:6R-;1N6*#@I
MYA8!<A=S=1BO4 H QBC H \ATB"^;1]&B,,CPV_BPF$):O"BP;)""J')1,MP
M">,@5-=^&H'T_3[K^SY#>7'B2:.YE56$AMFN)@5)'/E%<''W><]Z]8P/\FC
MH \SO]*33--URP@M+F+14UF!Y;>U4C%LT<+2! .=FXL6"]MWO5[0KO1M-U^_
MNM%"0: \5O"1;Q%87NGD*CRP."<%0Q ],]#7?;14-S9V]V(Q<1"01R+*F>S*
M<@_A0!S_ ,0(FG\%WJ(9@2T)+0*6=0)4)90 >0 3T/2N*_L^[O+?68M+;4M8
MM$-E=/-J$6V:Y>.4,T"ED4,NQ1CC@G'.XUZY2;10!B:7XLT35[A+:RNFDN&!
M)A,#JR8ZAP0-A]CBL_QFLNGC3?$=M!-/)IDY$L4*%FD@D&QP .3@[&_X!75[
M1Z4$ C% 'G5QH%G9>%]&O=7U!M,U>&X>\%[Y>]8[F;<SA@1C;\Q')'0<@XJE
M:6.GRV&K:OXBU"\\B_U"%K34! T#(T<019E"C]V"0X!;@C&<YKU+ HP* .8\
M%:E>ZC8W8N9GN[>"X,5I?21>6UU'M!WE<#N2N0,';D=:M:I&Y\6:%(L;%$6X
MW,!P,JN,FMW %+B@#B=-T.^NM5UZ=-<U;3HVU%BL5ND&QAY<?S#S(F)_/'%5
MM-L[B+X-W]J\<S7'V2]4!T^=B6DQQ@<GV'>N^P*7% %>P!73K8$$$1*"#]**
ML44 %%%% !11FB@ HHS10 449HS0 4444 %%%&: "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
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
MDVJ!W"X&20#TXJ6_\,:MXF-[)?VL&E/)IOV*/R91*Q?>'#$X V*5&!U^9NE
M#=3\4:SX1:8ZU=6MZLNFS7<&R'RMLT90&+@G*GS%P>HP<FM72]2UBR\4PZ)K
M%Y;WAN[)[N.2*#RO+9&573&3E?G!!Z]<YK+U7POK'B^.4:Q;6UBT6G2VD!27
MS<S2,A,G &%'EJ .I!;IQ6MIFG:I?>)X=;U:RALGM;)K6*..?S=[.RL[9P,+
M\B@=^N<4 =31110 4444 %%%% !1110 4444 %%%% !1110 5RWB3_D;_"/_
M %]S_P#I.]=37+>)/^1O\(_]?<__ *3O0!U-!Z<444 <;JEYXHM?$VG:;!JF
MFB+4//9"^G,QB$8! _UPW=<9XZ=*Z6QNY+A98Y(Y5D@?RG=XC&LA !+("3E3
MGU['TK/U/2[JZ\5:'J,04V]DMP)<M@_.JA<>O0UI6KW<DER+BV2%4EVPE9=_
MFI@'<1CY3DD8YZ=>: .9U>_U_1;ZQN'U"WN4O-02V73TM@/W;MU5L[BRJ"Q/
M3@\#K4=IXGN;WQ=?:<=9TVSCM[T6\5G/;'SKA1&C,5?S .6+@84_=[U%:V.N
M1^(9=5OO#ZWMX)'C@N3?*%@@+':$0CY3MQD]2<U=UW3]7U^ZM;)M.CMK6VOH
MKE;XW 9@(V#?(N,AFQMYZ GK0!FW7B+7X]+O/$XNK:+2[6[:/[%);\O DIC=
MR^<AC@L,# QC!KLM02^FM0-.NH+:;(.^> S+CTVAE_/-<?-X?UV72;SPRUK;
MRZ;<W3.+V2?D0/+YC*8]N2P!91S@\$GM76:U%?/H5[%I>W[<T#K!N;: Y!"G
M/;F@#E4\3ZS#X/U76KBZLI$CN!%93K:LBNF]4,C+O.06+$8(X />K$_B.[A\
M(7>IVVN:7J$B3Q1BX@MB(X0TB(V]?,)) 8GJ*VH+.?0O#=K9Z9:"Z>TACACA
M:41[@N%/S$8Z9/O[5DZ5I^LZ=<:WK7]FP_:M1GB==/2Y "A5"%B^W&\CD]N
M,T ;'AR_;4=.:=M6LM3!D($UG%Y:KC'RD;VY!SW[]*S/$]]K.D#^TK?4+;R%
MFBBCL&M\F<LP4KOSG<2>,# QR#VG\,Z7>VM]K.I7UM#:2ZC<+(+:&3>%"H%W
M,V "QQDXXZ<FLR]L]=;Q9-J,VB+J,%NP&F_Z8L:P@H S[2/ODEAD]!@#&3D
MLZ]K6N:=XDT.VBCLTTR]O!;NY):5_P!V[GC&% *^Y/MW7Q+K.MZ7K6B16\=H
MFG7E_':R2,2TK%E=B N,*/DZY).>U6_$>DW>IZAX=GME7;8ZA]IFW-@A/*D7
MCU.6%+XHTF[U630FM54_8M4CNI=S8PBHZG'J<L.* *GBC6-<TK4M)%J+-=/N
M;Z"VE9]S2MO8@A1P%  Z\YST&*ZH=.:P?%&DW6K1Z2+95)MM2@N9-S8PB$DX
M]3[5OCI0 4444 %%%% !1110 AK#M_$$MZ^ZTTNZFM?.,7V@,B@X;:S!2V[
M(/;MQ6X>AKAY+FWT*=9M%UB"XMYKH*^FLX?YGDP_ED?,I!).#D=>E7"*9C4D
MXV.@M_$%M<>)+O0PKK<VT2R[B/E<''3Z9'YTMQX@M8?$%KHP5WN9U+$J/EC
M!(W'WVMCZ5R]X'M_$VLZQ%DMITMO+(%&2T1BQ(/RY_X"*N:? [WVE:M<*1<Z
MC>O-R.4B\B01K^"X)]R:U<(K7R_$R52;T\_P-8^)K5=(NKYHY5>VE,#VY WF
M3=@*/=LKCZBJ^H^*KK39TCDT"^9995AB=7BP['H!\^?SJG<Z?&WC^WC+$030
M_;I(NS31$(I_)Q^*+5WQ7UT7C'_$TA_K22C=:;C<I\K=]B\FM_Z9IUI/9S03
MWL<CA'*GR]F,@X)'\0Z4^/5XI-=FTH1OYL5NLY?C:0Q( ^O%8OB."YNO%>A1
M6E\UG*8;HB58U<X_=\8;(J#1+>[M/'FHQ7FH/>R?V?$?,>-4XWMQA0!_^NDH
M1:OY?J#J23MY_H:>B^)9]:\B2+1KR*TF!*W,CQ[<#/8-GJ/2M+5]3CTC37O9
M8W=$9%*IC/S,%'7ZUR?P_9QI5@&UY)$,3!;#;&"IR>X^8]#6QXY8+X2N6)
ME@))_P"NJ42BO:<J*A-^SYGN;-]>I8VAN'5F =%PO7YF"_UJ+6-4CT?1[G49
M8VD2!=S*F,GGMFL[7-0L[C0IGANX)%2: N4D!"CS5Z^E5?%]]:7?@K5_LUU#
M-MAY\MPV.1UQ4QA=J_<<JED[=C2T[7C=WXL;JPN;&Y=&DC2?80Z@@$@J3TR.
M#ZTFNZX^CW>BPK LHU&_6S)+8V QN^[W^YC'O3;/2;O^V4U+4;R.XECA:&)8
M8#$B!B"3RS$D[1WK,\<?\A/P=_V'4_\ 1$U*?+?0NGS6]XZXD#K38YHIDWQ2
M*Z_WE.17)?$V)KCP+?VRZU#H[3[(Q=S.4098?*S#E0>1GWKQM[RR'P6\61:;
MIBV#VUY;))-:W;SV\[^8OS1.Q)Z=0">H]:@T/I$S1!F4R+E1EAGH/?TI5D1U
M#(P92,@@Y!%?/NF^%+&;QYX;TQKJ_P#LVL^'$GU "Z;=<$*2%)SD*-J\#'3Z
MU%INB:EJ_P &KK^SKF9K_P .ZO.UFRN0QC3!9>._S$_44 ?0EQ<Q6MO+/,X6
M*)"[MC. !DFN*\1?$W3M'\"V_BRRMWU&RN)Q%& QB)Y89Y&>JGM7&Z%;I\1[
M+Q?XHOHIWL[FT6SM( [+_JT5VQ@@G,BK]<$$=JX:\72U_9PM_L+YN_[37[<N
M]CMD_>8&#P/EV\"@#Z;L+Z.^LX9U(#/&CLF[)3< <'\ZG$T9D,8D4NH!*YY
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
M=?T2ZTAK.R^TQRC296)\E2HPV5)4!F1CA&('UR* /0=P]134ECD9E1U9D.&
M.<'T->3BUM?#VA^)?$?A^TDMDFDCTZR2WRQP)1$TH#'&XNS8SQA%]373^#8M
M-TC5+K1XM#.E7[6Z7+YG$QN$R5WLP/+ YSGU')[ ':4444 %%%% !1110 44
M44 %%%% !1110 4444 %<MXD_P"1O\(_]?<__I.]=37+>)/^1O\ "/\ U]S_
M /I.] '4T44'I0 F11D8S7CL-K8W_P 5O%$>H>';_5MMU:K%<0D;+8&)<ELN
MN!WX!Z5ZS9_:_*E^V>1N\U_+\K./+S\N<_Q8Z]J )Q-$TC1B1"Z\LH/(^HIV
M17FZ>'](7QE8-X:M)%OK.Z+ZGJ(+L&38P:)W)P[L2O'.W&>,#+M.TB'1_%[7
MVN:-ON[W4I_L>J)-N"ABQC1DR"OR#&<$9'/:@#T3SHO-\KS%\S&[9GG'KBE=
MUC4L[!5 R23@ 5Y5%I5I%X7T[QHD9E\0RWL$TES$QWR"6X5&AZGY=KE O; K
MK/'%G]MMM-2YL[F\TI;K=?6UNC.SIL;;E5Y90^TD#/TXH ZGS$V;]Z[<9SGC
M%"R(ZAD8,K#((.017D$4YE\+WVDV^GW1LUUY;6STR3=$\\)193%DGY!C>W.
M N#BM+2-?3PSHEYIHBBTN^EOV@L=-N9\I: HIR7)P4&3)P<?-M'/% 'IP(/2
MFF6,.$+J'()"YY('7BN4^'#6Z^&)+:"_6]-O?7:-*) [,/M$F&./48-<_J&G
M0S6>L^*G<C6;+4G2VN2QS%''*$$0&<;64'([[C0!Z7YL?F!/,7>1D+GDB@RQ
MAPA=0S D GD@=:\9UZV%SJ.LZS'IDDYMM24CQ"LX4V*1E-ZB/.Y@F&! &#DD
M]#4FO1I-X@U?61:O<16E[;A==$P4::J[-Z*F<L!DY*C!WG/0T >PR3Q1%1)*
MB%SM7<P&X^@]34@.1D5Y1??9]3U/7=:UCPX^KVNF731+(9@/LT484L8T)Y;J
MY/!YP.E>J1.LD2.IRK $'VH ?1110 4444 %%%% "&H%L[=)/,6&-7Z[@HS^
M=6**!-)D?E)EOE&6^\<=?K2^6OR\#Y?N\=/I3Z* L1F-"X?:-X&-V.<4K1J^
MTLH.TY&1T-/HH"Q&8U9U8J"R]#CI1Y2[]^T;R,%L<XJ2B@+%=+.VC<.EO&C#
MH50 U))&DJ%'4,IZ@C(-244!9%=;.V1&18(PC?>4(,'ZTJVENB,B0QJK?> 0
M 'ZU/11=A9""L;7=$;6;O1I5G$0TZ_6\(*9\P!'3;UX^_G/M6U10,CE@BG79
M+&LB_P!UE!'ZTS[';>08/(B$1.3'L&W\NE3T4 1?9H-ZN(HPRKM5@HR!Z ^E
M87B;0=2U3319Z)K T;>Q\]X[59"Z$8('3!]ZZ*B@#)\->'[/POX?M-&L WV>
MV3:&?[S$G)8^Y))J]]@M/+,?V:'83N*^6,$^N,=:L44 1?9X1()!$GF*NT-M
M&0/3/I3196HF\X6\0ESGS @W9^M3T4 026=M+())((WD7HS("1^-<YI'@JWT
M[Q9X@UR:9;G^UVB;R)(1B(HI'!R<YSZ"NJHH ADM8)E598DD"G(#J#@TTV5J
M49#;Q%&;<R[!@GU(]:L44 0S6L%PH$T,<@7IO4''YT26EM,BI+!$Z+]U60$#
MZ5-10!"UK T(A:%&B'1"H*C\*46T(D,@B02$;2^T9(],U+10!'#!%;ILAB2-
M.NU% 'Z5)110 4444 %%%% !1110 4444 %%%% ')^-O]?X7_P"PY!_Z!)76
M#I7)^-O]?X7_ .PY!_Z!)76#I0 5GVNC6MIK.H:I$9/M%^L2S ME?W8(7 QQ
MU-:%% %:SL_L@F'VBXF\V9I?WS[MFXYVKZ*.PK'_ .$.T\WWGF>[-M]J^V?8
M?,'D>=G=OVXS][YL9QGG%=#10!SB^"M-6Z1S/>&TCN3=QV/F@0)*6W[@H&3\
MQ+8)(!.<=*OW7A[3+NYLYWM8U>UG\]-B*,ML9.>.1AR?J!6I10!FZQHEGKEB
M+6[$@"2++%)$VUXI%.5=3V(-9I\%:<\$@EN;V6\>X2Y^W/*//$B#:I! V@!2
M1C&,$\<FNDHH YB7P)I=Q9O'/<7\ETURMW]N,^)UE5=JL&  &%XP!C';FM'1
M_#]MH\UW<)/<W5W=LIGN;EPSN%&%7@  #G  '4^M:U% &+K/A72=<CMTNK<+
MY%U'=*T2JI9T;< 3CD$]15?4?!FG:C=74KSWD,-X$%W;02[8KC: HW#&?N@*
M=I&0 #7144 4%TBU76CJH\S[1]F%J!N^14W%N%]2<9/L*J:EX;AU:Y9KK4+\
MVKE3)9+(HA?&."-N[!QR-V#SZFMJB@  P,4444 %%%% !1110 4444 %%%%
M!1110 4444 %!HH- '/^%_\ 7Z[_ -A23_T!*Z"N?\+_ .OUW_L*2?\ H"5T
M% %74]/AU;2[K3[@N(;F)HG*'!P1@X-%Y9?;(%B%Q<08=7WP/M8[2#MSCH<8
M(]*M44 9VK:-;:S:I!.\T;1R++%-"^V2)UZ,I]>H]""0>*H?\(?I[:9-9O/>
M/+-<"Z:\:7]_YPQM<,!@$!0  ,8&,8KH** ,G3_#MC812AP]Y--*999[O:\C
MM@#)X & H   X%2:-H5EH4=U'9(56YN9+E\X^\YR0, <>@[5I44 8-[X5M]2
MNS)>ZAJ$UJ9EF^Q-*/)+*01D!=Q (!P3CCI27_A2#4YY/MFIZE+:22"1[$S*
M(6Q_"<+NVY'3=BM^B@"A_9-O_;8U8M*;@6_V95+?(J[MQ('J3CGV%7Z** ,>
M/P[;P6-[:VUU=VYN[I[IIHI '5V?<=IQC&>,$'C(I^FZ#!IANI!<W5Q=76/.
MN9W#2, ,*.   ,G  [GU-:M% &1%X;TZ+PRGA\QL]@D @P6PQ [Y&/FSSD=^
M:32?#MOI5Y->M=WE[>2QK$T]W(&8(N2%&  !DD],DGFMBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH *Y;Q)_R-_A'_K[G_P#2=ZZFN6\2?\C?X1_Z
M^Y__ $G>@#J:*** ,K3_  _9Z9K&JZG TOVC4WC><,V5!1=HVC''%6[6R^RI
M,OVFXF\V5Y,S/N*;CG:O'"CL*M44 <YIGA(:3'!#;:[JWV>%LB!FB*MSD@_N
M\G)SGG//6K"^&H3JL=]<ZAJ%UY4K30V\\JF*)SGD *"< D#<3C/XUMT4 <Y#
MX+T^&ZC<7-ZUK'<FZCL6E!@27);(&,X#'(&< ]N!6QJ%D]_;>2E[<V9W ^9;
M%0WT^92,?A5NB@#!?PCIK:3!8(US&T$_VJ.Z23]\)N<R%B#ECN8'((()&,5-
MIWANPL(YP_F7DT\OFRSW>)'=L >@       XK8HH HZ5I%IHUM)!9IM22>2=
MLX^\[EST'3+$#T&!69+X/T^74);GSKI89KE;N:S60"&29<$.1C.<JIP#@D9(
MKH:* .8NO NG737:&[U"*RO)C-<V,4P6&5B<MD8W ,>2 0#SZT7?@72[N>Y)
MN+Z*TNY5EN;&*8""9ACDKC(S@9 (!QS73T4 <W>^"M/O;F\?[5?0V]\P:[M(
M90L4Y "G<,$C( !VD9Q71JH10JC"@8 ':EHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH Y/QM_K_  O_ -AR
M#_T"2NL'2N6\8PS3S^&S##))Y>M0N^Q2=JA),DXZ#D<^]=0.E "T444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !0:*0\"@# \+_Z_7?\ L*2?^@)705@^&XI(I]:\R-TWZE(R[@1E=J<C
MU%;U !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %<MXD_Y&_P (_P#7W/\ ^D[UU-<SX@AED\5>%I(X
MG>.*ZG,C*I(0&!P"3VY(% '344#I10 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
'%%%% '__V0$!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>9
<FILENAME>fsi-20231231.xsd
<DESCRIPTION>INLINE XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" ?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.22a -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
    <!-- Field: Doc-Info; Name: Misc; Value: 96Mps7xRiXgen8uDanwsWaKHKbP9z5Z8aekhvWBzbXlKfyYobwa4iiRota0WUYwI -->
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:srt="http://fasb.org/srt/2023" xmlns:srt-types="http://fasb.org/srt-types/2023" xmlns:ecd="http://xbrl.sec.gov/ecd/2023" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:FSI="http://flexiblesolutions.com/20231231" elementFormDefault="qualified" targetNamespace="http://flexiblesolutions.com/20231231">
    <annotation>
      <appinfo>
        <link:roleType roleURI="http://flexiblesolutions.com/role/Cover" id="Cover">
          <link:definition>00000001 - Document - Cover</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/BalanceSheets" id="BalanceSheets">
          <link:definition>00000002 - Statement - Consolidated Balance Sheets</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/BalanceSheetsParenthetical" id="BalanceSheetsParenthetical">
          <link:definition>00000003 - Statement - Consolidated Balance Sheets (Parenthetical)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome" id="StatementsOfIncomeAndComprehensiveIncome">
          <link:definition>00000004 - Statement - Consolidated Statements of Income and Comprehensive Income</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/StatementsOfCashFlows" id="StatementsOfCashFlows">
          <link:definition>00000005 - Statement - Consolidated Statements of Cash Flows</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/StatementsOfStockholdersEquity" id="StatementsOfStockholdersEquity">
          <link:definition>00000006 - Statement - Consolidated Statements of Stockholders' Equity</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/BasisOfPresentation" id="BasisOfPresentation">
          <link:definition>995512 - Disclosure - BASIS OF PRESENTATION</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/SignificantAccountingPolicies" id="SignificantAccountingPolicies">
          <link:definition>995513 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/Leases" id="Leases">
          <link:definition>995514 - Disclosure - LEASES</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/AccountsReceivable" id="AccountsReceivable">
          <link:definition>995515 - Disclosure - ACCOUNTS RECEIVABLE</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/Inventories" id="Inventories">
          <link:definition>995516 - Disclosure - INVENTORIES</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholds" id="PropertyEquipmentAndLeaseholds">
          <link:definition>995517 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/Patents" id="Patents">
          <link:definition>995518 - Disclosure - PATENTS</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssets" id="GoodwillAndIntangibleAssets">
          <link:definition>995519 - Disclosure - GOODWILL AND INTANGIBLE ASSETS</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/LongTermDeposits" id="LongTermDeposits">
          <link:definition>995520 - Disclosure - LONG TERM DEPOSITS</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/Investments" id="Investments">
          <link:definition>995521 - Disclosure - INVESTMENTS</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/Short-termLineOfCredit" id="Short-termLineOfCredit">
          <link:definition>995522 - Disclosure - SHORT-TERM LINE OF CREDIT</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/LongTermDebt" id="LongTermDebt">
          <link:definition>995523 - Disclosure - LONG TERM DEBT</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/IncomeTaxes" id="IncomeTaxes">
          <link:definition>995524 - Disclosure - INCOME TAXES</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/IncomePerShare" id="IncomePerShare">
          <link:definition>995525 - Disclosure - INCOME PER SHARE</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/StockOptions" id="StockOptions">
          <link:definition>995526 - Disclosure - STOCK OPTIONS</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/CapitalStock" id="CapitalStock">
          <link:definition>995527 - Disclosure - CAPITAL STOCK</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/Non-controllingInterests" id="Non-controllingInterests">
          <link:definition>995528 - Disclosure - NON-CONTROLLING INTERESTS</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependency" id="SegmentedSignificantCustomerInformationAndEconomicDependency">
          <link:definition>995529 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/SubsequentEvents" id="SubsequentEvents">
          <link:definition>995530 - Disclosure - SUBSEQUENT EVENTS</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies" id="SignificantAccountingPoliciesPolicies">
          <link:definition>995531 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables" id="SignificantAccountingPoliciesTables">
          <link:definition>995532 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/LeasesTables" id="LeasesTables">
          <link:definition>995533 - Disclosure - LEASES (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/AccountsReceivableTables" id="AccountsReceivableTables">
          <link:definition>995534 - Disclosure - ACCOUNTS RECEIVABLE (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/InventoriesTables" id="InventoriesTables">
          <link:definition>995535 - Disclosure - INVENTORIES (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsTables" id="PropertyEquipmentAndLeaseholdsTables">
          <link:definition>995536 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/PatentsTables" id="PatentsTables">
          <link:definition>995537 - Disclosure - PATENTS (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsTables" id="GoodwillAndIntangibleAssetsTables">
          <link:definition>995538 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/LongTermDepositsTables" id="LongTermDepositsTables">
          <link:definition>995539 - Disclosure - LONG TERM DEPOSITS (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/InvestmentsTables" id="InvestmentsTables">
          <link:definition>995540 - Disclosure - INVESTMENTS (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/LongTermDebtTables" id="LongTermDebtTables">
          <link:definition>995541 - Disclosure - LONG TERM DEBT (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/IncomeTaxesTables" id="IncomeTaxesTables">
          <link:definition>995542 - Disclosure - INCOME TAXES (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/IncomePerShareTables" id="IncomePerShareTables">
          <link:definition>995543 - Disclosure - INCOME PER SHARE (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/StockOptionsTables" id="StockOptionsTables">
          <link:definition>995544 - Disclosure - STOCK OPTIONS (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/Non-controllingInterestsTables" id="Non-controllingInterestsTables">
          <link:definition>995545 - Disclosure - NON-CONTROLLING INTERESTS (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables" id="SegmentedSignificantCustomerInformationAndEconomicDependencyTables">
          <link:definition>995546 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative" id="BasisOfPresentationDetailsNarrative">
          <link:definition>995547 - Disclosure - BASIS OF PRESENTATION (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails" id="ScheduleOfMethodOfDepreciationDetails">
          <link:definition>995548 - Disclosure - SCHEDULE OF METHOD OF DEPRECIATION (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative" id="SignificantAccountingPoliciesDetailsNarrative">
          <link:definition>995549 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" id="SummaryOfRight-of-useAssetAndLeaseLiabilityDetails">
          <link:definition>995550 - Disclosure - SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfUndiscountedRentPaymentsDetails" id="ScheduleOfUndiscountedRentPaymentsDetails">
          <link:definition>995551 - Disclosure - SCHEDULE OF UNDISCOUNTED RENT PAYMENTS (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/LeasesDetailsNarrative" id="LeasesDetailsNarrative">
          <link:definition>995552 - Disclosure - LEASES (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails" id="ScheduleOfAccountsReceivableDetails">
          <link:definition>995553 - Disclosure - SCHEDULE OF ACCOUNTS RECEIVABLE (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfInventoryDetails" id="ScheduleOfInventoryDetails">
          <link:definition>995554 - Disclosure - SCHEDULE OF INVENTORY (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails" id="ScheduleOfPropertyEquipmentAndLeaseholdsDetails">
          <link:definition>995555 - Disclosure - SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsDetailsNarrative" id="PropertyEquipmentAndLeaseholdsDetailsNarrative">
          <link:definition>995556 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfPatentsDetails" id="ScheduleOfPatentsDetails">
          <link:definition>995557 - Disclosure - SCHEDULE OF PATENTS (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" id="ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails">
          <link:definition>995558 - Disclosure - SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/PatentsDetailsNarrative" id="PatentsDetailsNarrative">
          <link:definition>995559 - Disclosure - PATENTS (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails" id="ScheduleOfEstimatedFutureAmortizationExpenseDetails">
          <link:definition>995560 - Disclosure - SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsDetailsNarrative" id="GoodwillAndIntangibleAssetsDetailsNarrative">
          <link:definition>995561 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails" id="ScheduleOfLongTermDepositsDetails">
          <link:definition>995562 - Disclosure - SCHEDULE OF LONG TERM DEPOSITS (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails" id="ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails">
          <link:definition>995563 - Disclosure - SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails" id="ScheduleOfEquityMethodInvestmentDetails">
          <link:definition>995564 - Disclosure - SCHEDULE OF EQUITY METHOD INVESTMENT (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" id="SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails">
          <link:definition>995565 - Disclosure - SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/InvestmentsDetailsNarrative" id="InvestmentsDetailsNarrative">
          <link:definition>995566 - Disclosure - INVESTMENTS (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative" id="Short-termLineOfCreditDetailsNarrative">
          <link:definition>995567 - Disclosure - SHORT-TERM LINE OF CREDIT (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails" id="ScheduleOfLoanCovenantsDetails">
          <link:definition>995568 - Disclosure - SCHEDULE OF LOAN COVENANTS (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails" id="ScheduleOfOutstandingBalanceLoanDetails">
          <link:definition>995569 - Disclosure - SCHEDULE OF OUTSTANDING BALANCE LOAN (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative" id="LongTermDebtDetailsNarrative">
          <link:definition>995570 - Disclosure - LONG TERM DEBT (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails" id="ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails">
          <link:definition>995571 - Disclosure - SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT) (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails" id="ScheduleOfReconciliationOfIncomeTaxesDetails">
          <link:definition>995572 - Disclosure - SCHEDULE OF RECONCILIATION OF INCOME TAXES (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails" id="ScheduleOfDeferredTaxAssetsLiabilitiesDetails">
          <link:definition>995573 - Disclosure - SCHEDULE OF DEFERRED TAX ASSETS (LIABILITIES) (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails" id="ScheduleOfNonOperatingLossCarryforwardsDetails">
          <link:definition>995574 - Disclosure - SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative" id="IncomeTaxesDetailsNarrative">
          <link:definition>995575 - Disclosure - INCOME TAXES (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfBasicAndDilutedLossPerShareDetails" id="ScheduleOfBasicAndDilutedLossPerShareDetails">
          <link:definition>995576 - Disclosure - SCHEDULE OF BASIC AND DILUTED LOSS PER SHARE (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfAnti-dilutiveOptionsDetails" id="ScheduleOfAnti-dilutiveOptionsDetails">
          <link:definition>995577 - Disclosure - SCHEDULE OF ANTI-DILUTIVE OPTIONS (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/IncomePerShareDetailsNarrative" id="IncomePerShareDetailsNarrative">
          <link:definition>995578 - Disclosure - INCOME PER SHARE (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails" id="ScheduleOfStockOptionActivitiesDetails">
          <link:definition>995579 - Disclosure - SCHEDULE OF STOCK OPTION ACTIVITIES (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails" id="ScheduleOfStockOptionFairValueAssumptionsDetails">
          <link:definition>995580 - Disclosure - SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/StockOptionsDetailsNarrative" id="StockOptionsDetailsNarrative">
          <link:definition>995581 - Disclosure - STOCK OPTIONS (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/CapitalStockDetailsNarrative" id="CapitalStockDetailsNarrative">
          <link:definition>995582 - Disclosure - CAPITAL STOCK (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails" id="ScheduleOfDistributionsDetails">
          <link:definition>995583 - Disclosure - SCHEDULE OF DISTRIBUTIONS (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" id="ScheduleOfNonControllingInterestRelatedToAcquisitionDetails">
          <link:definition>995584 - Disclosure - SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative" id="Non-controllingInterestsDetailsNarrative">
          <link:definition>995585 - Disclosure - NON-CONTROLLING INTERESTS (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails" id="ScheduleOfReportableSegmentsDetails">
          <link:definition>995586 - Disclosure - SCHEDULE OF REPORTABLE SEGMENTS (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" id="ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails">
          <link:definition>995587 - Disclosure - SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails" id="ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails">
          <link:definition>995588 - Disclosure - SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative" id="SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative">
          <link:definition>995589 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative" id="SubsequentEventsDetailsNarrative">
          <link:definition>995590 - Disclosure - SUBSEQUENT EVENTS (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:linkbaseRef xlink:type="simple" xlink:href="fsi-20231231_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Presentation Links" />
        <link:linkbaseRef xlink:type="simple" xlink:href="fsi-20231231_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Label Links" />
        <link:linkbaseRef xlink:type="simple" xlink:href="fsi-20231231_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Calculation Links" />
        <link:linkbaseRef xlink:type="simple" xlink:href="fsi-20231231_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Definition Links" />
      </appinfo>
    </annotation>
    <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
    <import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" />
    <import namespace="http://xbrl.sec.gov/dei/2023" schemaLocation="https://xbrl.sec.gov/dei/2023/dei-2023.xsd" />
    <import namespace="http://fasb.org/us-gaap/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd" />
    <import namespace="http://fasb.org/us-types/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd" />
    <import namespace="http://www.xbrl.org/dtr/type/2022-03-31" schemaLocation="https://www.xbrl.org/dtr/type/2022-03-31/types.xsd" />
    <import namespace="http://xbrl.sec.gov/ecd/2023" schemaLocation="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd" />
    <import namespace="http://xbrl.sec.gov/country/2023" schemaLocation="https://xbrl.sec.gov/country/2023/country-2023.xsd" />
    <import namespace="http://fasb.org/srt/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd" />
    <import namespace="http://fasb.org/srt-types/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd" />
    <element id="FSI_CapitalInExcessOfParValueMember" name="CapitalInExcessOfParValueMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_MendotaLLCMember" name="MendotaLLCMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ENPInvestmentsLLCAndENPMendotaMember" name="ENPInvestmentsLLCAndENPMendotaMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ENPPeruMember" name="ENPPeruMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_UnrelatedPartyMember" name="UnrelatedPartyMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ENPInvestmentsAndENPMendotaMember" name="ENPInvestmentsAndENPMendotaMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_FirstTermMember" name="FirstTermMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_SecondTermMember" name="SecondTermMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ThirdTermMember" name="ThirdTermMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_FourthTermMember" name="FourthTermMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ThreePrimaryCustomersMember" name="ThreePrimaryCustomersMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_InvestmentMember" name="InvestmentMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_BoatMember" name="BoatMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_TrailerMember" name="TrailerMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_SoftwareMember" name="SoftwareMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_EnPInvestmentsCorporationLLCMember" name="EnPInvestmentsCorporationLLCMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_EnpPeruInvestmentsLlcMember" name="EnpPeruInvestmentsLlcMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_NanoChemMember" name="NanoChemMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ENPInvestmentsLLCMember" name="ENPInvestmentsLLCMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_EnpnvestmentsLlcMember" name="EnpnvestmentsLlcMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_AppliedHoldingCorpMember" name="AppliedHoldingCorpMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_TrioOpportunityCorpMember" name="TrioOpportunityCorpMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_FloridaBasedLLCMember" name="FloridaBasedLLCMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_LygosIncMember" name="LygosIncMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_StockYardAndBankMember" name="StockYardAndBankMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_MidlandStatesBankMember" name="MidlandStatesBankMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_NewAgreementMember" name="NewAgreementMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_NanoChemSolutionIncMember" name="NanoChemSolutionIncMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_StockBankMember" name="StockBankMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_TermLoanMember" name="TermLoanMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_MidlandBankMember" name="MidlandBankMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_NanoChemSolutionsIncMember" name="NanoChemSolutionsIncMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ENPMendotaMember" name="ENPMendotaMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_StockYardsBankTrustMember" name="StockYardsBankTrustMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_EnpRealtyLLCMember" name="EnpRealtyLLCMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ENPPeruInvestmentsMember" name="ENPPeruInvestmentsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ENPPeruOneMember" name="ENPPeruOneMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_MendotaMember" name="MendotaMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_MidlandStatesBankOneMember" name="MidlandStatesBankOneMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_StockYardsBankTrustOneMember" name="StockYardsBankTrustOneMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_StockYardsBankTrustTwoMember" name="StockYardsBankTrustTwoMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_StockYardsBankTrustThreeMember" name="StockYardsBankTrustThreeMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_StockYardsBankTrustFourMember" name="StockYardsBankTrustFourMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_StockYardsBankTrustFiveMember" name="StockYardsBankTrustFiveMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_TwoThousandThirtyTaxYearMember" name="TwoThousandThirtyTaxYearMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_TwoThousandThirtyOneYearMember" name="TwoThousandThirtyOneYearMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_TwoThousandThirtyTwoYearMember" name="TwoThousandThirtyTwoYearMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_TwoThousandThirtySevenYearMember" name="TwoThousandThirtySevenYearMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_TwoThousandThirtyNineYearMember" name="TwoThousandThirtyNineYearMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_TwoThousandFourtyYearMember" name="TwoThousandFourtyYearMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ConsultantsMember" name="ConsultantsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_EmployeesMember" name="EmployeesMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ConsultantStockOptionMember" name="ConsultantStockOptionMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_OwnershipInterestPurchaseAgreementMember" name="OwnershipInterestPurchaseAgreementMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ThreeCustomersMember" name="ThreeCustomersMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_EWCPMember" name="EWCPMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_SegmentMember" name="SegmentMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_BCPAMember" name="BCPAMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_UnitedStatesandAbroadMember" name="UnitedStatesandAbroadMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_Consulting" name="Consulting" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_InvestorRelationsAndTransferAgentFee" name="InvestorRelationsAndTransferAgentFee" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_Commissions" name="Commissions" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ShippingCost" name="ShippingCost" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_GainOnPreviouslyHeldEquityInterest" name="GainOnPreviouslyHeldEquityInterest" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_LeaseRightOfUseFinancing" name="LeaseRightOfUseFinancing" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_GainOnAcquisitionOfSubsidiary" name="GainOnAcquisitionOfSubsidiary" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ProceedsFromRedemptionOfInvestments" name="ProceedsFromRedemptionOfInvestments" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ProceedsFromNoncontrollingInterestOfMendota" name="ProceedsFromNoncontrollingInterestOfMendota" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_PaymentsToAcquireLongTermDeposits" name="PaymentsToAcquireLongTermDeposits" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_DisclosureLeasesAbstract" name="DisclosureLeasesAbstract" abstract="true" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_DisclosureLongTermDepositsAbstract" name="DisclosureLongTermDepositsAbstract" abstract="true" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_LongTermDepositsTextBlock" name="LongTermDepositsTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_TermDepositsPolicyTextBlock" name="TermDepositsPolicyTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_StockIssuedInExchangeForServicesPolicyTextBlock" name="StockIssuedInExchangeForServicesPolicyTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ScheduleOfMethodOfDepreciationTableTextBlock" name="ScheduleOfMethodOfDepreciationTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock" name="SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ScheduleOfLongTermDepositsTableTextBlock" name="ScheduleOfLongTermDepositsTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ScheduleOfLoanCovenantsTableTextBlock" name="ScheduleOfLoanCovenantsTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ScheduleOfNonOperatingLossCarryforwardsTableTextBlock" name="ScheduleOfNonOperatingLossCarryforwardsTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ScheduleOfDistributionsTableTextBlock" name="ScheduleOfDistributionsTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock" name="ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_IncreaseDecreaseInSharePercentage" name="IncreaseDecreaseInSharePercentage" nillable="true" xbrli:periodType="duration" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_RemainingInvestmentOwnedPercentage" name="RemainingInvestmentOwnedPercentage" nillable="true" xbrli:periodType="duration" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_DepreciationMethodUsedAndAnnualRate" name="DepreciationMethodUsedAndAnnualRate" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_MinimumInterestPenalty" name="MinimumInterestPenalty" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ConcentrationRiskThresholdPercentage" name="ConcentrationRiskThresholdPercentage" nillable="true" xbrli:periodType="duration" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_LeaseInterestExpense" name="LeaseInterestExpense" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_InvestmentEliminatedUponConsolidation" name="InvestmentEliminatedUponConsolidation" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_EquityMethodInvestmentReturnOfEquity" name="EquityMethodInvestmentReturnOfEquity" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_RealizedInvestmentGainsLossesNet" name="RealizedInvestmentGainsLossesNet" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_AdditionalEquityMethodInvestmentOwnershipPercentage" name="AdditionalEquityMethodInvestmentOwnershipPercentage" nillable="true" xbrli:periodType="instant" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_DebtInstrumentMaturityMonthYear" name="DebtInstrumentMaturityMonthYear" nillable="true" xbrli:periodType="duration" type="xbrli:gYearMonthItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_PercentageOfForeignAccountsReceivableOfInventory" name="PercentageOfForeignAccountsReceivableOfInventory" nillable="true" xbrli:periodType="duration" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_LoanGuaranteedRate" name="LoanGuaranteedRate" nillable="true" xbrli:periodType="instant" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_EligiblePercentageOfDomesticAccountsReceivable" name="EligiblePercentageOfDomesticAccountsReceivable" nillable="true" xbrli:periodType="duration" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ProceedsFromLoanAcquiredFromAcquisition" name="ProceedsFromLoanAcquiredFromAcquisition" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_CurrentTax" name="CurrentTax" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_IncomeTaxRecovery" name="IncomeTaxRecovery" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ExpectedIncomeTaxRecovery" name="ExpectedIncomeTaxRecovery" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_DeferredTaxAssetsPropertyPlantsAndEquipment" name="DeferredTaxAssetsPropertyPlantsAndEquipment" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_DeferredTaxAssetsPropertyPlantsAndEquipmentOne" name="DeferredTaxAssetsPropertyPlantsAndEquipmentOne" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_DeferredTaxAssetNotRecognized" name="DeferredTaxAssetNotRecognized" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" name="SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" nillable="true" xbrli:periodType="instant" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" name="SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" nillable="true" xbrli:periodType="duration" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" name="SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" nillable="true" xbrli:periodType="duration" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" name="SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" nillable="true" xbrli:periodType="duration" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" name="SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" nillable="true" xbrli:periodType="instant" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_AdditionalExpensesDueToOptionsGranted" name="AdditionalExpensesDueToOptionsGranted" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_SegmentAssets" name="SegmentAssets" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_StockOptionExercisePercent" name="StockOptionExercisePercent" nillable="true" xbrli:periodType="duration" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_OtherTermDeposit" name="OtherTermDeposit" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_SecondTermDeposit" name="SecondTermDeposit" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ThirdTermDeposit" name="ThirdTermDeposit" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_GainOnAcquisition" name="GainOnAcquisition" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_CurrentIncomeTaxExpenseBenefits" name="CurrentIncomeTaxExpenseBenefits" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_RemainningShareOutstanding" name="RemainningShareOutstanding" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_EmployeeMember" name="EmployeeMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
</schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>10
<FILENAME>fsi-20231231_cal.xml
<DESCRIPTION>INLINE XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.22a -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Cover" xlink:href="fsi-20231231.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/BalanceSheets" xlink:href="fsi-20231231.xsd#BalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/BalanceSheetsParenthetical" xlink:href="fsi-20231231.xsd#BalanceSheetsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome" xlink:href="fsi-20231231.xsd#StatementsOfIncomeAndComprehensiveIncome" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StatementsOfCashFlows" xlink:href="fsi-20231231.xsd#StatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StatementsOfStockholdersEquity" xlink:href="fsi-20231231.xsd#StatementsOfStockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/BasisOfPresentation" xlink:href="fsi-20231231.xsd#BasisOfPresentation" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPolicies" xlink:href="fsi-20231231.xsd#SignificantAccountingPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Leases" xlink:href="fsi-20231231.xsd#Leases" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/AccountsReceivable" xlink:href="fsi-20231231.xsd#AccountsReceivable" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Inventories" xlink:href="fsi-20231231.xsd#Inventories" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholds" xlink:href="fsi-20231231.xsd#PropertyEquipmentAndLeaseholds" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Patents" xlink:href="fsi-20231231.xsd#Patents" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssets" xlink:href="fsi-20231231.xsd#GoodwillAndIntangibleAssets" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDeposits" xlink:href="fsi-20231231.xsd#LongTermDeposits" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Investments" xlink:href="fsi-20231231.xsd#Investments" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Short-termLineOfCredit" xlink:href="fsi-20231231.xsd#Short-termLineOfCredit" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDebt" xlink:href="fsi-20231231.xsd#LongTermDebt" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/IncomeTaxes" xlink:href="fsi-20231231.xsd#IncomeTaxes" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/IncomePerShare" xlink:href="fsi-20231231.xsd#IncomePerShare" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StockOptions" xlink:href="fsi-20231231.xsd#StockOptions" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/CapitalStock" xlink:href="fsi-20231231.xsd#CapitalStock" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Non-controllingInterests" xlink:href="fsi-20231231.xsd#Non-controllingInterests" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependency" xlink:href="fsi-20231231.xsd#SegmentedSignificantCustomerInformationAndEconomicDependency" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SubsequentEvents" xlink:href="fsi-20231231.xsd#SubsequentEvents" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies" xlink:href="fsi-20231231.xsd#SignificantAccountingPoliciesPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables" xlink:href="fsi-20231231.xsd#SignificantAccountingPoliciesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LeasesTables" xlink:href="fsi-20231231.xsd#LeasesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/AccountsReceivableTables" xlink:href="fsi-20231231.xsd#AccountsReceivableTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InventoriesTables" xlink:href="fsi-20231231.xsd#InventoriesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsTables" xlink:href="fsi-20231231.xsd#PropertyEquipmentAndLeaseholdsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PatentsTables" xlink:href="fsi-20231231.xsd#PatentsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsTables" xlink:href="fsi-20231231.xsd#GoodwillAndIntangibleAssetsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDepositsTables" xlink:href="fsi-20231231.xsd#LongTermDepositsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InvestmentsTables" xlink:href="fsi-20231231.xsd#InvestmentsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDebtTables" xlink:href="fsi-20231231.xsd#LongTermDebtTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/IncomeTaxesTables" xlink:href="fsi-20231231.xsd#IncomeTaxesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/IncomePerShareTables" xlink:href="fsi-20231231.xsd#IncomePerShareTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StockOptionsTables" xlink:href="fsi-20231231.xsd#StockOptionsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Non-controllingInterestsTables" xlink:href="fsi-20231231.xsd#Non-controllingInterestsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables" xlink:href="fsi-20231231.xsd#SegmentedSignificantCustomerInformationAndEconomicDependencyTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative" xlink:href="fsi-20231231.xsd#BasisOfPresentationDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails" xlink:href="fsi-20231231.xsd#ScheduleOfMethodOfDepreciationDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative" xlink:href="fsi-20231231.xsd#SignificantAccountingPoliciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" xlink:href="fsi-20231231.xsd#SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfUndiscountedRentPaymentsDetails" xlink:href="fsi-20231231.xsd#ScheduleOfUndiscountedRentPaymentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LeasesDetailsNarrative" xlink:href="fsi-20231231.xsd#LeasesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails" xlink:href="fsi-20231231.xsd#ScheduleOfAccountsReceivableDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfInventoryDetails" xlink:href="fsi-20231231.xsd#ScheduleOfInventoryDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails" xlink:href="fsi-20231231.xsd#ScheduleOfPropertyEquipmentAndLeaseholdsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsDetailsNarrative" xlink:href="fsi-20231231.xsd#PropertyEquipmentAndLeaseholdsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfPatentsDetails" xlink:href="fsi-20231231.xsd#ScheduleOfPatentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" xlink:href="fsi-20231231.xsd#ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PatentsDetailsNarrative" xlink:href="fsi-20231231.xsd#PatentsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails" xlink:href="fsi-20231231.xsd#ScheduleOfEstimatedFutureAmortizationExpenseDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsDetailsNarrative" xlink:href="fsi-20231231.xsd#GoodwillAndIntangibleAssetsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails" xlink:href="fsi-20231231.xsd#ScheduleOfLongTermDepositsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails" xlink:href="fsi-20231231.xsd#ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails" xlink:href="fsi-20231231.xsd#ScheduleOfEquityMethodInvestmentDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" xlink:href="fsi-20231231.xsd#SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InvestmentsDetailsNarrative" xlink:href="fsi-20231231.xsd#InvestmentsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative" xlink:href="fsi-20231231.xsd#Short-termLineOfCreditDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails" xlink:href="fsi-20231231.xsd#ScheduleOfLoanCovenantsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails" xlink:href="fsi-20231231.xsd#ScheduleOfOutstandingBalanceLoanDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative" xlink:href="fsi-20231231.xsd#LongTermDebtDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails" xlink:href="fsi-20231231.xsd#ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails" xlink:href="fsi-20231231.xsd#ScheduleOfReconciliationOfIncomeTaxesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails" xlink:href="fsi-20231231.xsd#ScheduleOfDeferredTaxAssetsLiabilitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails" xlink:href="fsi-20231231.xsd#ScheduleOfNonOperatingLossCarryforwardsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative" xlink:href="fsi-20231231.xsd#IncomeTaxesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfBasicAndDilutedLossPerShareDetails" xlink:href="fsi-20231231.xsd#ScheduleOfBasicAndDilutedLossPerShareDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfAnti-dilutiveOptionsDetails" xlink:href="fsi-20231231.xsd#ScheduleOfAnti-dilutiveOptionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/IncomePerShareDetailsNarrative" xlink:href="fsi-20231231.xsd#IncomePerShareDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails" xlink:href="fsi-20231231.xsd#ScheduleOfStockOptionActivitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails" xlink:href="fsi-20231231.xsd#ScheduleOfStockOptionFairValueAssumptionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StockOptionsDetailsNarrative" xlink:href="fsi-20231231.xsd#StockOptionsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/CapitalStockDetailsNarrative" xlink:href="fsi-20231231.xsd#CapitalStockDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails" xlink:href="fsi-20231231.xsd#ScheduleOfDistributionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" xlink:href="fsi-20231231.xsd#ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative" xlink:href="fsi-20231231.xsd#Non-controllingInterestsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails" xlink:href="fsi-20231231.xsd#ScheduleOfReportableSegmentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" xlink:href="fsi-20231231.xsd#ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails" xlink:href="fsi-20231231.xsd#ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative" xlink:href="fsi-20231231.xsd#SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative" xlink:href="fsi-20231231.xsd#SubsequentEventsDetailsNarrative" xlink:type="simple" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Cover" xlink:title="00000001 - Document - Cover" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/BalanceSheets" xlink:title="00000002 - Statement - Consolidated Balance Sheets">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaapAssetsCurrent" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Cash" xlink:label="loc_us-gaapCash" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapCash" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepositsAssetsCurrent" xlink:label="loc_us-gaapDepositsAssetsCurrent" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapDepositsAssetsCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaapAccountsReceivableNetCurrent" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapAccountsReceivableNetCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapInventoryNet" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseCurrent" xlink:label="loc_us-gaapPrepaidExpenseCurrent" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapPrepaidExpenseCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="loc_us-gaapAssets" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapAssetsCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAsset" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAsset" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepositsAssetsNoncurrent" xlink:label="loc_us-gaapDepositsAssetsNoncurrent" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapDepositsAssetsNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestments" xlink:label="loc_us-gaapEquityMethodInvestments" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapEquityMethodInvestments" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaapGoodwill" />
      <link:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapGoodwill" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="loc_us-gaapDeferredIncomeTaxAssetsNet" />
      <link:calculationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapDeferredIncomeTaxAssetsNet" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaapLiabilitiesCurrent" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaapAccountsPayableCurrent" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapAccountsPayableCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaapAccruedLiabilitiesCurrent" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapAccruedLiabilitiesCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenueCurrent" xlink:label="loc_us-gaapDeferredRevenueCurrent" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapDeferredRevenueCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxesPayableCurrent" xlink:label="loc_us-gaapTaxesPayableCurrent" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapTaxesPayableCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="loc_us-gaapLinesOfCreditCurrent" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapLinesOfCreditCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityCurrent" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapOperatingLeaseLiabilityCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtCurrent" xlink:label="loc_us-gaapLongTermDebtCurrent" />
      <link:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapLongTermDebtCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaapLiabilities" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilities" xlink:to="loc_us-gaapLiabilitiesCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityNoncurrent" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilities" xlink:to="loc_us-gaapOperatingLeaseLiabilityNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="loc_us-gaapDeferredIncomeTaxLiabilitiesNet" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilities" xlink:to="loc_us-gaapDeferredIncomeTaxLiabilitiesNet" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="loc_us-gaapLongTermDebtNoncurrent" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilities" xlink:to="loc_us-gaapLongTermDebtNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="loc_us-gaapCommonStockValue" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapCommonStockValue" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="loc_us-gaapAdditionalPaidInCapital" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapAdditionalPaidInCapital" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaapRetainedEarningsAccumulatedDeficit" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapRetainedEarningsAccumulatedDeficit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="loc_us-gaapStockholdersEquity" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterest" xlink:label="loc_us-gaapMinorityInterest" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="loc_us-gaapMinorityInterest" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquity" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquity" xlink:to="loc_us-gaapLiabilities" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquity" xlink:to="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/BalanceSheetsParenthetical" xlink:title="00000003 - Statement - Consolidated Balance Sheets (Parenthetical)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome" xlink:title="00000004 - Statement - Consolidated Statements of Income and Comprehensive Income">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaapGrossProfit" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapGrossProfit" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaapCostOfGoodsAndServicesSold" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapGrossProfit" xlink:to="loc_us-gaapCostOfGoodsAndServicesSold" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses" xlink:label="loc_us-gaapOperatingExpenses" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalariesAndWages" xlink:label="loc_us-gaapSalariesAndWages" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapSalariesAndWages" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OfficersCompensation" xlink:label="loc_us-gaapOfficersCompensation" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapOfficersCompensation" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralInsuranceExpense" xlink:label="loc_us-gaapGeneralInsuranceExpense" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapGeneralInsuranceExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherGeneralExpense" xlink:label="loc_us-gaapOtherGeneralExpense" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapOtherGeneralExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense" xlink:label="loc_us-gaapInterestExpense" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapInterestExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_Consulting" xlink:label="loc_FSIConsulting" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_FSIConsulting" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TravelAndEntertainmentExpense" xlink:label="loc_us-gaapTravelAndEntertainmentExpense" />
      <link:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapTravelAndEntertainmentExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfessionalFees" xlink:label="loc_us-gaapProfessionalFees" />
      <link:calculationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapProfessionalFees" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_InvestorRelationsAndTransferAgentFee" xlink:label="loc_FSIInvestorRelationsAndTransferAgentFee" />
      <link:calculationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_FSIInvestorRelationsAndTransferAgentFee" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="loc_us-gaapSellingAndMarketingExpense" />
      <link:calculationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapSellingAndMarketingExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaapResearchAndDevelopmentExpense" />
      <link:calculationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapResearchAndDevelopmentExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseExpense" xlink:label="loc_us-gaapOperatingLeaseExpense" />
      <link:calculationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapOperatingLeaseExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommunicationsAndInformationTechnology" xlink:label="loc_us-gaapCommunicationsAndInformationTechnology" />
      <link:calculationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapCommunicationsAndInformationTechnology" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_Commissions" xlink:label="loc_FSICommissions" />
      <link:calculationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_FSICommissions" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UtilitiesOperatingExpense" xlink:label="loc_us-gaapUtilitiesOperatingExpense" />
      <link:calculationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapUtilitiesOperatingExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ShippingCost" xlink:label="loc_FSIShippingCost" />
      <link:calculationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_FSIShippingCost" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="loc_us-gaapForeignCurrencyTransactionGainLossBeforeTax" />
      <link:calculationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapForeignCurrencyTransactionGainLossBeforeTax" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="loc_us-gaapProvisionForDoubtfulAccounts" />
      <link:calculationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapProvisionForDoubtfulAccounts" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaapOperatingIncomeLoss" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingIncomeLoss" xlink:to="loc_us-gaapGrossProfit" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingIncomeLoss" xlink:to="loc_us-gaapOperatingExpenses" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="loc_us-gaapOperatingIncomeLoss" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnDispositionOfAssets1" xlink:label="loc_us-gaapGainLossOnDispositionOfAssets1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="loc_us-gaapGainLossOnDispositionOfAssets1" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnInvestments" xlink:label="loc_us-gaapGainLossOnInvestments" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="loc_us-gaapGainLossOnInvestments" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_GainOnPreviouslyHeldEquityInterest" xlink:label="loc_FSIGainOnPreviouslyHeldEquityInterest" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="loc_FSIGainOnPreviouslyHeldEquityInterest" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeOther" xlink:label="loc_us-gaapInterestIncomeOther" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="loc_us-gaapInterestIncomeOther" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapProfitLoss" xlink:to="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredIncomeTaxExpenseBenefit" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapProfitLoss" xlink:to="loc_us-gaapDeferredIncomeTaxExpenseBenefit" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentIncomeTaxExpenseBenefit" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapProfitLoss" xlink:to="loc_us-gaapCurrentIncomeTaxExpenseBenefit" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_us-gaapProfitLoss" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapNetIncomeLossAttributableToNoncontrollingInterest" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_us-gaapNetIncomeLossAttributableToNoncontrollingInterest" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="loc_us-gaapProfitLoss" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTax" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapComprehensiveIncomeNetOfTax" xlink:to="loc_us-gaapComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapComprehensiveIncomeNetOfTax" xlink:to="loc_us-gaapComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:type="arc" weight="-1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StatementsOfCashFlows" xlink:title="00000005 - Statement - Consolidated Statements of Cash Flows">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapProfitLoss" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaapShareBasedCompensation" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapShareBasedCompensation" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationAndAmortization" xlink:label="loc_us-gaapDepreciationAndAmortization" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapDepreciationAndAmortization" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_LeaseRightOfUseFinancing" xlink:label="loc_FSILeaseRightOfUseFinancing" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_FSILeaseRightOfUseFinancing" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="loc_us-gaapFinanceLeaseRightOfUseAssetAmortization" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapFinanceLeaseRightOfUseAssetAmortization" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnInvestments" xlink:label="loc_us-gaapGainLossOnInvestments" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapGainLossOnInvestments" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="loc_us-gaapGainLossOnSaleOfPropertyPlantEquipment" />
      <link:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapGainLossOnSaleOfPropertyPlantEquipment" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="loc_us-gaapProvisionForDoubtfulAccounts" />
      <link:calculationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapProvisionForDoubtfulAccounts" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredIncomeTaxExpenseBenefit" />
      <link:calculationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapDeferredIncomeTaxExpenseBenefit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_GainOnAcquisitionOfSubsidiary" xlink:label="loc_FSIGainOnAcquisitionOfSubsidiary" />
      <link:calculationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_FSIGainOnAcquisitionOfSubsidiary" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsReceivable" />
      <link:calculationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsReceivable" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaapIncreaseDecreaseInInventories" />
      <link:calculationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInInventories" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:label="loc_us-gaapIncreaseDecreaseInPrepaidExpense" />
      <link:calculationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInPrepaidExpense" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsPayableAndAccruedLiabilities" />
      <link:calculationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="loc_us-gaapIncreaseDecreaseInAccruedIncomeTaxesPayable" />
      <link:calculationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" />
      <link:calculationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireInvestments" xlink:label="loc_us-gaapPaymentsToAcquireInvestments" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapPaymentsToAcquireInvestments" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ProceedsFromRedemptionOfInvestments" xlink:label="loc_FSIProceedsFromRedemptionOfInvestments" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_FSIProceedsFromRedemptionOfInvestments" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfEquityMethodInvestments" xlink:label="loc_us-gaapProceedsFromSaleOfEquityMethodInvestments" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapProceedsFromSaleOfEquityMethodInvestments" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ProceedsFromNoncontrollingInterestOfMendota" xlink:label="loc_FSIProceedsFromNoncontrollingInterestOfMendota" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_FSIProceedsFromNoncontrollingInterestOfMendota" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_PaymentsToAcquireLongTermDeposits" xlink:label="loc_FSIPaymentsToAcquireLongTermDeposits" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_FSIPaymentsToAcquireLongTermDeposits" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfProductiveAssets" xlink:label="loc_us-gaapProceedsFromSaleOfProductiveAssets" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapProceedsFromSaleOfProductiveAssets" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" />
      <link:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="loc_us-gaapPaymentsToAcquireBusinessesNetOfCashAcquired" />
      <link:calculationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapPaymentsToAcquireBusinessesNetOfCashAcquired" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromRepaymentsOfLinesOfCredit" xlink:label="loc_us-gaapProceedsFromRepaymentsOfLinesOfCredit" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapProceedsFromRepaymentsOfLinesOfCredit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="loc_us-gaapRepaymentsOfLongTermDebt" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapRepaymentsOfLongTermDebt" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:label="loc_us-gaapProceedsFromIssuanceOfLongTermDebt" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapProceedsFromIssuanceOfLongTermDebt" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfFinancingCosts" xlink:label="loc_us-gaapPaymentsOfFinancingCosts" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapPaymentsOfFinancingCosts" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfDividends" xlink:label="loc_us-gaapPaymentsOfDividends" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapPaymentsOfDividends" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToMinorityShareholders" xlink:label="loc_us-gaapPaymentsToMinorityShareholders" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapPaymentsToMinorityShareholders" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="loc_us-gaapProceedsFromIssuanceOfCommonStock" />
      <link:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapProceedsFromIssuanceOfCommonStock" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:type="arc" weight="1" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="loc_us-gaapEffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaapEffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StatementsOfStockholdersEquity" xlink:title="00000006 - Statement - Consolidated Statements of Stockholders&apos; Equity" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/BasisOfPresentation" xlink:title="995512 - Disclosure - BASIS OF PRESENTATION" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPolicies" xlink:title="995513 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Leases" xlink:title="995514 - Disclosure - LEASES" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/AccountsReceivable" xlink:title="995515 - Disclosure - ACCOUNTS RECEIVABLE" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Inventories" xlink:title="995516 - Disclosure - INVENTORIES" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholds" xlink:title="995517 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Patents" xlink:title="995518 - Disclosure - PATENTS" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssets" xlink:title="995519 - Disclosure - GOODWILL AND INTANGIBLE ASSETS" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDeposits" xlink:title="995520 - Disclosure - LONG TERM DEPOSITS" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Investments" xlink:title="995521 - Disclosure - INVESTMENTS" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Short-termLineOfCredit" xlink:title="995522 - Disclosure - SHORT-TERM LINE OF CREDIT" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDebt" xlink:title="995523 - Disclosure - LONG TERM DEBT" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/IncomeTaxes" xlink:title="995524 - Disclosure - INCOME TAXES" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/IncomePerShare" xlink:title="995525 - Disclosure - INCOME PER SHARE" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StockOptions" xlink:title="995526 - Disclosure - STOCK OPTIONS" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/CapitalStock" xlink:title="995527 - Disclosure - CAPITAL STOCK" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Non-controllingInterests" xlink:title="995528 - Disclosure - NON-CONTROLLING INTERESTS" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependency" xlink:title="995529 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SubsequentEvents" xlink:title="995530 - Disclosure - SUBSEQUENT EVENTS" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies" xlink:title="995531 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables" xlink:title="995532 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LeasesTables" xlink:title="995533 - Disclosure - LEASES (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/AccountsReceivableTables" xlink:title="995534 - Disclosure - ACCOUNTS RECEIVABLE (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InventoriesTables" xlink:title="995535 - Disclosure - INVENTORIES (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsTables" xlink:title="995536 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PatentsTables" xlink:title="995537 - Disclosure - PATENTS (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsTables" xlink:title="995538 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDepositsTables" xlink:title="995539 - Disclosure - LONG TERM DEPOSITS (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InvestmentsTables" xlink:title="995540 - Disclosure - INVESTMENTS (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDebtTables" xlink:title="995541 - Disclosure - LONG TERM DEBT (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/IncomeTaxesTables" xlink:title="995542 - Disclosure - INCOME TAXES (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/IncomePerShareTables" xlink:title="995543 - Disclosure - INCOME PER SHARE (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StockOptionsTables" xlink:title="995544 - Disclosure - STOCK OPTIONS (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Non-controllingInterestsTables" xlink:title="995545 - Disclosure - NON-CONTROLLING INTERESTS (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables" xlink:title="995546 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative" xlink:title="995547 - Disclosure - BASIS OF PRESENTATION (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails" xlink:title="995548 - Disclosure - SCHEDULE OF METHOD OF DEPRECIATION (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative" xlink:title="995549 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" xlink:title="995550 - Disclosure - SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfUndiscountedRentPaymentsDetails" xlink:title="995551 - Disclosure - SCHEDULE OF UNDISCOUNTED RENT PAYMENTS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LeasesDetailsNarrative" xlink:title="995552 - Disclosure - LEASES (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails" xlink:title="995553 - Disclosure - SCHEDULE OF ACCOUNTS RECEIVABLE (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsAndNotesReceivableNet" xlink:label="loc_us-gaapAccountsAndNotesReceivableNet" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableGross" xlink:label="loc_us-gaapAccountsReceivableGross" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAccountsAndNotesReceivableNet" xlink:to="loc_us-gaapAccountsReceivableGross" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" xlink:label="loc_us-gaapAllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAccountsAndNotesReceivableNet" xlink:to="loc_us-gaapAllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" xlink:type="arc" weight="-1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfInventoryDetails" xlink:title="995554 - Disclosure - SCHEDULE OF INVENTORY (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoods" xlink:label="loc_us-gaapInventoryFinishedGoods" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapInventoryNet" xlink:to="loc_us-gaapInventoryFinishedGoods" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterialsAndSupplies" xlink:label="loc_us-gaapInventoryRawMaterialsAndSupplies" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapInventoryNet" xlink:to="loc_us-gaapInventoryRawMaterialsAndSupplies" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails" xlink:title="995555 - Disclosure - SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsDetailsNarrative" xlink:title="995556 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfPatentsDetails" xlink:title="995557 - Disclosure - SCHEDULE OF PATENTS (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" xlink:title="995558 - Disclosure - SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PatentsDetailsNarrative" xlink:title="995559 - Disclosure - PATENTS (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails" xlink:title="995560 - Disclosure - SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsDetailsNarrative" xlink:title="995561 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails" xlink:title="995562 - Disclosure - SCHEDULE OF LONG TERM DEPOSITS (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails" xlink:title="995563 - Disclosure - SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails" xlink:title="995564 - Disclosure - SCHEDULE OF EQUITY METHOD INVESTMENT (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" xlink:title="995565 - Disclosure - SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InvestmentsDetailsNarrative" xlink:title="995566 - Disclosure - INVESTMENTS (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative" xlink:title="995567 - Disclosure - SHORT-TERM LINE OF CREDIT (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails" xlink:title="995568 - Disclosure - SCHEDULE OF LOAN COVENANTS (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails" xlink:title="995569 - Disclosure - SCHEDULE OF OUTSTANDING BALANCE LOAN (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative" xlink:title="995570 - Disclosure - LONG TERM DEBT (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails" xlink:title="995571 - Disclosure - SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT) (Details)">
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_CurrentTax" xlink:label="loc_FSICurrentTax" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentFederalTaxExpenseBenefit" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_FSICurrentTax" xlink:to="loc_us-gaapCurrentFederalTaxExpenseBenefit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentStateAndLocalTaxExpenseBenefit" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_FSICurrentTax" xlink:to="loc_us-gaapCurrentStateAndLocalTaxExpenseBenefit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentForeignTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentForeignTaxExpenseBenefit" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_FSICurrentTax" xlink:to="loc_us-gaapCurrentForeignTaxExpenseBenefit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentIncomeTaxExpenseBenefit" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCurrentIncomeTaxExpenseBenefit" xlink:to="loc_FSICurrentTax" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_IncomeTaxRecovery" xlink:label="loc_FSIIncomeTaxRecovery" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCurrentIncomeTaxExpenseBenefit" xlink:to="loc_FSIIncomeTaxRecovery" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredIncomeTaxExpenseBenefit" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredFederalIncomeTaxExpenseBenefit" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredIncomeTaxExpenseBenefit" xlink:to="loc_us-gaapDeferredFederalIncomeTaxExpenseBenefit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredStateAndLocalIncomeTaxExpenseBenefit" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredIncomeTaxExpenseBenefit" xlink:to="loc_us-gaapDeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredForeignIncomeTaxExpenseBenefit" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredIncomeTaxExpenseBenefit" xlink:to="loc_us-gaapDeferredForeignIncomeTaxExpenseBenefit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeTaxExpenseBenefit" xlink:to="loc_us-gaapCurrentIncomeTaxExpenseBenefit" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeTaxExpenseBenefit" xlink:to="loc_us-gaapDeferredIncomeTaxExpenseBenefit" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails" xlink:title="995572 - Disclosure - SCHEDULE OF RECONCILIATION OF INCOME TAXES (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails" xlink:title="995573 - Disclosure - SCHEDULE OF DEFERRED TAX ASSETS (LIABILITIES) (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails" xlink:title="995574 - Disclosure - SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative" xlink:title="995575 - Disclosure - INCOME TAXES (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfBasicAndDilutedLossPerShareDetails" xlink:title="995576 - Disclosure - SCHEDULE OF BASIC AND DILUTED LOSS PER SHARE (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfAnti-dilutiveOptionsDetails" xlink:title="995577 - Disclosure - SCHEDULE OF ANTI-DILUTIVE OPTIONS (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/IncomePerShareDetailsNarrative" xlink:title="995578 - Disclosure - INCOME PER SHARE (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails" xlink:title="995579 - Disclosure - SCHEDULE OF STOCK OPTION ACTIVITIES (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails" xlink:title="995580 - Disclosure - SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StockOptionsDetailsNarrative" xlink:title="995581 - Disclosure - STOCK OPTIONS (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/CapitalStockDetailsNarrative" xlink:title="995582 - Disclosure - CAPITAL STOCK (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails" xlink:title="995583 - Disclosure - SCHEDULE OF DISTRIBUTIONS (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" xlink:title="995584 - Disclosure - SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative" xlink:title="995585 - Disclosure - NON-CONTROLLING INTERESTS (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails" xlink:title="995586 - Disclosure - SCHEDULE OF REPORTABLE SEGMENTS (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" xlink:title="995587 - Disclosure - SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails" xlink:title="995588 - Disclosure - SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative" xlink:title="995589 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative" xlink:title="995590 - Disclosure - SUBSEQUENT EVENTS (Details Narrative)" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>11
<FILENAME>fsi-20231231_def.xml
<DESCRIPTION>INLINE XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.22a -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Cover" xlink:href="fsi-20231231.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/BalanceSheets" xlink:href="fsi-20231231.xsd#BalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/BalanceSheetsParenthetical" xlink:href="fsi-20231231.xsd#BalanceSheetsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome" xlink:href="fsi-20231231.xsd#StatementsOfIncomeAndComprehensiveIncome" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StatementsOfCashFlows" xlink:href="fsi-20231231.xsd#StatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StatementsOfStockholdersEquity" xlink:href="fsi-20231231.xsd#StatementsOfStockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/BasisOfPresentation" xlink:href="fsi-20231231.xsd#BasisOfPresentation" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPolicies" xlink:href="fsi-20231231.xsd#SignificantAccountingPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Leases" xlink:href="fsi-20231231.xsd#Leases" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/AccountsReceivable" xlink:href="fsi-20231231.xsd#AccountsReceivable" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Inventories" xlink:href="fsi-20231231.xsd#Inventories" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholds" xlink:href="fsi-20231231.xsd#PropertyEquipmentAndLeaseholds" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Patents" xlink:href="fsi-20231231.xsd#Patents" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssets" xlink:href="fsi-20231231.xsd#GoodwillAndIntangibleAssets" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDeposits" xlink:href="fsi-20231231.xsd#LongTermDeposits" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Investments" xlink:href="fsi-20231231.xsd#Investments" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Short-termLineOfCredit" xlink:href="fsi-20231231.xsd#Short-termLineOfCredit" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDebt" xlink:href="fsi-20231231.xsd#LongTermDebt" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/IncomeTaxes" xlink:href="fsi-20231231.xsd#IncomeTaxes" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/IncomePerShare" xlink:href="fsi-20231231.xsd#IncomePerShare" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StockOptions" xlink:href="fsi-20231231.xsd#StockOptions" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/CapitalStock" xlink:href="fsi-20231231.xsd#CapitalStock" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Non-controllingInterests" xlink:href="fsi-20231231.xsd#Non-controllingInterests" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependency" xlink:href="fsi-20231231.xsd#SegmentedSignificantCustomerInformationAndEconomicDependency" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SubsequentEvents" xlink:href="fsi-20231231.xsd#SubsequentEvents" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies" xlink:href="fsi-20231231.xsd#SignificantAccountingPoliciesPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables" xlink:href="fsi-20231231.xsd#SignificantAccountingPoliciesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LeasesTables" xlink:href="fsi-20231231.xsd#LeasesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/AccountsReceivableTables" xlink:href="fsi-20231231.xsd#AccountsReceivableTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InventoriesTables" xlink:href="fsi-20231231.xsd#InventoriesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsTables" xlink:href="fsi-20231231.xsd#PropertyEquipmentAndLeaseholdsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PatentsTables" xlink:href="fsi-20231231.xsd#PatentsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsTables" xlink:href="fsi-20231231.xsd#GoodwillAndIntangibleAssetsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDepositsTables" xlink:href="fsi-20231231.xsd#LongTermDepositsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InvestmentsTables" xlink:href="fsi-20231231.xsd#InvestmentsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDebtTables" xlink:href="fsi-20231231.xsd#LongTermDebtTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/IncomeTaxesTables" xlink:href="fsi-20231231.xsd#IncomeTaxesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/IncomePerShareTables" xlink:href="fsi-20231231.xsd#IncomePerShareTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StockOptionsTables" xlink:href="fsi-20231231.xsd#StockOptionsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Non-controllingInterestsTables" xlink:href="fsi-20231231.xsd#Non-controllingInterestsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables" xlink:href="fsi-20231231.xsd#SegmentedSignificantCustomerInformationAndEconomicDependencyTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative" xlink:href="fsi-20231231.xsd#BasisOfPresentationDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails" xlink:href="fsi-20231231.xsd#ScheduleOfMethodOfDepreciationDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative" xlink:href="fsi-20231231.xsd#SignificantAccountingPoliciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" xlink:href="fsi-20231231.xsd#SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfUndiscountedRentPaymentsDetails" xlink:href="fsi-20231231.xsd#ScheduleOfUndiscountedRentPaymentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LeasesDetailsNarrative" xlink:href="fsi-20231231.xsd#LeasesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails" xlink:href="fsi-20231231.xsd#ScheduleOfAccountsReceivableDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfInventoryDetails" xlink:href="fsi-20231231.xsd#ScheduleOfInventoryDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails" xlink:href="fsi-20231231.xsd#ScheduleOfPropertyEquipmentAndLeaseholdsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsDetailsNarrative" xlink:href="fsi-20231231.xsd#PropertyEquipmentAndLeaseholdsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfPatentsDetails" xlink:href="fsi-20231231.xsd#ScheduleOfPatentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" xlink:href="fsi-20231231.xsd#ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PatentsDetailsNarrative" xlink:href="fsi-20231231.xsd#PatentsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails" xlink:href="fsi-20231231.xsd#ScheduleOfEstimatedFutureAmortizationExpenseDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsDetailsNarrative" xlink:href="fsi-20231231.xsd#GoodwillAndIntangibleAssetsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails" xlink:href="fsi-20231231.xsd#ScheduleOfLongTermDepositsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails" xlink:href="fsi-20231231.xsd#ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails" xlink:href="fsi-20231231.xsd#ScheduleOfEquityMethodInvestmentDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" xlink:href="fsi-20231231.xsd#SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InvestmentsDetailsNarrative" xlink:href="fsi-20231231.xsd#InvestmentsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative" xlink:href="fsi-20231231.xsd#Short-termLineOfCreditDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails" xlink:href="fsi-20231231.xsd#ScheduleOfLoanCovenantsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails" xlink:href="fsi-20231231.xsd#ScheduleOfOutstandingBalanceLoanDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative" xlink:href="fsi-20231231.xsd#LongTermDebtDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails" xlink:href="fsi-20231231.xsd#ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails" xlink:href="fsi-20231231.xsd#ScheduleOfReconciliationOfIncomeTaxesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails" xlink:href="fsi-20231231.xsd#ScheduleOfDeferredTaxAssetsLiabilitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails" xlink:href="fsi-20231231.xsd#ScheduleOfNonOperatingLossCarryforwardsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative" xlink:href="fsi-20231231.xsd#IncomeTaxesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfBasicAndDilutedLossPerShareDetails" xlink:href="fsi-20231231.xsd#ScheduleOfBasicAndDilutedLossPerShareDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfAnti-dilutiveOptionsDetails" xlink:href="fsi-20231231.xsd#ScheduleOfAnti-dilutiveOptionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/IncomePerShareDetailsNarrative" xlink:href="fsi-20231231.xsd#IncomePerShareDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails" xlink:href="fsi-20231231.xsd#ScheduleOfStockOptionActivitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails" xlink:href="fsi-20231231.xsd#ScheduleOfStockOptionFairValueAssumptionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StockOptionsDetailsNarrative" xlink:href="fsi-20231231.xsd#StockOptionsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/CapitalStockDetailsNarrative" xlink:href="fsi-20231231.xsd#CapitalStockDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails" xlink:href="fsi-20231231.xsd#ScheduleOfDistributionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" xlink:href="fsi-20231231.xsd#ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative" xlink:href="fsi-20231231.xsd#Non-controllingInterestsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails" xlink:href="fsi-20231231.xsd#ScheduleOfReportableSegmentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" xlink:href="fsi-20231231.xsd#ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails" xlink:href="fsi-20231231.xsd#ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative" xlink:href="fsi-20231231.xsd#SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative" xlink:href="fsi-20231231.xsd#SubsequentEventsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/PvpDisclosureWithAdditionalMeasures" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#PvpDisclosureWithAdditionalMeasures" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/PvpTable" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#PvpTable" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/PvpAdjustmentsToCompensation" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#PvpAdjustmentsToCompensation" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/TabularListsByExecutiveCategory" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#TabularListsByExecutiveCategory" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/TabularListMeasures" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#TabularListMeasures" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/PvpMeasures" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#PvpMeasures" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/PvpExecutiveCategoriesOnly" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#PvpExecutiveCategoriesOnly" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/PvpAdjustmentsOnly" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#PvpAdjustmentsOnly" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/IndividualsOnly" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#IndividualsOnly" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/AwardTypeOnly" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#AwardTypeOnly" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/TradingArrangementsOnly" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#TradingArrangmentsOnly" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/ForgoneRecoveries" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ForgoneRecoveries" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/OutstandingRecoveries" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#OutstandingRecoveries" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/AwardsCloseToMnpiDisc" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#AwardsCloseToMnpiDisc" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangementsByInd" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#InsiderTradingArrangemenstByInd" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/Defaults" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#Defaults" xlink:type="simple" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" arcroleURI="http://xbrl.org/int/dim/arcrole/all" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#notAll" arcroleURI="http://xbrl.org/int/dim/arcrole/notAll" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Cover" xlink:title="00000001 - Document - Cover" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/BalanceSheets" xlink:title="00000002 - Statement - Consolidated Balance Sheets" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/BalanceSheetsParenthetical" xlink:title="00000003 - Statement - Consolidated Balance Sheets (Parenthetical)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome" xlink:title="00000004 - Statement - Consolidated Statements of Income and Comprehensive Income" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StatementsOfCashFlows" xlink:title="00000005 - Statement - Consolidated Statements of Cash Flows" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StatementsOfStockholdersEquity" xlink:title="00000006 - Statement - Consolidated Statements of Stockholders&apos; Equity">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapCommonStockMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_CapitalInExcessOfParValueMember" xlink:label="loc_FSICapitalInExcessOfParValueMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_FSICapitalInExcessOfParValueMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaapRetainedEarningsMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapRetainedEarningsMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ParentMember" xlink:label="loc_us-gaapParentMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapParentMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="loc_us-gaapNoncontrollingInterestMember_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapNoncontrollingInterestMember_50" xlink:type="arc" order="51" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_80" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesOutstanding" xlink:label="loc_us-gaapSharesOutstanding_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharesOutstanding_80" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaapOtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_80" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapProfitLoss_80" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueNewIssues_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueNewIssues_80" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues_80" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:label="loc_us-gaapMinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapMinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_80" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="loc_us-gaapAdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_80" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Dividends" xlink:label="loc_us-gaapDividends_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapDividends_80" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestIncreaseFromBusinessCombination" xlink:label="loc_us-gaapNoncontrollingInterestIncreaseFromBusinessCombination_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNoncontrollingInterestIncreaseFromBusinessCombination_80" xlink:type="arc" order="10" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/BasisOfPresentation" xlink:title="995512 - Disclosure - BASIS OF PRESENTATION" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPolicies" xlink:title="995513 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Leases" xlink:title="995514 - Disclosure - LEASES" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/AccountsReceivable" xlink:title="995515 - Disclosure - ACCOUNTS RECEIVABLE" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Inventories" xlink:title="995516 - Disclosure - INVENTORIES" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholds" xlink:title="995517 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Patents" xlink:title="995518 - Disclosure - PATENTS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssets" xlink:title="995519 - Disclosure - GOODWILL AND INTANGIBLE ASSETS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDeposits" xlink:title="995520 - Disclosure - LONG TERM DEPOSITS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Investments" xlink:title="995521 - Disclosure - INVESTMENTS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Short-termLineOfCredit" xlink:title="995522 - Disclosure - SHORT-TERM LINE OF CREDIT" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDebt" xlink:title="995523 - Disclosure - LONG TERM DEBT" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/IncomeTaxes" xlink:title="995524 - Disclosure - INCOME TAXES" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/IncomePerShare" xlink:title="995525 - Disclosure - INCOME PER SHARE" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StockOptions" xlink:title="995526 - Disclosure - STOCK OPTIONS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/CapitalStock" xlink:title="995527 - Disclosure - CAPITAL STOCK" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Non-controllingInterests" xlink:title="995528 - Disclosure - NON-CONTROLLING INTERESTS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependency" xlink:title="995529 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SubsequentEvents" xlink:title="995530 - Disclosure - SUBSEQUENT EVENTS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies" xlink:title="995531 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables" xlink:title="995532 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LeasesTables" xlink:title="995533 - Disclosure - LEASES (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/AccountsReceivableTables" xlink:title="995534 - Disclosure - ACCOUNTS RECEIVABLE (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InventoriesTables" xlink:title="995535 - Disclosure - INVENTORIES (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsTables" xlink:title="995536 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PatentsTables" xlink:title="995537 - Disclosure - PATENTS (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsTables" xlink:title="995538 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDepositsTables" xlink:title="995539 - Disclosure - LONG TERM DEPOSITS (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InvestmentsTables" xlink:title="995540 - Disclosure - INVESTMENTS (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_deiLegalEntityAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_EnpPeruInvestmentsLlcMember" xlink:label="loc_FSIEnpPeruInvestmentsLlcMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIEnpPeruInvestmentsLlcMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_FloridaBasedLLCMember" xlink:label="loc_FSIFloridaBasedLLCMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIFloridaBasedLLCMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:label="loc_us-gaapScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_40" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentsTextBlock" xlink:label="loc_us-gaapEquityMethodInvestmentsTextBlock_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEquityMethodInvestmentsTextBlock_40" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnInvestmentsTextBlock" xlink:label="loc_us-gaapGainLossOnInvestmentsTextBlock_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapGainLossOnInvestmentsTextBlock_40" xlink:type="arc" order="2" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDebtTables" xlink:title="995541 - Disclosure - LONG TERM DEBT (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/IncomeTaxesTables" xlink:title="995542 - Disclosure - INCOME TAXES (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/IncomePerShareTables" xlink:title="995543 - Disclosure - INCOME PER SHARE (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StockOptionsTables" xlink:title="995544 - Disclosure - STOCK OPTIONS (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Non-controllingInterestsTables" xlink:title="995545 - Disclosure - NON-CONTROLLING INTERESTS (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables" xlink:title="995546 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative" xlink:title="995547 - Disclosure - BASIS OF PRESENTATION (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtOwnershipAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_MendotaLLCMember" xlink:label="loc_FSIMendotaLLCMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIMendotaLLCMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ENPInvestmentsLLCAndENPMendotaMember" xlink:label="loc_FSIENPInvestmentsLLCAndENPMendotaMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPInvestmentsLLCAndENPMendotaMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ENPPeruMember" xlink:label="loc_FSIENPPeruMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPPeruMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ENPInvestmentsAndENPMendotaMember" xlink:label="loc_FSIENPInvestmentsAndENPMendotaMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPInvestmentsAndENPMendotaMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_UnrelatedPartyMember" xlink:label="loc_FSIUnrelatedPartyMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIUnrelatedPartyMember_20" xlink:type="arc" order="22" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" xlink:label="loc_us-gaapSubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_80" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_IncreaseDecreaseInSharePercentage" xlink:label="loc_FSIIncreaseDecreaseInSharePercentage_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_FSIIncreaseDecreaseInSharePercentage_80" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_RemainingInvestmentOwnedPercentage" xlink:label="loc_FSIRemainingInvestmentOwnedPercentage_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_FSIRemainingInvestmentOwnedPercentage_80" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:label="loc_us-gaapMinorityInterestOwnershipPercentageByNoncontrollingOwners_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapMinorityInterestOwnershipPercentageByNoncontrollingOwners_80" xlink:type="arc" order="3" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails" xlink:title="995548 - Disclosure - SCHEDULE OF METHOD OF DEPRECIATION (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaapPropertyPlantAndEquipmentLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComputerEquipmentMember" xlink:label="loc_us-gaapComputerEquipmentMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapComputerEquipmentMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="loc_us-gaapMachineryAndEquipmentMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapMachineryAndEquipmentMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OfficeEquipmentMember" xlink:label="loc_us-gaapOfficeEquipmentMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapOfficeEquipmentMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_BoatMember" xlink:label="loc_FSIBoatMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_FSIBoatMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="loc_us-gaapBuildingAndBuildingImprovementsMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapBuildingAndBuildingImprovementsMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_TrailerMember" xlink:label="loc_FSITrailerMember_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_FSITrailerMember_50" xlink:type="arc" order="51" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AutomobilesMember" xlink:label="loc_us-gaapAutomobilesMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapAutomobilesMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PatentsMember" xlink:label="loc_us-gaapPatentsMember_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapPatentsMember_70" xlink:type="arc" order="71" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TechnologyEquipmentMember" xlink:label="loc_us-gaapTechnologyEquipmentMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapTechnologyEquipmentMember_80" xlink:type="arc" order="81" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="loc_us-gaapLeaseholdImprovementsMember_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapLeaseholdImprovementsMember_90" xlink:type="arc" order="91" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="loc_us-gaapCustomerRelationshipsMember_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapCustomerRelationshipsMember_100" xlink:type="arc" order="101" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_SoftwareMember" xlink:label="loc_FSISoftwareMember_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_FSISoftwareMember_110" xlink:type="arc" order="111" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_DepreciationMethodUsedAndAnnualRate" xlink:label="loc_FSIDepreciationMethodUsedAndAnnualRate_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_FSIDepreciationMethodUsedAndAnnualRate_130" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative" xlink:title="995549 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductInformationLineItems" xlink:label="loc_us-gaapProductInformationLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfProductInformationTable" xlink:label="loc_us-gaapScheduleOfProductInformationTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapScheduleOfProductInformationTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtTypeAxis" xlink:label="loc_us-gaapShortTermDebtTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapShortTermDebtTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="loc_us-gaapShortTermDebtTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapShortTermDebtTypeAxis" xlink:to="loc_us-gaapShortTermDebtTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="loc_us-gaapShortTermDebtTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapShortTermDebtTypeAxis" xlink:to="loc_us-gaapShortTermDebtTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_FirstTermMember" xlink:label="loc_FSIFirstTermMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_FSIFirstTermMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_SecondTermMember" xlink:label="loc_FSISecondTermMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_FSISecondTermMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ThirdTermMember" xlink:label="loc_FSIThirdTermMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_FSIThirdTermMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_FourthTermMember" xlink:label="loc_FSIFourthTermMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_FSIFourthTermMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_srtProductOrServiceAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShippingAndHandlingMember" xlink:label="loc_us-gaapShippingAndHandlingMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_us-gaapShippingAndHandlingMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="loc_us-gaapConcentrationRiskByTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapConcentrationRiskByTypeAxis" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaapConcentrationRiskTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapConcentrationRiskByTypeAxis" xlink:to="loc_us-gaapConcentrationRiskTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaapConcentrationRiskTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapConcentrationRiskByTypeAxis" xlink:to="loc_us-gaapConcentrationRiskTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ThreePrimaryCustomersMember" xlink:label="loc_FSIThreePrimaryCustomersMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskTypeDomain" xlink:to="loc_FSIThreePrimaryCustomersMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaapConcentrationRiskByBenchmarkAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerMember" xlink:label="loc_us-gaapRevenueFromContractWithCustomerMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapRevenueFromContractWithCustomerMember_60" xlink:type="arc" order="62" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember" xlink:label="loc_us-gaapAccountsReceivableMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapAccountsReceivableMember_80" xlink:type="arc" order="82" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="loc_srtEquityMethodInvesteeNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="loc_srtEquityMethodInvesteeNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="loc_srtEquityMethodInvesteeNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="loc_srtEquityMethodInvesteeNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_InvestmentMember" xlink:label="loc_FSIInvestmentMember_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_FSIInvestmentMember_100" xlink:type="arc" order="101" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Deposits" xlink:label="loc_us-gaapDeposits_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapDeposits_120" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="loc_us-gaapDebtInstrumentInterestRateStatedPercentage_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapDebtInstrumentInterestRateStatedPercentage_120" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_MinimumInterestPenalty" xlink:label="loc_FSIMinimumInterestPenalty_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_FSIMinimumInterestPenalty_120" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_120" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaapCostOfGoodsAndServicesSold_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapCostOfGoodsAndServicesSold_120" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ConcentrationRiskThresholdPercentage" xlink:label="loc_FSIConcentrationRiskThresholdPercentage_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_FSIConcentrationRiskThresholdPercentage_120" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities" xlink:label="loc_us-gaapEquityMethodInvestmentDescriptionOfPrincipalActivities_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapEquityMethodInvestmentDescriptionOfPrincipalActivities_120" xlink:type="arc" order="6" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" xlink:title="995550 - Disclosure - SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfUndiscountedRentPaymentsDetails" xlink:title="995551 - Disclosure - SCHEDULE OF UNDISCOUNTED RENT PAYMENTS (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LeasesDetailsNarrative" xlink:title="995552 - Disclosure - LEASES (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails" xlink:title="995553 - Disclosure - SCHEDULE OF ACCOUNTS RECEIVABLE (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfInventoryDetails" xlink:title="995554 - Disclosure - SCHEDULE OF INVENTORY (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails" xlink:title="995555 - Disclosure - SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaapPropertyPlantAndEquipmentLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="loc_us-gaapBuildingAndBuildingImprovementsMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapBuildingAndBuildingImprovementsMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AutomobilesMember" xlink:label="loc_us-gaapAutomobilesMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapAutomobilesMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComputerEquipmentMember" xlink:label="loc_us-gaapComputerEquipmentMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapComputerEquipmentMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OfficeEquipmentMember" xlink:label="loc_us-gaapOfficeEquipmentMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapOfficeEquipmentMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="loc_us-gaapMachineryAndEquipmentMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapMachineryAndEquipmentMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_TrailerMember" xlink:label="loc_FSITrailerMember_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_FSITrailerMember_50" xlink:type="arc" order="51" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LandMember" xlink:label="loc_us-gaapLandMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapLandMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="loc_us-gaapLeaseholdImprovementsMember_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapLeaseholdImprovementsMember_70" xlink:type="arc" order="71" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="loc_us-gaapDevelopedTechnologyRightsMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapDevelopedTechnologyRightsMember_80" xlink:type="arc" order="81" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_BoatMember" xlink:label="loc_FSIBoatMember_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_FSIBoatMember_160" xlink:type="arc" order="161" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="loc_us-gaapPropertyPlantAndEquipmentGross_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentGross_220" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_220" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet_220" xlink:type="arc" order="2" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsDetailsNarrative" xlink:title="995556 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfPatentsDetails" xlink:title="995557 - Disclosure - SCHEDULE OF PATENTS (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" xlink:title="995558 - Disclosure - SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_deiLegalEntityAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_EnPInvestmentsCorporationLLCMember" xlink:label="loc_FSIEnPInvestmentsCorporationLLCMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIEnPInvestmentsCorporationLLCMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaapGoodwill_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapGoodwill_80" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:label="loc_us-gaapIndefiniteLivedIntangibleAssetsExcludingGoodwill_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIndefiniteLivedIntangibleAssetsExcludingGoodwill_80" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaapAmortizationOfIntangibleAssets_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAmortizationOfIntangibleAssets_80" xlink:type="arc" order="3" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PatentsDetailsNarrative" xlink:title="995559 - Disclosure - PATENTS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PatentsMember" xlink:label="loc_us-gaapPatentsMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="loc_us-gaapPatentsMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaapAmortizationOfIntangibleAssets_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapAmortizationOfIntangibleAssets_30" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails" xlink:title="995560 - Disclosure - SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems" xlink:label="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentEffectsOnEarningsPerShareTable" xlink:label="loc_us-gaapImpairmentEffectsOnEarningsPerShareTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="loc_us-gaapImpairmentEffectsOnEarningsPerShareTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByAssetClassAxis" xlink:label="loc_us-gaapFairValueByAssetClassAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareTable" xlink:to="loc_us-gaapFairValueByAssetClassAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:label="loc_us-gaapFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapFairValueByAssetClassAxis" xlink:to="loc_us-gaapFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:label="loc_us-gaapFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapFairValueByAssetClassAxis" xlink:to="loc_us-gaapFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMember" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_20" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_20" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearThree_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearThree_20" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearFour_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearFour_20" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearFive_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearFive_20" xlink:type="arc" order="4" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsDetailsNarrative" xlink:title="995561 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails" xlink:title="995562 - Disclosure - SCHEDULE OF LONG TERM DEPOSITS (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails" xlink:title="995563 - Disclosure - SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails" xlink:title="995564 - Disclosure - SCHEDULE OF EQUITY METHOD INVESTMENT (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_deiLegalEntityAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_EnpPeruInvestmentsLlcMember" xlink:label="loc_FSIEnpPeruInvestmentsLlcMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIEnpPeruInvestmentsLlcMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_FloridaBasedLLCMember" xlink:label="loc_FSIFloridaBasedLLCMember_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIFloridaBasedLLCMember_50" xlink:type="arc" order="51" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestments" xlink:label="loc_us-gaapEquityMethodInvestments_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEquityMethodInvestments_110" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_EquityMethodInvestmentReturnOfEquity" xlink:label="loc_FSIEquityMethodInvestmentReturnOfEquity_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_FSIEquityMethodInvestmentReturnOfEquity_110" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:label="loc_us-gaapEquityMethodInvestmentRealizedGainLossOnDisposal_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEquityMethodInvestmentRealizedGainLossOnDisposal_110" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_InvestmentEliminatedUponConsolidation" xlink:label="loc_FSIInvestmentEliminatedUponConsolidation_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_FSIInvestmentEliminatedUponConsolidation_110" xlink:type="arc" order="3" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" xlink:title="995565 - Disclosure - SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InvestmentsDetailsNarrative" xlink:title="995566 - Disclosure - INVESTMENTS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:label="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:label="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:to="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="loc_srtEquityMethodInvesteeNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="loc_srtEquityMethodInvesteeNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="loc_srtEquityMethodInvesteeNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="loc_srtEquityMethodInvesteeNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_EnpPeruInvestmentsLlcMember" xlink:label="loc_FSIEnpPeruInvestmentsLlcMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_FSIEnpPeruInvestmentsLlcMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_NanoChemMember" xlink:label="loc_FSINanoChemMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_FSINanoChemMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ENPInvestmentsLLCMember" xlink:label="loc_FSIENPInvestmentsLLCMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_FSIENPInvestmentsLLCMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_FloridaBasedLLCMember" xlink:label="loc_FSIFloridaBasedLLCMember_180" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_FSIFloridaBasedLLCMember_180" xlink:type="arc" order="181" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:to="loc_srtOwnershipAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ENPPeruMember" xlink:label="loc_FSIENPPeruMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPPeruMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_EnpnvestmentsLlcMember" xlink:label="loc_FSIEnpnvestmentsLlcMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIEnpnvestmentsLlcMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:to="loc_deiLegalEntityAxis" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_AppliedHoldingCorpMember" xlink:label="loc_FSIAppliedHoldingCorpMember_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIAppliedHoldingCorpMember_90" xlink:type="arc" order="91" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_TrioOpportunityCorpMember" xlink:label="loc_FSITrioOpportunityCorpMember_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSITrioOpportunityCorpMember_140" xlink:type="arc" order="141" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_FloridaBasedLLCMember" xlink:label="loc_FSIFloridaBasedLLCMember_190" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIFloridaBasedLLCMember_190" xlink:type="arc" order="191" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_LygosIncMember" xlink:label="loc_FSILygosIncMember_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSILygosIncMember_230" xlink:type="arc" order="231" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaapStatementClassOfStockAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:to="loc_us-gaapStatementClassOfStockAxis" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonClassBMember" xlink:label="loc_us-gaapCommonClassBMember_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_us-gaapCommonClassBMember_160" xlink:type="arc" order="161" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="loc_us-gaapEquityMethodInvestmentOwnershipPercentage_270" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapEquityMethodInvestmentOwnershipPercentage_270" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_AdditionalEquityMethodInvestmentOwnershipPercentage" xlink:label="loc_FSIAdditionalEquityMethodInvestmentOwnershipPercentage_270" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_FSIAdditionalEquityMethodInvestmentOwnershipPercentage_270" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="loc_us-gaapBusinessCombinationConsiderationTransferred1_270" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapBusinessCombinationConsiderationTransferred1_270" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Cash" xlink:label="loc_us-gaapCash_270" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapCash_270" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:label="loc_us-gaapMinorityInterestOwnershipPercentageByNoncontrollingOwners_270" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapMinorityInterestOwnershipPercentageByNoncontrollingOwners_270" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Investments" xlink:label="loc_us-gaapInvestments_270" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapInvestments_270" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_DebtInstrumentMaturityMonthYear" xlink:label="loc_FSIDebtInstrumentMaturityMonthYear_270" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_FSIDebtInstrumentMaturityMonthYear_270" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues_270" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues_270" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharePrice" xlink:label="loc_us-gaapSharePrice_270" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapSharePrice_270" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues" xlink:label="loc_us-gaapRevenues_270" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapRevenues_270" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNet" xlink:label="loc_us-gaapAccountsReceivableNet_270" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapAccountsReceivableNet_270" xlink:type="arc" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireInvestments" xlink:label="loc_us-gaapPaymentsToAcquireInvestments_270" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapPaymentsToAcquireInvestments_270" xlink:type="arc" order="11" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative" xlink:title="995567 - Disclosure - SHORT-TERM LINE OF CREDIT (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLineItems" xlink:label="loc_us-gaapLineOfCreditFacilityLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="loc_us-gaapLineOfCreditFacilityTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="loc_us-gaapLineOfCreditFacilityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapLineOfCreditFacilityAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="loc_us-gaapLineOfCreditFacilityLenderDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapLineOfCreditFacilityAxis" xlink:to="loc_us-gaapLineOfCreditFacilityLenderDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="loc_us-gaapLineOfCreditFacilityLenderDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapLineOfCreditFacilityAxis" xlink:to="loc_us-gaapLineOfCreditFacilityLenderDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_StockYardAndBankMember" xlink:label="loc_FSIStockYardAndBankMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLenderDomain" xlink:to="loc_FSIStockYardAndBankMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_StockBankMember" xlink:label="loc_FSIStockBankMember_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLenderDomain" xlink:to="loc_FSIStockBankMember_70" xlink:type="arc" order="71" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_MidlandStatesBankMember" xlink:label="loc_FSIMidlandStatesBankMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIMidlandStatesBankMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="loc_us-gaapTypeOfArrangementAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapTypeOfArrangementAxis" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapTypeOfArrangementAxis" xlink:to="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="loc_us-gaapArrangementsAndNonarrangementTransactionsMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapTypeOfArrangementAxis" xlink:to="loc_us-gaapArrangementsAndNonarrangementTransactionsMember_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_NewAgreementMember" xlink:label="loc_FSINewAgreementMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:to="loc_FSINewAgreementMember_0" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_deiLegalEntityAxis" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_NanoChemSolutionIncMember" xlink:label="loc_FSINanoChemSolutionIncMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSINanoChemSolutionIncMember_40" xlink:type="arc" order="42" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="loc_us-gaapNoncontrollingInterestMember_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapNoncontrollingInterestMember_50" xlink:type="arc" order="51" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis" xlink:label="loc_us-gaapCreditFacilityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapCreditFacilityAxis" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="loc_us-gaapCreditFacilityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapCreditFacilityAxis" xlink:to="loc_us-gaapCreditFacilityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="loc_us-gaapCreditFacilityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapCreditFacilityAxis" xlink:to="loc_us-gaapCreditFacilityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="loc_us-gaapRevolvingCreditFacilityMember_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapCreditFacilityDomain" xlink:to="loc_us-gaapRevolvingCreditFacilityMember_110" xlink:type="arc" order="114" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:label="loc_us-gaapLineOfCreditFacilityCurrentBorrowingCapacity_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityCurrentBorrowingCapacity_140" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="loc_us-gaapLineOfCreditFacilityMaximumBorrowingCapacity_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityMaximumBorrowingCapacity_140" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_PercentageOfForeignAccountsReceivableOfInventory" xlink:label="loc_FSIPercentageOfForeignAccountsReceivableOfInventory_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_FSIPercentageOfForeignAccountsReceivableOfInventory_140" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="loc_us-gaapDebtInstrumentFaceAmount_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapDebtInstrumentFaceAmount_140" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="loc_us-gaapDebtInstrumentInterestRateStatedPercentage_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapDebtInstrumentInterestRateStatedPercentage_140" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_LoanGuaranteedRate" xlink:label="loc_FSILoanGuaranteedRate_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_FSILoanGuaranteedRate_140" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="loc_us-gaapLinesOfCreditCurrent_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLinesOfCreditCurrent_140" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermBorrowings" xlink:label="loc_us-gaapShortTermBorrowings_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapShortTermBorrowings_140" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_EligiblePercentageOfDomesticAccountsReceivable" xlink:label="loc_FSIEligiblePercentageOfDomesticAccountsReceivable_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_FSIEligiblePercentageOfDomesticAccountsReceivable_140" xlink:type="arc" order="8" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails" xlink:title="995568 - Disclosure - SCHEDULE OF LOAN COVENANTS (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails" xlink:title="995569 - Disclosure - SCHEDULE OF OUTSTANDING BALANCE LOAN (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:label="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:label="loc_us-gaapScheduleOfDefinedBenefitPlansDisclosuresTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_MidlandStatesBankMember" xlink:label="loc_FSIMidlandStatesBankMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIMidlandStatesBankMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_MidlandStatesBankOneMember" xlink:label="loc_FSIMidlandStatesBankOneMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIMidlandStatesBankOneMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_StockYardsBankTrustMember" xlink:label="loc_FSIStockYardsBankTrustMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_StockYardsBankTrustOneMember" xlink:label="loc_FSIStockYardsBankTrustOneMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustOneMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_StockYardsBankTrustTwoMember" xlink:label="loc_FSIStockYardsBankTrustTwoMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustTwoMember_80" xlink:type="arc" order="81" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_StockYardsBankTrustThreeMember" xlink:label="loc_FSIStockYardsBankTrustThreeMember_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustThreeMember_100" xlink:type="arc" order="101" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_StockYardsBankTrustFourMember" xlink:label="loc_FSIStockYardsBankTrustFourMember_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustFourMember_120" xlink:type="arc" order="121" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_StockYardsBankTrustFiveMember" xlink:label="loc_FSIStockYardsBankTrustFiveMember_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustFiveMember_140" xlink:type="arc" order="141" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt" xlink:label="loc_us-gaapLongTermDebt_190" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapLongTermDebt_190" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtCurrent" xlink:label="loc_us-gaapLongTermDebtCurrent_190" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapLongTermDebtCurrent_190" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="loc_us-gaapLongTermDebtNoncurrent_190" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapLongTermDebtNoncurrent_190" xlink:type="arc" order="2" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative" xlink:title="995570 - Disclosure - LONG TERM DEBT (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtLineItems" xlink:label="loc_us-gaapShortTermDebtLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShortTermDebtTable" xlink:label="loc_us-gaapScheduleOfShortTermDebtTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapScheduleOfShortTermDebtTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="loc_us-gaapDebtInstrumentAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_us-gaapDebtInstrumentAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaapDebtInstrumentNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapDebtInstrumentAxis" xlink:to="loc_us-gaapDebtInstrumentNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaapDebtInstrumentNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapDebtInstrumentAxis" xlink:to="loc_us-gaapDebtInstrumentNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_TermLoanMember" xlink:label="loc_FSITermLoanMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDebtInstrumentNameDomain" xlink:to="loc_FSITermLoanMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_MidlandBankMember" xlink:label="loc_FSIMidlandBankMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIMidlandBankMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_StockYardsBankTrustMember" xlink:label="loc_FSIStockYardsBankTrustMember_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustMember_140" xlink:type="arc" order="141" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_deiLegalEntityAxis" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_NanoChemSolutionsIncMember" xlink:label="loc_FSINanoChemSolutionsIncMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSINanoChemSolutionsIncMember_0" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ENPMendotaMember" xlink:label="loc_FSIENPMendotaMember_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIENPMendotaMember_130" xlink:type="arc" order="133" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_EnpRealtyLLCMember" xlink:label="loc_FSIEnpRealtyLLCMember_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIEnpRealtyLLCMember_140" xlink:type="arc" order="142" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_NanoChemMember" xlink:label="loc_FSINanoChemMember_210" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSINanoChemMember_210" xlink:type="arc" order="213" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ENPPeruInvestmentsMember" xlink:label="loc_FSIENPPeruInvestmentsMember_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIENPPeruInvestmentsMember_230" xlink:type="arc" order="233" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ENPPeruOneMember" xlink:label="loc_FSIENPPeruOneMember_280" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIENPPeruOneMember_280" xlink:type="arc" order="283" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_MendotaMember" xlink:label="loc_FSIMendotaMember_460" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIMendotaMember_460" xlink:type="arc" order="462" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis" xlink:label="loc_us-gaapVariableRateAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_us-gaapVariableRateAxis" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="loc_us-gaapVariableRateDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapVariableRateAxis" xlink:to="loc_us-gaapVariableRateDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="loc_us-gaapVariableRateDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapVariableRateAxis" xlink:to="loc_us-gaapVariableRateDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrimeRateMember" xlink:label="loc_us-gaapPrimeRateMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapVariableRateDomain" xlink:to="loc_us-gaapPrimeRateMember_10" xlink:type="arc" order="13" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="loc_us-gaapDebtInstrumentFaceAmount_520" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapDebtInstrumentFaceAmount_520" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="loc_us-gaapDebtInstrumentInterestRateStatedPercentage_520" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapDebtInstrumentInterestRateStatedPercentage_520" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTerm" xlink:label="loc_us-gaapDebtInstrumentTerm_520" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapDebtInstrumentTerm_520" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpenseDebt" xlink:label="loc_us-gaapInterestExpenseDebt_520" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapInterestExpenseDebt_520" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDefaultLongtermDebtAmount" xlink:label="loc_us-gaapDebtDefaultLongtermDebtAmount_520" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapDebtDefaultLongtermDebtAmount_520" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LoansPayable" xlink:label="loc_us-gaapLoansPayable_520" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapLoansPayable_520" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense" xlink:label="loc_us-gaapInterestExpense_520" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapInterestExpense_520" xlink:type="arc" order="6" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails" xlink:title="995571 - Disclosure - SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT) (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails" xlink:title="995572 - Disclosure - SCHEDULE OF RECONCILIATION OF INCOME TAXES (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails" xlink:title="995573 - Disclosure - SCHEDULE OF DEFERRED TAX ASSETS (LIABILITIES) (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwardsLineItems" xlink:label="loc_us-gaapOperatingLossCarryforwardsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwardsTable" xlink:label="loc_us-gaapOperatingLossCarryforwardsTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapOperatingLossCarryforwardsTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaapIncomeTaxAuthorityNameAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapOperatingLossCarryforwardsTable" xlink:to="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaapIncomeTaxAuthorityNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:to="loc_us-gaapIncomeTaxAuthorityNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaapIncomeTaxAuthorityNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:to="loc_us-gaapIncomeTaxAuthorityNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CanadaRevenueAgencyMember" xlink:label="loc_us-gaapCanadaRevenueAgencyMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapIncomeTaxAuthorityNameDomain" xlink:to="loc_us-gaapCanadaRevenueAgencyMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InternalRevenueServiceIRSMember" xlink:label="loc_us-gaapInternalRevenueServiceIRSMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapIncomeTaxAuthorityNameDomain" xlink:to="loc_us-gaapInternalRevenueServiceIRSMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="loc_us-gaapDeferredTaxAssetsOperatingLossCarryforwards_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapDeferredTaxAssetsOperatingLossCarryforwards_50" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets" xlink:label="loc_us-gaapDeferredTaxAssetsGoodwillAndIntangibleAssets_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapDeferredTaxAssetsGoodwillAndIntangibleAssets_50" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_DeferredTaxAssetsPropertyPlantsAndEquipment" xlink:label="loc_FSIDeferredTaxAssetsPropertyPlantsAndEquipment_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_FSIDeferredTaxAssetsPropertyPlantsAndEquipment_50" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="loc_us-gaapDeferredTaxAssetsGross_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapDeferredTaxAssetsGross_50" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="loc_us-gaapDeferredTaxAssetsValuationAllowance_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapDeferredTaxAssetsValuationAllowance_50" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="loc_us-gaapDeferredTaxAssetsNet_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapDeferredTaxAssetsNet_50" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInvestments" xlink:label="loc_us-gaapDeferredTaxAssetsInvestments_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapDeferredTaxAssetsInvestments_50" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_DeferredTaxAssetsPropertyPlantsAndEquipmentOne" xlink:label="loc_FSIDeferredTaxAssetsPropertyPlantsAndEquipmentOne_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_FSIDeferredTaxAssetsPropertyPlantsAndEquipmentOne_50" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsDerivativeInstruments" xlink:label="loc_us-gaapDeferredTaxAssetsDerivativeInstruments_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapDeferredTaxAssetsDerivativeInstruments_50" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_DeferredTaxAssetNotRecognized" xlink:label="loc_FSIDeferredTaxAssetNotRecognized_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_FSIDeferredTaxAssetNotRecognized_50" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilities" xlink:label="loc_us-gaapDeferredTaxLiabilities_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapDeferredTaxLiabilities_50" xlink:type="arc" order="10" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails" xlink:title="995574 - Disclosure - SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwardsLineItems" xlink:label="loc_us-gaapOperatingLossCarryforwardsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwardsTable" xlink:label="loc_us-gaapOperatingLossCarryforwardsTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapOperatingLossCarryforwardsTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxPeriodAxis" xlink:label="loc_us-gaapTaxPeriodAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapOperatingLossCarryforwardsTable" xlink:to="loc_us-gaapTaxPeriodAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxPeriodDomain" xlink:label="loc_us-gaapTaxPeriodDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapTaxPeriodAxis" xlink:to="loc_us-gaapTaxPeriodDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxPeriodDomain" xlink:label="loc_us-gaapTaxPeriodDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapTaxPeriodAxis" xlink:to="loc_us-gaapTaxPeriodDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_TwoThousandThirtyTaxYearMember" xlink:label="loc_FSITwoThousandThirtyTaxYearMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapTaxPeriodDomain" xlink:to="loc_FSITwoThousandThirtyTaxYearMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_TwoThousandThirtyOneYearMember" xlink:label="loc_FSITwoThousandThirtyOneYearMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapTaxPeriodDomain" xlink:to="loc_FSITwoThousandThirtyOneYearMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_TwoThousandThirtyTwoYearMember" xlink:label="loc_FSITwoThousandThirtyTwoYearMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapTaxPeriodDomain" xlink:to="loc_FSITwoThousandThirtyTwoYearMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_TwoThousandThirtySevenYearMember" xlink:label="loc_FSITwoThousandThirtySevenYearMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapTaxPeriodDomain" xlink:to="loc_FSITwoThousandThirtySevenYearMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_TwoThousandThirtyNineYearMember" xlink:label="loc_FSITwoThousandThirtyNineYearMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapTaxPeriodDomain" xlink:to="loc_FSITwoThousandThirtyNineYearMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_TwoThousandFourtyYearMember" xlink:label="loc_FSITwoThousandFourtyYearMember_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapTaxPeriodDomain" xlink:to="loc_FSITwoThousandFourtyYearMember_50" xlink:type="arc" order="51" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="loc_us-gaapOperatingLossCarryforwards_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapOperatingLossCarryforwards_80" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative" xlink:title="995575 - Disclosure - INCOME TAXES (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwardsLineItems" xlink:label="loc_us-gaapOperatingLossCarryforwardsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwardsTable" xlink:label="loc_us-gaapOperatingLossCarryforwardsTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapOperatingLossCarryforwardsTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaapIncomeTaxAuthorityNameAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapOperatingLossCarryforwardsTable" xlink:to="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaapIncomeTaxAuthorityNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:to="loc_us-gaapIncomeTaxAuthorityNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaapIncomeTaxAuthorityNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:to="loc_us-gaapIncomeTaxAuthorityNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CanadaRevenueAgencyMember" xlink:label="loc_us-gaapCanadaRevenueAgencyMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapIncomeTaxAuthorityNameDomain" xlink:to="loc_us-gaapCanadaRevenueAgencyMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_IncomeTaxRecovery" xlink:label="loc_FSIIncomeTaxRecovery_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_FSIIncomeTaxRecovery_50" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="loc_us-gaapOperatingLossCarryforwards_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapOperatingLossCarryforwards_50" xlink:type="arc" order="1" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfBasicAndDilutedLossPerShareDetails" xlink:title="995576 - Disclosure - SCHEDULE OF BASIC AND DILUTED LOSS PER SHARE (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfAnti-dilutiveOptionsDetails" xlink:title="995577 - Disclosure - SCHEDULE OF ANTI-DILUTIVE OPTIONS (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/IncomePerShareDetailsNarrative" xlink:title="995578 - Disclosure - INCOME PER SHARE (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwardsLineItems" xlink:label="loc_us-gaapOperatingLossCarryforwardsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwardsTable" xlink:label="loc_us-gaapOperatingLossCarryforwardsTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapOperatingLossCarryforwardsTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaapIncomeTaxAuthorityNameAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapOperatingLossCarryforwardsTable" xlink:to="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaapIncomeTaxAuthorityNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:to="loc_us-gaapIncomeTaxAuthorityNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaapIncomeTaxAuthorityNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:to="loc_us-gaapIncomeTaxAuthorityNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CanadaRevenueAgencyMember" xlink:label="loc_us-gaapCanadaRevenueAgencyMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapIncomeTaxAuthorityNameDomain" xlink:to="loc_us-gaapCanadaRevenueAgencyMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="loc_us-gaapPreferredStockSharesIssued_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapPreferredStockSharesIssued_30" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="loc_us-gaapPreferredStockSharesOutstanding_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapPreferredStockSharesOutstanding_30" xlink:type="arc" order="1" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails" xlink:title="995579 - Disclosure - SCHEDULE OF STOCK OPTION ACTIVITIES (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_srtRangeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_160" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_160" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_160" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_160" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_160" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_160" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_160" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_160" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_160" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised_160" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_160" xlink:type="arc" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_160" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_160" xlink:type="arc" order="15" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_160" xlink:type="arc" order="16" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_160" xlink:type="arc" order="17" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails" xlink:title="995580 - Disclosure - SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_srtRangeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_40" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_40" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_40" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_40" xlink:type="arc" order="3" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StockOptionsDetailsNarrative" xlink:title="995581 - Disclosure - STOCK OPTIONS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:label="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:label="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srtTitleOfIndividualAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:to="loc_srtTitleOfIndividualAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ConsultantsMember" xlink:label="loc_FSIConsultantsMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_FSIConsultantsMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_EmployeesMember" xlink:label="loc_FSIEmployeesMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_FSIEmployeesMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaapIncomeTaxAuthorityNameAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:to="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaapIncomeTaxAuthorityNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:to="loc_us-gaapIncomeTaxAuthorityNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaapIncomeTaxAuthorityNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:to="loc_us-gaapIncomeTaxAuthorityNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CanadaRevenueAgencyMember" xlink:label="loc_us-gaapCanadaRevenueAgencyMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapIncomeTaxAuthorityNameDomain" xlink:to="loc_us-gaapCanadaRevenueAgencyMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_110" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_110" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_110" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_110" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_110" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockOptionPlanExpense" xlink:label="loc_us-gaapStockOptionPlanExpense_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapStockOptionPlanExpense_110" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_AdditionalExpensesDueToOptionsGranted" xlink:label="loc_FSIAdditionalExpensesDueToOptionsGranted_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_FSIAdditionalExpensesDueToOptionsGranted_110" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised_110" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_110" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_110" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_110" xlink:type="arc" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_110" xlink:type="arc" order="11" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/CapitalStockDetailsNarrative" xlink:title="995582 - Disclosure - CAPITAL STOCK (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapAwardTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaapEmployeeStockOptionMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapEmployeeStockOptionMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ConsultantStockOptionMember" xlink:label="loc_FSIConsultantStockOptionMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_FSIConsultantStockOptionMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised_90" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices_90" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueIssuedForServices" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueIssuedForServices_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueIssuedForServices_90" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DividendsPayableAmountPerShare" xlink:label="loc_us-gaapDividendsPayableAmountPerShare_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapDividendsPayableAmountPerShare_90" xlink:type="arc" order="3" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails" xlink:title="995583 - Disclosure - SCHEDULE OF DISTRIBUTIONS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_srtOwnershipAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ENPInvestmentsLLCMember" xlink:label="loc_FSIENPInvestmentsLLCMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPInvestmentsLLCMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="loc_us-gaapTypeOfArrangementAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_us-gaapTypeOfArrangementAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapTypeOfArrangementAxis" xlink:to="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="loc_us-gaapArrangementsAndNonarrangementTransactionsMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapTypeOfArrangementAxis" xlink:to="loc_us-gaapArrangementsAndNonarrangementTransactionsMember_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_OwnershipInterestPurchaseAgreementMember" xlink:label="loc_FSIOwnershipInterestPurchaseAgreementMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:to="loc_FSIOwnershipInterestPurchaseAgreementMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterest" xlink:label="loc_us-gaapMinorityInterest_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterest_60" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:label="loc_us-gaapMinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_60" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapNetIncomeLossAttributableToNoncontrollingInterest_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapNetIncomeLossAttributableToNoncontrollingInterest_60" xlink:type="arc" order="2" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" xlink:title="995584 - Disclosure - SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_srtOwnershipAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_MendotaLLCMember" xlink:label="loc_FSIMendotaLLCMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIMendotaLLCMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="loc_us-gaapTypeOfArrangementAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_us-gaapTypeOfArrangementAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapTypeOfArrangementAxis" xlink:to="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="loc_us-gaapArrangementsAndNonarrangementTransactionsMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapTypeOfArrangementAxis" xlink:to="loc_us-gaapArrangementsAndNonarrangementTransactionsMember_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_OwnershipInterestPurchaseAgreementMember" xlink:label="loc_FSIOwnershipInterestPurchaseAgreementMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:to="loc_FSIOwnershipInterestPurchaseAgreementMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterest" xlink:label="loc_us-gaapMinorityInterest_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterest_40" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates" xlink:label="loc_us-gaapPaymentsToAcquireBusinessesAndInterestInAffiliates_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapPaymentsToAcquireBusinessesAndInterestInAffiliates_40" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation" xlink:label="loc_us-gaapNoncontrollingInterestDecreaseFromDeconsolidation_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapNoncontrollingInterestDecreaseFromDeconsolidation_40" xlink:type="arc" order="2" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative" xlink:title="995585 - Disclosure - NON-CONTROLLING INTERESTS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_srtOwnershipAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ENPInvestmentsLLCMember" xlink:label="loc_FSIENPInvestmentsLLCMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPInvestmentsLLCMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_MendotaLLCMember" xlink:label="loc_FSIMendotaLLCMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIMendotaLLCMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" xlink:label="loc_us-gaapSubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapSubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_70" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:label="loc_us-gaapMinorityInterestOwnershipPercentageByParent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterestOwnershipPercentageByParent_70" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToMinorityShareholders" xlink:label="loc_us-gaapPaymentsToMinorityShareholders_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapPaymentsToMinorityShareholders_70" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues" xlink:label="loc_us-gaapRevenues_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapRevenues_70" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaapAccountsReceivableNetCurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapAccountsReceivableNetCurrent_70" xlink:type="arc" order="4" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails" xlink:title="995586 - Disclosure - SCHEDULE OF REPORTABLE SEGMENTS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:label="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:label="loc_us-gaapScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="loc_srtProductOrServiceAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_EWCPMember" xlink:label="loc_FSIEWCPMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_FSIEWCPMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_BCPAMember" xlink:label="loc_FSIBCPAMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_FSIBCPAMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="loc_us-gaapStatementBusinessSegmentsAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="loc_us-gaapStatementBusinessSegmentsAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain" xlink:label="loc_us-gaapSegmentDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementBusinessSegmentsAxis" xlink:to="loc_us-gaapSegmentDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain" xlink:label="loc_us-gaapSegmentDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementBusinessSegmentsAxis" xlink:to="loc_us-gaapSegmentDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_SegmentMember" xlink:label="loc_FSISegmentMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSegmentDomain" xlink:to="loc_FSISegmentMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_70" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense" xlink:label="loc_us-gaapInterestExpense_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapInterestExpense_70" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationNonproduction" xlink:label="loc_us-gaapDepreciationNonproduction_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapDepreciationNonproduction_70" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit_70" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapNetIncomeLoss_70" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_SegmentAssets" xlink:label="loc_FSISegmentAssets_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_FSISegmentAssets_70" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment_70" xlink:type="arc" order="6" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" xlink:title="995587 - Disclosure - SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srtStatementGeographicalAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="loc_srtStatementGeographicalAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CA" xlink:label="loc_countryCA_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryCA_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_UnitedStatesandAbroadMember" xlink:label="loc_FSIUnitedStatesandAbroadMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_FSIUnitedStatesandAbroadMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_70" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails" xlink:title="995588 - Disclosure - SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srtStatementGeographicalAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="loc_srtStatementGeographicalAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CA" xlink:label="loc_countryCA_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryCA_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="loc_countryUS_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryUS_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncurrentAssets" xlink:label="loc_us-gaapNoncurrentAssets_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="loc_us-gaapNoncurrentAssets_70" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative" xlink:title="995589 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:label="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:label="loc_us-gaapScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" xlink:to="loc_us-gaapScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaapConcentrationRiskByBenchmarkAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:to="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember" xlink:label="loc_us-gaapAccountsReceivableMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapAccountsReceivableMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis" xlink:label="loc_srtMajorCustomersAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:to="loc_srtMajorCustomersAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain" xlink:label="loc_srtNameOfMajorCustomerDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtMajorCustomersAxis" xlink:to="loc_srtNameOfMajorCustomerDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain" xlink:label="loc_srtNameOfMajorCustomerDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtMajorCustomersAxis" xlink:to="loc_srtNameOfMajorCustomerDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ThreeCustomersMember" xlink:label="loc_FSIThreeCustomersMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_FSIThreeCustomersMember_10" xlink:type="arc" order="12" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfOperatingSegments" xlink:label="loc_us-gaapNumberOfOperatingSegments_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" xlink:to="loc_us-gaapNumberOfOperatingSegments_60" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNet" xlink:label="loc_us-gaapAccountsReceivableNet_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" xlink:to="loc_us-gaapAccountsReceivableNet_60" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_StockOptionExercisePercent" xlink:label="loc_FSIStockOptionExercisePercent_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" xlink:to="loc_FSIStockOptionExercisePercent_60" xlink:type="arc" order="2" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative" xlink:title="995590 - Disclosure - SUBSEQUENT EVENTS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventLineItems" xlink:label="loc_us-gaapSubsequentEventLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTable" xlink:label="loc_us-gaapSubsequentEventTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapSubsequentEventLineItems" xlink:to="loc_us-gaapSubsequentEventTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="loc_us-gaapSubsequentEventTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapSubsequentEventTable" xlink:to="loc_us-gaapSubsequentEventTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaapSubsequentEventTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapSubsequentEventTypeAxis" xlink:to="loc_us-gaapSubsequentEventTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaapSubsequentEventTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapSubsequentEventTypeAxis" xlink:to="loc_us-gaapSubsequentEventTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventMember" xlink:label="loc_us-gaapSubsequentEventMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSubsequentEventTypeDomain" xlink:to="loc_us-gaapSubsequentEventMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srtTitleOfIndividualAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapSubsequentEventTable" xlink:to="loc_srtTitleOfIndividualAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ConsultantsMember" xlink:label="loc_FSIConsultantsMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_FSIConsultantsMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_EmployeesMember" xlink:label="loc_FSIEmployeesMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_FSIEmployeesMember_10" xlink:type="arc" order="12" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSubsequentEventLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues_30" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSubsequentEventLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_30" xlink:type="arc" order="1" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/PvpExecutiveCategoriesOnly" />
    <link:definitionLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/PvpAdjustmentsOnly" />
    <link:definitionLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/IndividualsOnly" />
    <link:definitionLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/AwardTypeOnly">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ConsultantStockOptionMember" xlink:label="loc_FSIConsultantStockOptionMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_FSIConsultantStockOptionMember" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/TradingArrangementsOnly" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>12
<FILENAME>fsi-20231231_lab.xml
<DESCRIPTION>INLINE XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.22a -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" roleURI="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" roleURI="http://www.xbrl.org/2009/role/netLabel" />
    <link:labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementEquityComponentsAxis_lbl" xml:lang="en-US">Equity Components [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockMember_lbl" xml:lang="en-US">Common Stock [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_CapitalInExcessOfParValueMember" xlink:label="FSI_CapitalInExcessOfParValueMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_CapitalInExcessOfParValueMember" xlink:to="FSI_CapitalInExcessOfParValueMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_CapitalInExcessOfParValueMember_lbl" xml:lang="en-US">Capital in Excess of Par Value [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsMember_lbl" xml:lang="en-US">Retained Earnings [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xml:lang="en-US">AOCI Attributable to Parent [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ParentMember" xlink:label="us-gaap_ParentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ParentMember" xlink:to="us-gaap_ParentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ParentMember_lbl" xml:lang="en-US">Parent [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="us-gaap_NoncontrollingInterestMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncontrollingInterestMember" xlink:to="us-gaap_NoncontrollingInterestMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncontrollingInterestMember_lbl" xml:lang="en-US">Noncontrolling Interest [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_OwnershipAxis" xlink:to="srt_OwnershipAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_OwnershipAxis_lbl" xml:lang="en-US">Ownership [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_MendotaLLCMember" xlink:label="FSI_MendotaLLCMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_MendotaLLCMember" xlink:to="FSI_MendotaLLCMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_MendotaLLCMember_lbl" xml:lang="en-US">317 Mendota LLC [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ENPInvestmentsLLCAndENPMendotaMember" xlink:label="FSI_ENPInvestmentsLLCAndENPMendotaMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPInvestmentsLLCAndENPMendotaMember" xlink:to="FSI_ENPInvestmentsLLCAndENPMendotaMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ENPInvestmentsLLCAndENPMendotaMember_lbl" xml:lang="en-US">ENP Investments LLC and ENP Mendota [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ENPPeruMember" xlink:label="FSI_ENPPeruMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPPeruMember" xlink:to="FSI_ENPPeruMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ENPPeruMember_lbl" xml:lang="en-US">ENP Peru [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_lbl" xml:lang="en-US">Related Party, Type [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_UnrelatedPartyMember" xlink:label="FSI_UnrelatedPartyMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_UnrelatedPartyMember" xlink:to="FSI_UnrelatedPartyMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_UnrelatedPartyMember_lbl" xml:lang="en-US">Unrelated Party [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ENPInvestmentsAndENPMendotaMember" xlink:label="FSI_ENPInvestmentsAndENPMendotaMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPInvestmentsAndENPMendotaMember" xlink:to="FSI_ENPInvestmentsAndENPMendotaMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ENPInvestmentsAndENPMendotaMember_lbl" xml:lang="en-US">ENP Investments And 317 ENP Mendota [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtTypeAxis" xlink:label="us-gaap_ShortTermDebtTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermDebtTypeAxis" xlink:to="us-gaap_ShortTermDebtTypeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermDebtTypeAxis_lbl" xml:lang="en-US">Short-Term Debt, Type [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_FirstTermMember" xlink:label="FSI_FirstTermMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_FirstTermMember" xlink:to="FSI_FirstTermMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_FirstTermMember_lbl" xml:lang="en-US">First Term [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_SecondTermMember" xlink:label="FSI_SecondTermMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SecondTermMember" xlink:to="FSI_SecondTermMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_SecondTermMember_lbl" xml:lang="en-US">Second Term [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ThirdTermMember" xlink:label="FSI_ThirdTermMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ThirdTermMember" xlink:to="FSI_ThirdTermMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ThirdTermMember_lbl" xml:lang="en-US">Third Term [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_FourthTermMember" xlink:label="FSI_FourthTermMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_FourthTermMember" xlink:to="FSI_FourthTermMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_FourthTermMember_lbl" xml:lang="en-US">Fourth Term [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductOrServiceAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ProductOrServiceAxis_lbl" xml:lang="en-US">Product and Service [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShippingAndHandlingMember" xlink:label="us-gaap_ShippingAndHandlingMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShippingAndHandlingMember" xlink:to="us-gaap_ShippingAndHandlingMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShippingAndHandlingMember_lbl" xml:lang="en-US">Shipping and Handling [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_lbl" xml:lang="en-US">Concentration Risk Type [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ThreePrimaryCustomersMember" xlink:label="FSI_ThreePrimaryCustomersMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ThreePrimaryCustomersMember" xlink:to="FSI_ThreePrimaryCustomersMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ThreePrimaryCustomersMember_lbl" xml:lang="en-US">Three Primary Customers [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" xml:lang="en-US">Concentration Risk Benchmark [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerMember" xlink:label="us-gaap_RevenueFromContractWithCustomerMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerMember" xlink:to="us-gaap_RevenueFromContractWithCustomerMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerMember_lbl" xml:lang="en-US">Revenue from Contract with Customer Benchmark [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableMember" xlink:to="us-gaap_AccountsReceivableMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableMember_lbl" xml:lang="en-US">Accounts Receivable [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_lbl" xml:lang="en-US">Investment, Name [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_InvestmentMember" xlink:label="FSI_InvestmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_InvestmentMember" xlink:to="FSI_InvestmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_InvestmentMember_lbl" xml:lang="en-US">Investment [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" xml:lang="en-US">Long-Lived Tangible Asset [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComputerEquipmentMember" xlink:label="us-gaap_ComputerEquipmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComputerEquipmentMember" xlink:to="us-gaap_ComputerEquipmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComputerEquipmentMember_lbl" xml:lang="en-US">Computer Equipment [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MachineryAndEquipmentMember" xlink:to="us-gaap_MachineryAndEquipmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MachineryAndEquipmentMember_lbl" xml:lang="en-US">Machinery and Equipment [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OfficeEquipmentMember" xlink:label="us-gaap_OfficeEquipmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OfficeEquipmentMember" xlink:to="us-gaap_OfficeEquipmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OfficeEquipmentMember_lbl" xml:lang="en-US">Office Equipment [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_BoatMember" xlink:label="FSI_BoatMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_BoatMember" xlink:to="FSI_BoatMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_BoatMember_lbl" xml:lang="en-US">Boat [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BuildingAndBuildingImprovementsMember" xlink:to="us-gaap_BuildingAndBuildingImprovementsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember_lbl" xml:lang="en-US">Building and Building Improvements [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_TrailerMember" xlink:label="FSI_TrailerMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TrailerMember" xlink:to="FSI_TrailerMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_TrailerMember_lbl" xml:lang="en-US">Trailer [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AutomobilesMember" xlink:label="us-gaap_AutomobilesMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AutomobilesMember" xlink:to="us-gaap_AutomobilesMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AutomobilesMember_lbl" xml:lang="en-US">Automobiles [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PatentsMember" xlink:label="us-gaap_PatentsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PatentsMember" xlink:to="us-gaap_PatentsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PatentsMember_lbl" xml:lang="en-US">Patents [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TechnologyEquipmentMember" xlink:label="us-gaap_TechnologyEquipmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TechnologyEquipmentMember" xlink:to="us-gaap_TechnologyEquipmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TechnologyEquipmentMember_lbl" xml:lang="en-US">Technology Equipment [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseholdImprovementsMember" xlink:to="us-gaap_LeaseholdImprovementsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseholdImprovementsMember_lbl" xml:lang="en-US">Leasehold Improvements [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerRelationshipsMember" xlink:to="us-gaap_CustomerRelationshipsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CustomerRelationshipsMember_lbl" xml:lang="en-US">Customer Relationships [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_SoftwareMember" xlink:label="FSI_SoftwareMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SoftwareMember" xlink:to="FSI_SoftwareMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_SoftwareMember_lbl" xml:lang="en-US">Software [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LandMember" xlink:label="us-gaap_LandMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LandMember" xlink:to="us-gaap_LandMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LandMember_lbl" xml:lang="en-US">Land [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DevelopedTechnologyRightsMember" xlink:to="us-gaap_DevelopedTechnologyRightsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DevelopedTechnologyRightsMember_lbl" xml:lang="en-US">Developed Technology Rights [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LegalEntityAxis" xlink:to="dei_LegalEntityAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_LegalEntityAxis_lbl" xml:lang="en-US">Legal Entity [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_EnPInvestmentsCorporationLLCMember" xlink:label="FSI_EnPInvestmentsCorporationLLCMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EnPInvestmentsCorporationLLCMember" xlink:to="FSI_EnPInvestmentsCorporationLLCMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_EnPInvestmentsCorporationLLCMember_lbl" xml:lang="en-US">ENP Investments Limited Liability Corporation (LLC) [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByAssetClassAxis" xlink:label="us-gaap_FairValueByAssetClassAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByAssetClassAxis" xlink:to="us-gaap_FairValueByAssetClassAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueByAssetClassAxis_lbl" xml:lang="en-US">Asset Class [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMember" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMember" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMember_lbl" xml:lang="en-US">Finite-Lived Intangible Assets [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_EnpPeruInvestmentsLlcMember" xlink:label="FSI_EnpPeruInvestmentsLlcMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EnpPeruInvestmentsLlcMember" xlink:to="FSI_EnpPeruInvestmentsLlcMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_EnpPeruInvestmentsLlcMember_lbl" xml:lang="en-US">ENP Peru Investments LLC [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_NanoChemMember" xlink:label="FSI_NanoChemMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_NanoChemMember" xlink:to="FSI_NanoChemMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_NanoChemMember_lbl" xml:lang="en-US">Nano Chem [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ENPInvestmentsLLCMember" xlink:label="FSI_ENPInvestmentsLLCMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPInvestmentsLLCMember" xlink:to="FSI_ENPInvestmentsLLCMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ENPInvestmentsLLCMember_lbl" xml:lang="en-US">ENP Investments, LLC [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_EnpnvestmentsLlcMember" xlink:label="FSI_EnpnvestmentsLlcMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EnpnvestmentsLlcMember" xlink:to="FSI_EnpnvestmentsLlcMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_EnpnvestmentsLlcMember_lbl" xml:lang="en-US">ENP Investments LLC [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_AppliedHoldingCorpMember" xlink:label="FSI_AppliedHoldingCorpMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_AppliedHoldingCorpMember" xlink:to="FSI_AppliedHoldingCorpMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_AppliedHoldingCorpMember_lbl" xml:lang="en-US">Applied Holding Corp [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_TrioOpportunityCorpMember" xlink:label="FSI_TrioOpportunityCorpMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TrioOpportunityCorpMember" xlink:to="FSI_TrioOpportunityCorpMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_TrioOpportunityCorpMember_lbl" xml:lang="en-US">Trio Opportunity Corp [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_StatementClassOfStockAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementClassOfStockAxis_lbl" xml:lang="en-US">Class of Stock [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonClassBMember" xlink:label="us-gaap_CommonClassBMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonClassBMember" xlink:to="us-gaap_CommonClassBMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonClassBMember_lbl" xml:lang="en-US">Common Class B [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_FloridaBasedLLCMember" xlink:label="FSI_FloridaBasedLLCMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_FloridaBasedLLCMember" xlink:to="FSI_FloridaBasedLLCMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_FloridaBasedLLCMember_lbl" xml:lang="en-US">Florida Based LLC [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_LygosIncMember" xlink:label="FSI_LygosIncMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LygosIncMember" xlink:to="FSI_LygosIncMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_LygosIncMember_lbl" xml:lang="en-US">Lygos Inc [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityAxis_lbl" xml:lang="en-US">Lender Name [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_StockYardAndBankMember" xlink:label="FSI_StockYardAndBankMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockYardAndBankMember" xlink:to="FSI_StockYardAndBankMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_StockYardAndBankMember_lbl" xml:lang="en-US">Stock Yard And Bank One [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_MidlandStatesBankMember" xlink:label="FSI_MidlandStatesBankMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_MidlandStatesBankMember" xlink:to="FSI_MidlandStatesBankMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_MidlandStatesBankMember_lbl" xml:lang="en-US">Midland States Bank [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_TypeOfArrangementAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TypeOfArrangementAxis_lbl" xml:lang="en-US">Collaborative Arrangement and Arrangement Other than Collaborative [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_NewAgreementMember" xlink:label="FSI_NewAgreementMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_NewAgreementMember" xlink:to="FSI_NewAgreementMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_NewAgreementMember_lbl" xml:lang="en-US">New Agreement [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_NanoChemSolutionIncMember" xlink:label="FSI_NanoChemSolutionIncMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_NanoChemSolutionIncMember" xlink:to="FSI_NanoChemSolutionIncMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_NanoChemSolutionIncMember_lbl" xml:lang="en-US">NanoChem Solutions Inc [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_StockBankMember" xlink:label="FSI_StockBankMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockBankMember" xlink:to="FSI_StockBankMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_StockBankMember_lbl" xml:lang="en-US">Stock Bank [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CreditFacilityAxis_lbl" xml:lang="en-US">Credit Facility [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevolvingCreditFacilityMember" xlink:to="us-gaap_RevolvingCreditFacilityMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevolvingCreditFacilityMember_lbl" xml:lang="en-US">Revolving Credit Facility [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentAxis_lbl" xml:lang="en-US">Debt Instrument [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_TermLoanMember" xlink:label="FSI_TermLoanMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TermLoanMember" xlink:to="FSI_TermLoanMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_TermLoanMember_lbl" xml:lang="en-US">Term Loan [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_MidlandBankMember" xlink:label="FSI_MidlandBankMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_MidlandBankMember" xlink:to="FSI_MidlandBankMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_MidlandBankMember_lbl" xml:lang="en-US">Midland Bank [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_NanoChemSolutionsIncMember" xlink:label="FSI_NanoChemSolutionsIncMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_NanoChemSolutionsIncMember" xlink:to="FSI_NanoChemSolutionsIncMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="FSI_NanoChemSolutionsIncMember_lbl" xml:lang="en-US">NanoChem Solutions Inc [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VariableRateAxis_lbl" xml:lang="en-US">Variable Rate [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrimeRateMember" xlink:label="us-gaap_PrimeRateMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrimeRateMember" xlink:to="us-gaap_PrimeRateMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrimeRateMember_lbl" xml:lang="en-US">Prime Rate [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ENPMendotaMember" xlink:label="FSI_ENPMendotaMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPMendotaMember" xlink:to="FSI_ENPMendotaMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ENPMendotaMember_lbl" xml:lang="en-US">ENP Mendota, LLC [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_StockYardsBankTrustMember" xlink:label="FSI_StockYardsBankTrustMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockYardsBankTrustMember" xlink:to="FSI_StockYardsBankTrustMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_StockYardsBankTrustMember_lbl" xml:lang="en-US">Stock Yards Bank &amp; Trust [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_EnpRealtyLLCMember" xlink:label="FSI_EnpRealtyLLCMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EnpRealtyLLCMember" xlink:to="FSI_EnpRealtyLLCMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_EnpRealtyLLCMember_lbl" xml:lang="en-US">ENP Realty LLC [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ENPPeruInvestmentsMember" xlink:label="FSI_ENPPeruInvestmentsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPPeruInvestmentsMember" xlink:to="FSI_ENPPeruInvestmentsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ENPPeruInvestmentsMember_lbl" xml:lang="en-US">ENP Peru Investments [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ENPPeruOneMember" xlink:label="FSI_ENPPeruOneMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPPeruOneMember" xlink:to="FSI_ENPPeruOneMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ENPPeruOneMember_lbl" xml:lang="en-US">ENP Peru One [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_MendotaMember" xlink:label="FSI_MendotaMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_MendotaMember" xlink:to="FSI_MendotaMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_MendotaMember_lbl" xml:lang="en-US">Mendota [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_MidlandStatesBankOneMember" xlink:label="FSI_MidlandStatesBankOneMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_MidlandStatesBankOneMember" xlink:to="FSI_MidlandStatesBankOneMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_MidlandStatesBankOneMember_lbl" xml:lang="en-US">Midland States Bank One [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_StockYardsBankTrustOneMember" xlink:label="FSI_StockYardsBankTrustOneMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockYardsBankTrustOneMember" xlink:to="FSI_StockYardsBankTrustOneMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_StockYardsBankTrustOneMember_lbl" xml:lang="en-US">Stock Yards Bank Trust One [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_StockYardsBankTrustTwoMember" xlink:label="FSI_StockYardsBankTrustTwoMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockYardsBankTrustTwoMember" xlink:to="FSI_StockYardsBankTrustTwoMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_StockYardsBankTrustTwoMember_lbl" xml:lang="en-US">Stock Yards Bank Trust Two [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_StockYardsBankTrustThreeMember" xlink:label="FSI_StockYardsBankTrustThreeMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockYardsBankTrustThreeMember" xlink:to="FSI_StockYardsBankTrustThreeMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_StockYardsBankTrustThreeMember_lbl" xml:lang="en-US">Stock Yards Bank Trust Three [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_StockYardsBankTrustFourMember" xlink:label="FSI_StockYardsBankTrustFourMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockYardsBankTrustFourMember" xlink:to="FSI_StockYardsBankTrustFourMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_StockYardsBankTrustFourMember_lbl" xml:lang="en-US">Stock Yards Bank Trust Four [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_StockYardsBankTrustFiveMember" xlink:label="FSI_StockYardsBankTrustFiveMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockYardsBankTrustFiveMember" xlink:to="FSI_StockYardsBankTrustFiveMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_StockYardsBankTrustFiveMember_lbl" xml:lang="en-US">Stock Yards Bank Trust Five [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="us-gaap_IncomeTaxAuthorityNameAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxAuthorityNameAxis" xlink:to="us-gaap_IncomeTaxAuthorityNameAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxAuthorityNameAxis_lbl" xml:lang="en-US">Income Tax Authority, Name [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CanadaRevenueAgencyMember" xlink:label="us-gaap_CanadaRevenueAgencyMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CanadaRevenueAgencyMember" xlink:to="us-gaap_CanadaRevenueAgencyMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CanadaRevenueAgencyMember_lbl" xml:lang="en-US">Canada Revenue Agency [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InternalRevenueServiceIRSMember" xlink:label="us-gaap_InternalRevenueServiceIRSMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InternalRevenueServiceIRSMember" xlink:to="us-gaap_InternalRevenueServiceIRSMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InternalRevenueServiceIRSMember_lbl" xml:lang="en-US">Internal Revenue Service (IRS) [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxPeriodAxis" xlink:label="us-gaap_TaxPeriodAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TaxPeriodAxis" xlink:to="us-gaap_TaxPeriodAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TaxPeriodAxis_lbl" xml:lang="en-US">Tax Period [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_TwoThousandThirtyTaxYearMember" xlink:label="FSI_TwoThousandThirtyTaxYearMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TwoThousandThirtyTaxYearMember" xlink:to="FSI_TwoThousandThirtyTaxYearMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_TwoThousandThirtyTaxYearMember_lbl" xml:lang="en-US">2030 [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_TwoThousandThirtyOneYearMember" xlink:label="FSI_TwoThousandThirtyOneYearMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TwoThousandThirtyOneYearMember" xlink:to="FSI_TwoThousandThirtyOneYearMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_TwoThousandThirtyOneYearMember_lbl" xml:lang="en-US">2031 [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_TwoThousandThirtyTwoYearMember" xlink:label="FSI_TwoThousandThirtyTwoYearMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TwoThousandThirtyTwoYearMember" xlink:to="FSI_TwoThousandThirtyTwoYearMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_TwoThousandThirtyTwoYearMember_lbl" xml:lang="en-US">2032 [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_TwoThousandThirtySevenYearMember" xlink:label="FSI_TwoThousandThirtySevenYearMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TwoThousandThirtySevenYearMember" xlink:to="FSI_TwoThousandThirtySevenYearMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_TwoThousandThirtySevenYearMember_lbl" xml:lang="en-US">2037 [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_TwoThousandThirtyNineYearMember" xlink:label="FSI_TwoThousandThirtyNineYearMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TwoThousandThirtyNineYearMember" xlink:to="FSI_TwoThousandThirtyNineYearMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_TwoThousandThirtyNineYearMember_lbl" xml:lang="en-US">2039 [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_TwoThousandFourtyYearMember" xlink:label="FSI_TwoThousandFourtyYearMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TwoThousandFourtyYearMember" xlink:to="FSI_TwoThousandFourtyYearMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_TwoThousandFourtyYearMember_lbl" xml:lang="en-US">2040 [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_TitleOfIndividualAxis_lbl" xml:lang="en-US">Title of Individual [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ConsultantsMember" xlink:label="FSI_ConsultantsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ConsultantsMember" xlink:to="FSI_ConsultantsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ConsultantsMember_lbl" xml:lang="en-US">Consultants [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_EmployeesMember" xlink:label="FSI_EmployeesMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EmployeesMember" xlink:to="FSI_EmployeesMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_EmployeesMember_lbl" xml:lang="en-US">Employees [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeAxis" xlink:to="srt_RangeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_RangeAxis_lbl" xml:lang="en-US">Statistical Measurement [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MinimumMember" xlink:to="srt_MinimumMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MinimumMember_lbl" xml:lang="en-US">Minimum [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MaximumMember" xlink:to="srt_MaximumMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MaximumMember_lbl" xml:lang="en-US">Maximum [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_AwardTypeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AwardTypeAxis_lbl" xml:lang="en-US">Award Type [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeStockOptionMember" xlink:to="us-gaap_EmployeeStockOptionMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeStockOptionMember_lbl" xml:lang="en-US">Share-Based Payment Arrangement, Option [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ConsultantStockOptionMember" xlink:label="FSI_ConsultantStockOptionMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ConsultantStockOptionMember" xlink:to="FSI_ConsultantStockOptionMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ConsultantStockOptionMember_lbl" xml:lang="en-US">Consultant Stock Option [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_OwnershipInterestPurchaseAgreementMember" xlink:label="FSI_OwnershipInterestPurchaseAgreementMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_OwnershipInterestPurchaseAgreementMember" xlink:to="FSI_OwnershipInterestPurchaseAgreementMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_OwnershipInterestPurchaseAgreementMember_lbl" xml:lang="en-US">Ownership Interest Purchase Agreement [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_MajorCustomersAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MajorCustomersAxis_lbl" xml:lang="en-US">Customer [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ThreeCustomersMember" xlink:label="FSI_ThreeCustomersMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ThreeCustomersMember" xlink:to="FSI_ThreeCustomersMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ThreeCustomersMember_lbl" xml:lang="en-US">Three Customers [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_EWCPMember" xlink:label="FSI_EWCPMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EWCPMember" xlink:to="FSI_EWCPMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_EWCPMember_lbl" xml:lang="en-US">EWCP [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_StatementBusinessSegmentsAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementBusinessSegmentsAxis_lbl" xml:lang="en-US">Segments [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_SegmentMember" xlink:label="FSI_SegmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SegmentMember" xlink:to="FSI_SegmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_SegmentMember_lbl" xml:lang="en-US">Segment [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_BCPAMember" xlink:label="FSI_BCPAMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_BCPAMember" xlink:to="FSI_BCPAMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_BCPAMember_lbl" xml:lang="en-US">BCPA [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_StatementGeographicalAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_StatementGeographicalAxis_lbl" xml:lang="en-US">Geographical [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CA" xlink:label="country_CA" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_CA" xlink:to="country_CA_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_CA_lbl" xml:lang="en-US">CANADA</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_UnitedStatesandAbroadMember" xlink:label="FSI_UnitedStatesandAbroadMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_UnitedStatesandAbroadMember" xlink:to="FSI_UnitedStatesandAbroadMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_UnitedStatesandAbroadMember_lbl" xml:lang="en-US">United States and Abroad [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="country_US" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_US" xlink:to="country_US_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_US_lbl" xml:lang="en-US">UNITED STATES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventTypeAxis_lbl" xml:lang="en-US">Subsequent Event Type [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventMember" xlink:to="us-gaap_SubsequentEventMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventMember_lbl" xml:lang="en-US">Subsequent Event [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CoverAbstract" xlink:to="dei_CoverAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CoverAbstract_lbl" xml:lang="en-US">Cover [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="dei_DocumentType" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentType_lbl" xml:lang="en-US">Document Type</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentFlag_lbl" xml:lang="en-US">Amendment Flag</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentDescription" xlink:label="dei_AmendmentDescription" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentDescription" xlink:to="dei_AmendmentDescription_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentDescription_lbl" xml:lang="en-US">Amendment Description</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentRegistrationStatement" xlink:label="dei_DocumentRegistrationStatement" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentRegistrationStatement" xlink:to="dei_DocumentRegistrationStatement_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentRegistrationStatement_lbl" xml:lang="en-US">Document Registration Statement</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAnnualReport" xlink:to="dei_DocumentAnnualReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentAnnualReport_lbl" xml:lang="en-US">Document Annual Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentQuarterlyReport" xlink:to="dei_DocumentQuarterlyReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentQuarterlyReport_lbl" xml:lang="en-US">Document Quarterly Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentTransitionReport_lbl" xml:lang="en-US">Document Transition Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentShellCompanyReport" xlink:label="dei_DocumentShellCompanyReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentShellCompanyReport" xlink:to="dei_DocumentShellCompanyReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentShellCompanyReport_lbl" xml:lang="en-US">Document Shell Company Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentShellCompanyEventDate" xlink:label="dei_DocumentShellCompanyEventDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentShellCompanyEventDate" xlink:to="dei_DocumentShellCompanyEventDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentShellCompanyEventDate_lbl" xml:lang="en-US">Document Shell Company Event Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodStartDate" xlink:label="dei_DocumentPeriodStartDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodStartDate" xlink:to="dei_DocumentPeriodStartDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodStartDate_lbl" xml:lang="en-US">Document Period Start Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodEndDate_lbl" xml:lang="en-US">Document Period End Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalPeriodFocus_lbl" xml:lang="en-US">Document Fiscal Period Focus</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalYearFocus_lbl" xml:lang="en-US">Document Fiscal Year Focus</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CurrentFiscalYearEndDate_lbl" xml:lang="en-US">Current Fiscal Year End Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFileNumber_lbl" xml:lang="en-US">Entity File Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityRegistrantName_lbl" xml:lang="en-US">Entity Registrant Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCentralIndexKey_lbl" xml:lang="en-US">Entity Central Index Key</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPrimarySicNumber" xlink:label="dei_EntityPrimarySicNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPrimarySicNumber" xlink:to="dei_EntityPrimarySicNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityPrimarySicNumber_lbl" xml:lang="en-US">Entity Primary SIC Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityTaxIdentificationNumber_lbl" xml:lang="en-US">Entity Tax Identification Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityIncorporationStateCountryCode_lbl" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine1_lbl" xml:lang="en-US">Entity Address, Address Line One</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine2" xlink:label="dei_EntityAddressAddressLine2" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine2" xlink:to="dei_EntityAddressAddressLine2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine2_lbl" xml:lang="en-US">Entity Address, Address Line Two</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine3" xlink:label="dei_EntityAddressAddressLine3" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine3" xlink:to="dei_EntityAddressAddressLine3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine3_lbl" xml:lang="en-US">Entity Address, Address Line Three</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCityOrTown_lbl" xml:lang="en-US">Entity Address, City or Town</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressStateOrProvince_lbl" xml:lang="en-US">Entity Address, State or Province</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCountry" xlink:label="dei_EntityAddressCountry" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCountry" xlink:to="dei_EntityAddressCountry_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCountry_lbl" xml:lang="en-US">Entity Address, Country</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressPostalZipCode_lbl" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CountryRegion" xlink:label="dei_CountryRegion" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CountryRegion" xlink:to="dei_CountryRegion_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CountryRegion_lbl" xml:lang="en-US">Country Region</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CityAreaCode_lbl" xml:lang="en-US">City Area Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_LocalPhoneNumber_lbl" xml:lang="en-US">Local Phone Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Extension" xlink:label="dei_Extension" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Extension" xlink:to="dei_Extension_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Extension_lbl" xml:lang="en-US">Extension</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_WrittenCommunications" xlink:label="dei_WrittenCommunications" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_WrittenCommunications" xlink:to="dei_WrittenCommunications_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_WrittenCommunications_lbl" xml:lang="en-US">Written Communications</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SolicitingMaterial" xlink:label="dei_SolicitingMaterial" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SolicitingMaterial" xlink:to="dei_SolicitingMaterial_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SolicitingMaterial_lbl" xml:lang="en-US">Soliciting Material</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementTenderOffer" xlink:label="dei_PreCommencementTenderOffer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementTenderOffer" xlink:to="dei_PreCommencementTenderOffer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_PreCommencementTenderOffer_lbl" xml:lang="en-US">Pre-commencement Tender Offer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="dei_PreCommencementIssuerTenderOffer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementIssuerTenderOffer" xlink:to="dei_PreCommencementIssuerTenderOffer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_PreCommencementIssuerTenderOffer_lbl" xml:lang="en-US">Pre-commencement Issuer Tender Offer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12bTitle_lbl" xml:lang="en-US">Title of 12(b) Security</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_NoTradingSymbolFlag" xlink:label="dei_NoTradingSymbolFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_NoTradingSymbolFlag" xlink:to="dei_NoTradingSymbolFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_NoTradingSymbolFlag_lbl" xml:lang="en-US">No Trading Symbol Flag</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_TradingSymbol_lbl" xml:lang="en-US">Trading Symbol</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityExchangeName_lbl" xml:lang="en-US">Security Exchange Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12gTitle" xlink:label="dei_Security12gTitle" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12gTitle" xlink:to="dei_Security12gTitle_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12gTitle_lbl" xml:lang="en-US">Title of 12(g) Security</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityReportingObligation" xlink:label="dei_SecurityReportingObligation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityReportingObligation" xlink:to="dei_SecurityReportingObligation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityReportingObligation_lbl" xml:lang="en-US">Security Reporting Obligation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AnnualInformationForm" xlink:label="dei_AnnualInformationForm" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AnnualInformationForm" xlink:to="dei_AnnualInformationForm_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AnnualInformationForm_lbl" xml:lang="en-US">Annual Information Form</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditedAnnualFinancialStatements" xlink:label="dei_AuditedAnnualFinancialStatements" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditedAnnualFinancialStatements" xlink:to="dei_AuditedAnnualFinancialStatements_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditedAnnualFinancialStatements_lbl" xml:lang="en-US">Audited Annual Financial Statements</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityWellKnownSeasonedIssuer" xlink:to="dei_EntityWellKnownSeasonedIssuer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityWellKnownSeasonedIssuer_lbl" xml:lang="en-US">Entity Well-known Seasoned Issuer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityVoluntaryFilers" xlink:to="dei_EntityVoluntaryFilers_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityVoluntaryFilers_lbl" xml:lang="en-US">Entity Voluntary Filers</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCurrentReportingStatus_lbl" xml:lang="en-US">Entity Current Reporting Status</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityInteractiveDataCurrent_lbl" xml:lang="en-US">Entity Interactive Data Current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFilerCategory" xlink:to="dei_EntityFilerCategory_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFilerCategory_lbl" xml:lang="en-US">Entity Filer Category</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntitySmallBusiness" xlink:to="dei_EntitySmallBusiness_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntitySmallBusiness_lbl" xml:lang="en-US">Entity Small Business</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityEmergingGrowthCompany_lbl" xml:lang="en-US">Entity Emerging Growth Company</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityExTransitionPeriod" xlink:label="dei_EntityExTransitionPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityExTransitionPeriod" xlink:to="dei_EntityExTransitionPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityExTransitionPeriod_lbl" xml:lang="en-US">Elected Not To Use the Extended Transition Period</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAccountingStandard" xlink:label="dei_DocumentAccountingStandard" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAccountingStandard" xlink:to="dei_DocumentAccountingStandard_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentAccountingStandard_lbl" xml:lang="en-US">Document Accounting Standard</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_OtherReportingStandardItemNumber" xlink:label="dei_OtherReportingStandardItemNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_OtherReportingStandardItemNumber" xlink:to="dei_OtherReportingStandardItemNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_OtherReportingStandardItemNumber_lbl" xml:lang="en-US">Other Reporting Standard Item Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityShellCompany" xlink:to="dei_EntityShellCompany_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityShellCompany_lbl" xml:lang="en-US">Entity Shell Company</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPublicFloat" xlink:label="dei_EntityPublicFloat" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPublicFloat" xlink:to="dei_EntityPublicFloat_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityPublicFloat_lbl" xml:lang="en-US">Entity Public Float</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityBankruptcyProceedingsReportingCurrent" xlink:label="dei_EntityBankruptcyProceedingsReportingCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityBankruptcyProceedingsReportingCurrent" xlink:to="dei_EntityBankruptcyProceedingsReportingCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityBankruptcyProceedingsReportingCurrent_lbl" xml:lang="en-US">Entity Bankruptcy Proceedings, Reporting Current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCommonStockSharesOutstanding_lbl" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentsIncorporatedByReferenceTextBlock" xlink:to="dei_DocumentsIncorporatedByReferenceTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock_lbl" xml:lang="en-US">Documents Incorporated by Reference [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="dei_IcfrAuditorAttestationFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_IcfrAuditorAttestationFlag" xlink:to="dei_IcfrAuditorAttestationFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_IcfrAuditorAttestationFlag_lbl" xml:lang="en-US">ICFR Auditor Attestation Flag</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFinStmtErrorCorrectionFlag" xlink:label="dei_DocumentFinStmtErrorCorrectionFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFinStmtErrorCorrectionFlag" xlink:to="dei_DocumentFinStmtErrorCorrectionFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFinStmtErrorCorrectionFlag_lbl" xml:lang="en-US">Document Financial Statement Error Correction [Flag]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorName" xlink:label="dei_AuditorName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorName" xlink:to="dei_AuditorName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditorName_lbl" xml:lang="en-US">Auditor Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorFirmId" xlink:label="dei_AuditorFirmId" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorFirmId" xlink:to="dei_AuditorFirmId_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditorFirmId_lbl" xml:lang="en-US">Auditor Firm ID</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorLocation" xlink:label="dei_AuditorLocation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorLocation" xlink:to="dei_AuditorLocation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditorLocation_lbl" xml:lang="en-US">Auditor Location</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfFinancialPositionAbstract_lbl" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsAbstract_lbl" xml:lang="en-US">Assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xml:lang="en-US">Current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Cash" xlink:label="us-gaap_Cash" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Cash" xlink:to="us-gaap_Cash_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Cash_lbl" xml:lang="en-US">Cash</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepositsAssetsCurrent" xlink:label="us-gaap_DepositsAssetsCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepositsAssetsCurrent" xlink:to="us-gaap_DepositsAssetsCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepositsAssetsCurrent_lbl" xml:lang="en-US">Term deposits (Note 2)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xml:lang="en-US">Accounts receivable, net (Note 4)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryNet_lbl" xml:lang="en-US">Inventories (Note 5)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseCurrent" xlink:label="us-gaap_PrepaidExpenseCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseCurrent" xlink:to="us-gaap_PrepaidExpenseCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrepaidExpenseCurrent_lbl" xml:lang="en-US">Prepaid expenses and deposits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AssetsCurrent_lbl" xml:lang="en-US">Total current assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xml:lang="en-US">Property, equipment and leaseholds, net (Note 6)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xml:lang="en-US">Right of use assets (Note 3)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xml:lang="en-US">Intangible assets (Note 8)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepositsAssetsNoncurrent" xlink:label="us-gaap_DepositsAssetsNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepositsAssetsNoncurrent" xlink:to="us-gaap_DepositsAssetsNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepositsAssetsNoncurrent_lbl" xml:lang="en-US">Long term deposits (Note 9)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestments" xlink:label="us-gaap_EquityMethodInvestments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestments" xlink:to="us-gaap_EquityMethodInvestments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestments_lbl" xml:lang="en-US">Investments (Note 10)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Goodwill" xlink:to="us-gaap_Goodwill_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Goodwill_lbl" xml:lang="en-US">Goodwill (Note 8)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxAssetsNet" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xml:lang="en-US">Deferred tax asset (Note 13)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Assets_lbl" xml:lang="en-US">Total Assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAbstract" xlink:label="us-gaap_LiabilitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAbstract" xlink:to="us-gaap_LiabilitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAbstract_lbl" xml:lang="en-US">Liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xml:lang="en-US">Current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableCurrent" xlink:to="us-gaap_AccountsPayableCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableCurrent_lbl" xml:lang="en-US">Accounts payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedLiabilitiesCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedLiabilitiesCurrent_lbl" xml:lang="en-US">Accrued liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenueCurrent" xlink:label="us-gaap_DeferredRevenueCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenueCurrent" xlink:to="us-gaap_DeferredRevenueCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredRevenueCurrent_lbl" xml:lang="en-US">Deferred revenue</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxesPayableCurrent" xlink:label="us-gaap_TaxesPayableCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TaxesPayableCurrent" xlink:to="us-gaap_TaxesPayableCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TaxesPayableCurrent_lbl" xml:lang="en-US">Income taxes payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="us-gaap_LinesOfCreditCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LinesOfCreditCurrent" xlink:to="us-gaap_LinesOfCreditCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LinesOfCreditCurrent_lbl" xml:lang="en-US">Short term line of credit (Note 11)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xml:lang="en-US">Current portion of lease liability (Note 3)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtCurrent" xlink:to="us-gaap_LongTermDebtCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtCurrent_lbl" xml:lang="en-US">Current portion of long term debt (Note 12)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xml:lang="en-US">Total current liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US">Lease liability (Note 3)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xml:lang="en-US">Deferred income tax liability (Note 13)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtNoncurrent" xlink:to="us-gaap_LongTermDebtNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtNoncurrent_lbl" xml:lang="en-US">Long term debt (Note 12)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Liabilities_lbl" xml:lang="en-US">Total Liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityAbstract_lbl" xml:lang="en-US">Stockholders&#8217; Equity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockValue" xlink:to="us-gaap_CommonStockValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockValue_lbl" xml:lang="en-US">Common stock, value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="us-gaap_AdditionalPaidInCapital" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapital" xlink:to="us-gaap_AdditionalPaidInCapital_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapital_lbl" xml:lang="en-US">Capital in excess of par value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xml:lang="en-US">Other comprehensive loss</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xml:lang="en-US">Accumulated earnings</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US">Total stockholders&#8217; equity &#8211; controlling interest</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterest" xlink:label="us-gaap_MinorityInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterest" xlink:to="us-gaap_MinorityInterest_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterest_lbl" xml:lang="en-US">Non-controlling interests (Note 17)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Total Stockholders&#8217; Equity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xml:lang="en-US">Total Liabilities and Stockholders&#8217; Equity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesAuthorized_lbl" xml:lang="en-US">Common stock, shares authorized</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xml:lang="en-US">Common stock, par value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesAuthorized" xlink:to="us-gaap_PreferredStockSharesAuthorized_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockSharesAuthorized_lbl" xml:lang="en-US">Preferred stock, shares authorized</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockParOrStatedValuePerShare" xlink:to="us-gaap_PreferredStockParOrStatedValuePerShare_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare_lbl" xml:lang="en-US">Preferred stock, par value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xml:lang="en-US">Common stock, shares issued</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xml:lang="en-US">Common stock, shares outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeStatementAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementAbstract_lbl" xml:lang="en-US">Income Statement [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xml:lang="en-US">Sales</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfGoodsAndServicesSold" xlink:to="us-gaap_CostOfGoodsAndServicesSold_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostOfGoodsAndServicesSold_lbl" xml:lang="en-US">Cost of sales (Note 6, 7 &amp; 8)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_GrossProfit_lbl" xml:lang="en-US">Gross profit</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="us-gaap_OperatingExpensesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OperatingExpensesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingExpensesAbstract_lbl" xml:lang="en-US">Operating expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalariesAndWages" xlink:label="us-gaap_SalariesAndWages" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalariesAndWages" xlink:to="us-gaap_SalariesAndWages_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SalariesAndWages_lbl" xml:lang="en-US">Wages</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OfficersCompensation" xlink:label="us-gaap_OfficersCompensation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OfficersCompensation" xlink:to="us-gaap_OfficersCompensation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OfficersCompensation_lbl" xml:lang="en-US">Administrative salaries and benefits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralInsuranceExpense" xlink:label="us-gaap_GeneralInsuranceExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeneralInsuranceExpense" xlink:to="us-gaap_GeneralInsuranceExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GeneralInsuranceExpense_lbl" xml:lang="en-US">Insurance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherGeneralExpense" xlink:label="us-gaap_OtherGeneralExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherGeneralExpense" xlink:to="us-gaap_OtherGeneralExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherGeneralExpense_lbl" xml:lang="en-US">Office and miscellaneous</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpense" xlink:to="us-gaap_InterestExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestExpense_lbl" xml:lang="en-US">Interest expense</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_Consulting" xlink:label="FSI_Consulting" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_Consulting" xlink:to="FSI_Consulting_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_Consulting_lbl" xml:lang="en-US">Consulting</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TravelAndEntertainmentExpense" xlink:label="us-gaap_TravelAndEntertainmentExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TravelAndEntertainmentExpense" xlink:to="us-gaap_TravelAndEntertainmentExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TravelAndEntertainmentExpense_lbl" xml:lang="en-US">Travel</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfessionalFees" xlink:label="us-gaap_ProfessionalFees" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfessionalFees" xlink:to="us-gaap_ProfessionalFees_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProfessionalFees_lbl" xml:lang="en-US">Professional fees</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_InvestorRelationsAndTransferAgentFee" xlink:label="FSI_InvestorRelationsAndTransferAgentFee" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_InvestorRelationsAndTransferAgentFee" xlink:to="FSI_InvestorRelationsAndTransferAgentFee_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_InvestorRelationsAndTransferAgentFee_lbl" xml:lang="en-US">Investor relations and transfer agent fee</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="us-gaap_SellingAndMarketingExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingAndMarketingExpense" xlink:to="us-gaap_SellingAndMarketingExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SellingAndMarketingExpense_lbl" xml:lang="en-US">Advertising and promotion</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpense" xlink:to="us-gaap_ResearchAndDevelopmentExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ResearchAndDevelopmentExpense_lbl" xml:lang="en-US">Research</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseExpense" xlink:label="us-gaap_OperatingLeaseExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseExpense" xlink:to="us-gaap_OperatingLeaseExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseExpense_lbl" xml:lang="en-US">Lease expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommunicationsAndInformationTechnology" xlink:label="us-gaap_CommunicationsAndInformationTechnology" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommunicationsAndInformationTechnology" xlink:to="us-gaap_CommunicationsAndInformationTechnology_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommunicationsAndInformationTechnology_lbl" xml:lang="en-US">Telecommunications</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_Commissions" xlink:label="FSI_Commissions" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_Commissions" xlink:to="FSI_Commissions_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_Commissions_lbl" xml:lang="en-US">Commissions</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UtilitiesOperatingExpense" xlink:label="us-gaap_UtilitiesOperatingExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UtilitiesOperatingExpense" xlink:to="us-gaap_UtilitiesOperatingExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UtilitiesOperatingExpense_lbl" xml:lang="en-US">Utilities</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ShippingCost" xlink:label="FSI_ShippingCost" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ShippingCost" xlink:to="FSI_ShippingCost_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ShippingCost_lbl" xml:lang="en-US">Shipping</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl" xml:lang="en-US">Currency exchange</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProvisionForDoubtfulAccounts" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_lbl" xml:lang="en-US">Bad debt expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_OperatingExpenses_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingExpenses_lbl" xml:lang="en-US">Total operating expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US">Operating income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnDispositionOfAssets1" xlink:label="us-gaap_GainLossOnDispositionOfAssets1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnDispositionOfAssets1" xlink:to="us-gaap_GainLossOnDispositionOfAssets1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnDispositionOfAssets1_lbl" xml:lang="en-US">Gain on sale of asset (Note 6)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnInvestments" xlink:label="us-gaap_GainLossOnInvestments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnInvestments" xlink:to="us-gaap_GainLossOnInvestments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnInvestments_lbl" xml:lang="en-US">Gain on investments (Note 10)</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_GainOnPreviouslyHeldEquityInterest" xlink:label="FSI_GainOnPreviouslyHeldEquityInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_GainOnPreviouslyHeldEquityInterest" xlink:to="FSI_GainOnPreviouslyHeldEquityInterest_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_GainOnPreviouslyHeldEquityInterest_lbl" xml:lang="en-US">Gain on previously held equity interest (Note 10)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeOther" xlink:label="us-gaap_InterestIncomeOther" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestIncomeOther" xlink:to="us-gaap_InterestIncomeOther_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestIncomeOther_lbl" xml:lang="en-US">Interest income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xml:lang="en-US">Income before income tax</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxesAndTaxCreditsAbstract" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCreditsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxesAndTaxCreditsAbstract" xlink:to="us-gaap_DeferredIncomeTaxesAndTaxCreditsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCreditsAbstract_lbl" xml:lang="en-US">Income taxes (Note 13)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Deferred income tax recovery</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Current income tax expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfitLoss" xlink:to="us-gaap_ProfitLoss_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US">Net income for the year</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Net income attributable to non-controlling interests</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetIncomeLoss_lbl" xml:lang="en-US">Net income attributable to controlling interest</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US">Income per share (basic) (Note 14)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xml:lang="en-US">Income per share (diluted) (Note 14)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US">Weighted average number of common shares (basic)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US">Weighted average number of common shares (diluted)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_lbl" xml:lang="en-US">Other comprehensive 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_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProfitLoss_2_lbl" xml:lang="en-US">Net income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" xml:lang="en-US">Unrealized gain (loss) on foreign currency transactions</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Total comprehensive income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Comprehensive income &#8211; non-controlling interest</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xml:lang="en-US">Comprehensive income attributable to controlling interests</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfCashFlowsAbstract_lbl" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Operating activities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfitLoss" xlink:to="us-gaap_ProfitLoss_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ProfitLoss_3_lbl" xml:lang="en-US">Net income for the year</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Adjustments to reconcile net income to net cash:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensation_lbl" xml:lang="en-US">Stock based compensation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationAndAmortization" xlink:label="us-gaap_DepreciationAndAmortization" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationAndAmortization" xlink:to="us-gaap_DepreciationAndAmortization_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepreciationAndAmortization_lbl" xml:lang="en-US">Depreciation and amortization</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_LeaseRightOfUseFinancing" xlink:label="FSI_LeaseRightOfUseFinancing" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LeaseRightOfUseFinancing" xlink:to="FSI_LeaseRightOfUseFinancing_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_LeaseRightOfUseFinancing_lbl" xml:lang="en-US">Lease right of use financing</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetAmortization_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization_lbl" xml:lang="en-US">Lease right of use amortization</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnInvestments" xlink:to="us-gaap_GainLossOnInvestments_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GainLossOnInvestments_2_lbl" xml:lang="en-US">Gain on investments</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl" xml:lang="en-US">Gain on sale of asset</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_2_lbl" xml:lang="en-US">Deferred income tax recovery</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_GainOnAcquisitionOfSubsidiary" xlink:label="FSI_GainOnAcquisitionOfSubsidiary" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_GainOnAcquisitionOfSubsidiary" xlink:to="FSI_GainOnAcquisitionOfSubsidiary_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="FSI_GainOnAcquisitionOfSubsidiary_lbl" xml:lang="en-US">Gain on acquisition of ENP Peru, LLC</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xml:lang="en-US">Changes in non-cash working capital items:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xml:lang="en-US">Increase in accounts receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl" xml:lang="en-US">Decrease (increase) in inventories</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:label="us-gaap_IncreaseDecreaseInPrepaidExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:to="us-gaap_IncreaseDecreaseInPrepaidExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInPrepaidExpense_lbl" xml:lang="en-US">Decrease (increase) in prepaid expenses and deposits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_lbl" xml:lang="en-US">Increase (decrease) in accounts payable and accrued liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:to="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_lbl" xml:lang="en-US">Decrease in income taxes payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xml:lang="en-US">(Decrease) increase in deferred revenue</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xml:lang="en-US">Cash provided by operating activities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xml:lang="en-US">Investing activities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireInvestments" xlink:label="us-gaap_PaymentsToAcquireInvestments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireInvestments" xlink:to="us-gaap_PaymentsToAcquireInvestments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquireInvestments_lbl" xml:lang="en-US">Purchase of investments</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ProceedsFromRedemptionOfInvestments" xlink:label="FSI_ProceedsFromRedemptionOfInvestments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ProceedsFromRedemptionOfInvestments" xlink:to="FSI_ProceedsFromRedemptionOfInvestments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ProceedsFromRedemptionOfInvestments_lbl" xml:lang="en-US">Redemption of investments</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfEquityMethodInvestments" xlink:label="us-gaap_ProceedsFromSaleOfEquityMethodInvestments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleOfEquityMethodInvestments" xlink:to="us-gaap_ProceedsFromSaleOfEquityMethodInvestments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromSaleOfEquityMethodInvestments_lbl" xml:lang="en-US">Distributions received from equity investments</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ProceedsFromNoncontrollingInterestOfMendota" xlink:label="FSI_ProceedsFromNoncontrollingInterestOfMendota" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ProceedsFromNoncontrollingInterestOfMendota" xlink:to="FSI_ProceedsFromNoncontrollingInterestOfMendota_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ProceedsFromNoncontrollingInterestOfMendota_lbl" xml:lang="en-US">Non-controlling interest of 317 Mendota</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_PaymentsToAcquireLongTermDeposits" xlink:label="FSI_PaymentsToAcquireLongTermDeposits" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_PaymentsToAcquireLongTermDeposits" xlink:to="FSI_PaymentsToAcquireLongTermDeposits_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="FSI_PaymentsToAcquireLongTermDeposits_lbl" xml:lang="en-US">Long term deposits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfProductiveAssets" xlink:label="us-gaap_ProceedsFromSaleOfProductiveAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleOfProductiveAssets" xlink:to="us-gaap_ProceedsFromSaleOfProductiveAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromSaleOfProductiveAssets_lbl" xml:lang="en-US">Proceeds from sale of asset</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xml:lang="en-US">Purchase of property and equipment</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_lbl" xml:lang="en-US">Acquisition of ENP Peru, LLC</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xml:lang="en-US">Cash used in investing activities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xml:lang="en-US">Financing activities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromRepaymentsOfLinesOfCredit" xlink:label="us-gaap_ProceedsFromRepaymentsOfLinesOfCredit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromRepaymentsOfLinesOfCredit" xlink:to="us-gaap_ProceedsFromRepaymentsOfLinesOfCredit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromRepaymentsOfLinesOfCredit_lbl" xml:lang="en-US">(Repayment) advance of short term line of credit</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfLongTermDebt" xlink:to="us-gaap_RepaymentsOfLongTermDebt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_RepaymentsOfLongTermDebt_lbl" xml:lang="en-US">Repayment of long term debt</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:label="us-gaap_ProceedsFromIssuanceOfLongTermDebt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:to="us-gaap_ProceedsFromIssuanceOfLongTermDebt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromIssuanceOfLongTermDebt_lbl" xml:lang="en-US">Proceeds of long term debt</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfFinancingCosts" xlink:label="us-gaap_PaymentsOfFinancingCosts" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfFinancingCosts" xlink:to="us-gaap_PaymentsOfFinancingCosts_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsOfFinancingCosts_lbl" xml:lang="en-US">Lease payments</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfDividends" xlink:label="us-gaap_PaymentsOfDividends" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfDividends" xlink:to="us-gaap_PaymentsOfDividends_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsOfDividends_lbl" xml:lang="en-US">Dividends paid</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToMinorityShareholders" xlink:label="us-gaap_PaymentsToMinorityShareholders" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToMinorityShareholders" xlink:to="us-gaap_PaymentsToMinorityShareholders_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToMinorityShareholders_lbl" xml:lang="en-US">Distribution to non-controlling interest</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl" xml:lang="en-US">Common stock issued</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xml:lang="en-US">Cash provided by (used in) financing activities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xml:lang="en-US">Effect of exchange rate changes on cash</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xml:lang="en-US">Inflow of cash</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xml:lang="en-US">Cash resources, beginning</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_2_lbl" xml:lang="en-US">Cash resources</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_lbl" xml:lang="en-US">Cash resources are comprised of:</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Cash" xlink:to="us-gaap_Cash_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_Cash_2_lbl" xml:lang="en-US">Cash</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermInvestments" xlink:label="us-gaap_ShortTermInvestments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermInvestments" xlink:to="us-gaap_ShortTermInvestments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShortTermInvestments_lbl" xml:lang="en-US">Term deposits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xml:lang="en-US">Supplemental disclosure of cash flow information:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxesPaidNet" xlink:to="us-gaap_IncomeTaxesPaidNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxesPaidNet_lbl" xml:lang="en-US">Income taxes paid</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestPaidNet" xlink:to="us-gaap_InterestPaidNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestPaidNet_lbl" xml:lang="en-US">Interest paid</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementTable_lbl" xml:lang="en-US">Statement [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementLineItems_lbl" 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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_2_lbl" xml:lang="en-US">Balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesOutstanding" xlink:to="us-gaap_SharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_SharesOutstanding_lbl" xml:lang="en-US">Balance, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_lbl" xml:lang="en-US">Translation adjustment</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:to="us-gaap_StockIssuedDuringPeriodValueNewIssues_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues_lbl" xml:lang="en-US">Common stock issued</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl" xml:lang="en-US">Common stock issued, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:label="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:to="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_lbl" xml:lang="en-US">Distributions to noncontrolling interests</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xml:lang="en-US">Stock-based compensation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Dividends" xlink:label="us-gaap_Dividends" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Dividends" xlink:to="us-gaap_Dividends_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_Dividends_lbl" xml:lang="en-US">Dividends paid</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestIncreaseFromBusinessCombination" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromBusinessCombination" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncontrollingInterestIncreaseFromBusinessCombination" xlink:to="us-gaap_NoncontrollingInterestIncreaseFromBusinessCombination_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromBusinessCombination_lbl" xml:lang="en-US">Non-controlling interest of 317 Mendota LLC</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_3_lbl" xml:lang="en-US">Balance</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesOutstanding" xlink:to="us-gaap_SharesOutstanding_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_SharesOutstanding_2_lbl" xml:lang="en-US">Balance, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PvpTable" xlink:label="ecd_PvpTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_PvpTable" xlink:to="ecd_PvpTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_PvpTable_lbl" xml:lang="en-US">Pay vs Performance Disclosure [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ExecutiveCategoryAxis" xlink:label="ecd_ExecutiveCategoryAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ExecutiveCategoryAxis" xlink:to="ecd_ExecutiveCategoryAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ExecutiveCategoryAxis_lbl" xml:lang="en-US">Executive Category [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_IndividualAxis" xlink:label="ecd_IndividualAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_IndividualAxis" xlink:to="ecd_IndividualAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_IndividualAxis_lbl" xml:lang="en-US">Individual [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AdjToCompAxis" xlink:label="ecd_AdjToCompAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AdjToCompAxis" xlink:to="ecd_AdjToCompAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AdjToCompAxis_lbl" xml:lang="en-US">Adjustment to Compensation [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_MeasureAxis" xlink:label="ecd_MeasureAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_MeasureAxis" xlink:to="ecd_MeasureAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_MeasureAxis_lbl" xml:lang="en-US">Measure [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PvpTableTextBlock" xlink:label="ecd_PvpTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_PvpTableTextBlock" xlink:to="ecd_PvpTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_PvpTableTextBlock_lbl" xml:lang="en-US">Pay vs Performance [Table Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CoSelectedMeasureName" xlink:label="ecd_CoSelectedMeasureName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_CoSelectedMeasureName" xlink:to="ecd_CoSelectedMeasureName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_CoSelectedMeasureName_lbl" xml:lang="en-US">Company Selected Measure Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NamedExecutiveOfficersFnTextBlock" xlink:label="ecd_NamedExecutiveOfficersFnTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_NamedExecutiveOfficersFnTextBlock" xlink:to="ecd_NamedExecutiveOfficersFnTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_NamedExecutiveOfficersFnTextBlock_lbl" xml:lang="en-US">Named Executive Officers, Footnote [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeerGroupIssuersFnTextBlock" xlink:label="ecd_PeerGroupIssuersFnTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_PeerGroupIssuersFnTextBlock" xlink:to="ecd_PeerGroupIssuersFnTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_PeerGroupIssuersFnTextBlock_lbl" xml:lang="en-US">Peer Group Issuers, Footnote [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ChangedPeerGroupFnTextBlock" xlink:label="ecd_ChangedPeerGroupFnTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ChangedPeerGroupFnTextBlock" xlink:to="ecd_ChangedPeerGroupFnTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ChangedPeerGroupFnTextBlock_lbl" xml:lang="en-US">Changed Peer Group, Footnote [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeoTotalCompAmt" xlink:label="ecd_PeoTotalCompAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_PeoTotalCompAmt" xlink:to="ecd_PeoTotalCompAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_PeoTotalCompAmt_lbl" xml:lang="en-US">PEO Total Compensation Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeoActuallyPaidCompAmt" xlink:label="ecd_PeoActuallyPaidCompAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_PeoActuallyPaidCompAmt" xlink:to="ecd_PeoActuallyPaidCompAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_PeoActuallyPaidCompAmt_lbl" xml:lang="en-US">PEO Actually Paid Compensation Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AdjToPeoCompFnTextBlock" xlink:label="ecd_AdjToPeoCompFnTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AdjToPeoCompFnTextBlock" xlink:to="ecd_AdjToPeoCompFnTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AdjToPeoCompFnTextBlock_lbl" xml:lang="en-US">Adjustment To PEO Compensation, Footnote [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonPeoNeoAvgTotalCompAmt" xlink:label="ecd_NonPeoNeoAvgTotalCompAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_NonPeoNeoAvgTotalCompAmt" xlink:to="ecd_NonPeoNeoAvgTotalCompAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_NonPeoNeoAvgTotalCompAmt_lbl" xml:lang="en-US">Non-PEO NEO Average Total Compensation Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonPeoNeoAvgCompActuallyPaidAmt" xlink:label="ecd_NonPeoNeoAvgCompActuallyPaidAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_NonPeoNeoAvgCompActuallyPaidAmt" xlink:to="ecd_NonPeoNeoAvgCompActuallyPaidAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_NonPeoNeoAvgCompActuallyPaidAmt_lbl" xml:lang="en-US">Non-PEO NEO Average Compensation Actually Paid Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AdjToNonPeoNeoCompFnTextBlock" xlink:label="ecd_AdjToNonPeoNeoCompFnTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AdjToNonPeoNeoCompFnTextBlock" xlink:to="ecd_AdjToNonPeoNeoCompFnTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AdjToNonPeoNeoCompFnTextBlock_lbl" xml:lang="en-US">Adjustment to Non-PEO NEO Compensation Footnote [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_EquityValuationAssumptionDifferenceFnTextBlock" xlink:label="ecd_EquityValuationAssumptionDifferenceFnTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_EquityValuationAssumptionDifferenceFnTextBlock" xlink:to="ecd_EquityValuationAssumptionDifferenceFnTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_EquityValuationAssumptionDifferenceFnTextBlock_lbl" xml:lang="en-US">Equity Valuation Assumption Difference, Footnote [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:label="ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:to="ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock_lbl" xml:lang="en-US">Compensation Actually Paid vs. Total Shareholder Return [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CompActuallyPaidVsNetIncomeTextBlock" xlink:label="ecd_CompActuallyPaidVsNetIncomeTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_CompActuallyPaidVsNetIncomeTextBlock" xlink:to="ecd_CompActuallyPaidVsNetIncomeTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_CompActuallyPaidVsNetIncomeTextBlock_lbl" xml:lang="en-US">Compensation Actually Paid vs. Net Income [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:label="ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:to="ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock_lbl" xml:lang="en-US">Compensation Actually Paid vs. Company Selected Measure [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TotalShareholderRtnVsPeerGroupTextBlock" xlink:label="ecd_TotalShareholderRtnVsPeerGroupTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TotalShareholderRtnVsPeerGroupTextBlock" xlink:to="ecd_TotalShareholderRtnVsPeerGroupTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TotalShareholderRtnVsPeerGroupTextBlock_lbl" xml:lang="en-US">Total Shareholder Return Vs Peer Group [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CompActuallyPaidVsOtherMeasureTextBlock" xlink:label="ecd_CompActuallyPaidVsOtherMeasureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_CompActuallyPaidVsOtherMeasureTextBlock" xlink:to="ecd_CompActuallyPaidVsOtherMeasureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_CompActuallyPaidVsOtherMeasureTextBlock_lbl" xml:lang="en-US">Compensation Actually Paid vs. Other Measure [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TabularListTableTextBlock" xlink:label="ecd_TabularListTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TabularListTableTextBlock" xlink:to="ecd_TabularListTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TabularListTableTextBlock_lbl" xml:lang="en-US">Tabular List [Table Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TotalShareholderRtnAmt" xlink:label="ecd_TotalShareholderRtnAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TotalShareholderRtnAmt" xlink:to="ecd_TotalShareholderRtnAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TotalShareholderRtnAmt_lbl" xml:lang="en-US">Total Shareholder Return Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeerGroupTotalShareholderRtnAmt" xlink:label="ecd_PeerGroupTotalShareholderRtnAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_PeerGroupTotalShareholderRtnAmt" xlink:to="ecd_PeerGroupTotalShareholderRtnAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_PeerGroupTotalShareholderRtnAmt_lbl" xml:lang="en-US">Peer Group Total Shareholder Return Amount</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLoss_2_lbl" xml:lang="en-US">Net Income (Loss) Attributable to Parent</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CoSelectedMeasureAmt" xlink:label="ecd_CoSelectedMeasureAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_CoSelectedMeasureAmt" xlink:to="ecd_CoSelectedMeasureAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_CoSelectedMeasureAmt_lbl" xml:lang="en-US">Company Selected Measure Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_OtherPerfMeasureAmt" xlink:label="ecd_OtherPerfMeasureAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_OtherPerfMeasureAmt" xlink:to="ecd_OtherPerfMeasureAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_OtherPerfMeasureAmt_lbl" xml:lang="en-US">Other Performance Measure Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AdjToCompAmt" xlink:label="ecd_AdjToCompAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AdjToCompAmt" xlink:to="ecd_AdjToCompAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AdjToCompAmt_lbl" xml:lang="en-US">Adjustment to Compensation Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeoName" xlink:label="ecd_PeoName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_PeoName" xlink:to="ecd_PeoName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_PeoName_lbl" xml:lang="en-US">PEO Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_MeasureName" xlink:label="ecd_MeasureName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_MeasureName" xlink:to="ecd_MeasureName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_MeasureName_lbl" xml:lang="en-US">Measure Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonGaapMeasureDescriptionTextBlock" xlink:label="ecd_NonGaapMeasureDescriptionTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_NonGaapMeasureDescriptionTextBlock" xlink:to="ecd_NonGaapMeasureDescriptionTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_NonGaapMeasureDescriptionTextBlock_lbl" xml:lang="en-US">Non-GAAP Measure Description [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Additional402vDisclosureTextBlock" xlink:label="ecd_Additional402vDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_Additional402vDisclosureTextBlock" xlink:to="ecd_Additional402vDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_Additional402vDisclosureTextBlock_lbl" xml:lang="en-US">Additional 402(v) Disclosure [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ErrCompRecoveryTable" xlink:label="ecd_ErrCompRecoveryTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ErrCompRecoveryTable" xlink:to="ecd_ErrCompRecoveryTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ErrCompRecoveryTable_lbl" xml:lang="en-US">Erroneously Awarded Compensation Recovery [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_RestatementDateAxis" xlink:label="ecd_RestatementDateAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_RestatementDateAxis" xlink:to="ecd_RestatementDateAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_RestatementDateAxis_lbl" xml:lang="en-US">Restatement Determination Date [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_RestatementDeterminationDate" xlink:label="ecd_RestatementDeterminationDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_RestatementDeterminationDate" xlink:to="ecd_RestatementDeterminationDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_RestatementDeterminationDate_lbl" xml:lang="en-US">Restatement Determination Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AggtErrCompAmt" xlink:label="ecd_AggtErrCompAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AggtErrCompAmt" xlink:to="ecd_AggtErrCompAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AggtErrCompAmt_lbl" xml:lang="en-US">Aggregate Erroneous Compensation Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ErrCompAnalysisTextBlock" xlink:label="ecd_ErrCompAnalysisTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ErrCompAnalysisTextBlock" xlink:to="ecd_ErrCompAnalysisTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ErrCompAnalysisTextBlock_lbl" xml:lang="en-US">Erroneous Compensation Analysis [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_StkPrcOrTsrEstimationMethodTextBlock" xlink:label="ecd_StkPrcOrTsrEstimationMethodTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_StkPrcOrTsrEstimationMethodTextBlock" xlink:to="ecd_StkPrcOrTsrEstimationMethodTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_StkPrcOrTsrEstimationMethodTextBlock_lbl" xml:lang="en-US">Stock Price or TSR Estimation Method [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_OutstandingAggtErrCompAmt" xlink:label="ecd_OutstandingAggtErrCompAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_OutstandingAggtErrCompAmt" xlink:to="ecd_OutstandingAggtErrCompAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_OutstandingAggtErrCompAmt_lbl" xml:lang="en-US">Outstanding Aggregate Erroneous Compensation Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AggtErrCompNotYetDeterminedTextBlock" xlink:label="ecd_AggtErrCompNotYetDeterminedTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AggtErrCompNotYetDeterminedTextBlock" xlink:to="ecd_AggtErrCompNotYetDeterminedTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AggtErrCompNotYetDeterminedTextBlock_lbl" xml:lang="en-US">Aggregate Erroneous Compensation Not Yet Determined [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryIndName" xlink:label="ecd_ForgoneRecoveryIndName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ForgoneRecoveryIndName" xlink:to="ecd_ForgoneRecoveryIndName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ForgoneRecoveryIndName_lbl" xml:lang="en-US">Forgone Recovery, Individual Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:label="ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:to="ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt_lbl" xml:lang="en-US">Forgone Recovery due to Expense of Enforcement, Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:label="ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:to="ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt_lbl" xml:lang="en-US">Forgone Recovery due to Violation of Home Country Law, Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:label="ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:to="ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt_lbl" xml:lang="en-US">Forgone Recovery due to Disqualification of Tax Benefits, Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:label="ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:to="ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock_lbl" xml:lang="en-US">Forgone Recovery, Explanation of Impracticability [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_OutstandingRecoveryIndName" xlink:label="ecd_OutstandingRecoveryIndName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_OutstandingRecoveryIndName" xlink:to="ecd_OutstandingRecoveryIndName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_OutstandingRecoveryIndName_lbl" xml:lang="en-US">Outstanding Recovery, Individual Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_OutstandingRecoveryCompAmt" xlink:label="ecd_OutstandingRecoveryCompAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_OutstandingRecoveryCompAmt" xlink:to="ecd_OutstandingRecoveryCompAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_OutstandingRecoveryCompAmt_lbl" xml:lang="en-US">Outstanding Recovery Compensation Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_RestatementDoesNotRequireRecoveryTextBlock" xlink:label="ecd_RestatementDoesNotRequireRecoveryTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_RestatementDoesNotRequireRecoveryTextBlock" xlink:to="ecd_RestatementDoesNotRequireRecoveryTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_RestatementDoesNotRequireRecoveryTextBlock_lbl" xml:lang="en-US">Restatement Does Not Require Recovery [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardsCloseToMnpiDiscTable" xlink:label="ecd_AwardsCloseToMnpiDiscTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardsCloseToMnpiDiscTable" xlink:to="ecd_AwardsCloseToMnpiDiscTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardsCloseToMnpiDiscTable_lbl" xml:lang="en-US">Awards Close in Time to MNPI Disclosures [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgMnpiDiscTextBlock" xlink:label="ecd_AwardTmgMnpiDiscTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardTmgMnpiDiscTextBlock" xlink:to="ecd_AwardTmgMnpiDiscTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardTmgMnpiDiscTextBlock_lbl" xml:lang="en-US">Award Timing MNPI Disclosure [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgMethodTextBlock" xlink:label="ecd_AwardTmgMethodTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardTmgMethodTextBlock" xlink:to="ecd_AwardTmgMethodTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardTmgMethodTextBlock_lbl" xml:lang="en-US">Award Timing Method [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgPredtrmndFlag" xlink:label="ecd_AwardTmgPredtrmndFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardTmgPredtrmndFlag" xlink:to="ecd_AwardTmgPredtrmndFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardTmgPredtrmndFlag_lbl" xml:lang="en-US">Award Timing Predetermined [Flag]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgMnpiCnsdrdFlag" xlink:label="ecd_AwardTmgMnpiCnsdrdFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardTmgMnpiCnsdrdFlag" xlink:to="ecd_AwardTmgMnpiCnsdrdFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardTmgMnpiCnsdrdFlag_lbl" xml:lang="en-US">Award Timing MNPI Considered [Flag]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgHowMnpiCnsdrdTextBlock" xlink:label="ecd_AwardTmgHowMnpiCnsdrdTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardTmgHowMnpiCnsdrdTextBlock" xlink:to="ecd_AwardTmgHowMnpiCnsdrdTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardTmgHowMnpiCnsdrdTextBlock_lbl" xml:lang="en-US">Award Timing, How MNPI Considered [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_MnpiDiscTimedForCompValFlag" xlink:label="ecd_MnpiDiscTimedForCompValFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_MnpiDiscTimedForCompValFlag" xlink:to="ecd_MnpiDiscTimedForCompValFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_MnpiDiscTimedForCompValFlag_lbl" xml:lang="en-US">MNPI Disclosure Timed for Compensation Value [Flag]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardsCloseToMnpiDiscTableTextBlock" xlink:label="ecd_AwardsCloseToMnpiDiscTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardsCloseToMnpiDiscTableTextBlock" xlink:to="ecd_AwardsCloseToMnpiDiscTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardsCloseToMnpiDiscTableTextBlock_lbl" xml:lang="en-US">Awards Close in Time to MNPI Disclosures [Table Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardsCloseToMnpiDiscIndName" xlink:label="ecd_AwardsCloseToMnpiDiscIndName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardsCloseToMnpiDiscIndName" xlink:to="ecd_AwardsCloseToMnpiDiscIndName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardsCloseToMnpiDiscIndName_lbl" xml:lang="en-US">Awards Close in Time to MNPI Disclosures, Individual Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardUndrlygSecuritiesAmt" xlink:label="ecd_AwardUndrlygSecuritiesAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardUndrlygSecuritiesAmt" xlink:to="ecd_AwardUndrlygSecuritiesAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardUndrlygSecuritiesAmt_lbl" xml:lang="en-US">Award Underlying Securities Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardExrcPrice" xlink:label="ecd_AwardExrcPrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardExrcPrice" xlink:to="ecd_AwardExrcPrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardExrcPrice_lbl" xml:lang="en-US">Award Exercise Price</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardGrantDateFairValue" xlink:label="ecd_AwardGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardGrantDateFairValue" xlink:to="ecd_AwardGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardGrantDateFairValue_lbl" xml:lang="en-US">Award Grant Date Fair Value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_UndrlygSecurityMktPriceChngPct" xlink:label="ecd_UndrlygSecurityMktPriceChngPct" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_UndrlygSecurityMktPriceChngPct" xlink:to="ecd_UndrlygSecurityMktPriceChngPct_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_UndrlygSecurityMktPriceChngPct_lbl" xml:lang="en-US">Underlying Security Market Price Change, Percent</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTradingArrLineItems" xlink:label="ecd_InsiderTradingArrLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_InsiderTradingArrLineItems" xlink:to="ecd_InsiderTradingArrLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_InsiderTradingArrLineItems_lbl" xml:lang="en-US">Insider Trading Arrangements [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_MtrlTermsOfTrdArrTextBlock" xlink:label="ecd_MtrlTermsOfTrdArrTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_MtrlTermsOfTrdArrTextBlock" xlink:to="ecd_MtrlTermsOfTrdArrTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_MtrlTermsOfTrdArrTextBlock_lbl" xml:lang="en-US">Material Terms of Trading Arrangement</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrIndName" xlink:label="ecd_TrdArrIndName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TrdArrIndName" xlink:to="ecd_TrdArrIndName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TrdArrIndName_lbl" xml:lang="en-US">Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrIndTitle" xlink:label="ecd_TrdArrIndTitle" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TrdArrIndTitle" xlink:to="ecd_TrdArrIndTitle_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TrdArrIndTitle_lbl" xml:lang="en-US">Title</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Rule10b51ArrAdoptedFlag" xlink:label="ecd_Rule10b51ArrAdoptedFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_Rule10b51ArrAdoptedFlag" xlink:to="ecd_Rule10b51ArrAdoptedFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_Rule10b51ArrAdoptedFlag_lbl" xml:lang="en-US">Rule 10b5-1 Arrangement Adopted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonRule10b51ArrAdoptedFlag" xlink:label="ecd_NonRule10b51ArrAdoptedFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_NonRule10b51ArrAdoptedFlag" xlink:to="ecd_NonRule10b51ArrAdoptedFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_NonRule10b51ArrAdoptedFlag_lbl" xml:lang="en-US">Non-Rule 10b5-1 Arrangement Adopted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrAdoptionDate" xlink:label="ecd_TrdArrAdoptionDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TrdArrAdoptionDate" xlink:to="ecd_TrdArrAdoptionDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TrdArrAdoptionDate_lbl" xml:lang="en-US">Adoption Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Rule10b51ArrTrmntdFlag" xlink:label="ecd_Rule10b51ArrTrmntdFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_Rule10b51ArrTrmntdFlag" xlink:to="ecd_Rule10b51ArrTrmntdFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_Rule10b51ArrTrmntdFlag_lbl" xml:lang="en-US">Rule 10b5-1 Arrangement Terminated</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonRule10b51ArrTrmntdFlag" xlink:label="ecd_NonRule10b51ArrTrmntdFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_NonRule10b51ArrTrmntdFlag" xlink:to="ecd_NonRule10b51ArrTrmntdFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_NonRule10b51ArrTrmntdFlag_lbl" xml:lang="en-US">Non-Rule 10b5-1 Arrangement Terminated</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrTerminationDate" xlink:label="ecd_TrdArrTerminationDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TrdArrTerminationDate" xlink:to="ecd_TrdArrTerminationDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TrdArrTerminationDate_lbl" xml:lang="en-US">Termination Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrDuration" xlink:label="ecd_TrdArrDuration" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TrdArrDuration" xlink:to="ecd_TrdArrDuration_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TrdArrDuration_lbl" xml:lang="en-US">Arrangement Duration</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrSecuritiesAggAvailAmt" xlink:label="ecd_TrdArrSecuritiesAggAvailAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TrdArrSecuritiesAggAvailAmt" xlink:to="ecd_TrdArrSecuritiesAggAvailAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TrdArrSecuritiesAggAvailAmt_lbl" xml:lang="en-US">Aggregate Available</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTradingPoliciesProcLineItems" xlink:label="ecd_InsiderTradingPoliciesProcLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_InsiderTradingPoliciesProcLineItems" xlink:to="ecd_InsiderTradingPoliciesProcLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_InsiderTradingPoliciesProcLineItems_lbl" xml:lang="en-US">Insider Trading Policies and Procedures [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTrdPoliciesProcAdoptedFlag" xlink:label="ecd_InsiderTrdPoliciesProcAdoptedFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_InsiderTrdPoliciesProcAdoptedFlag" xlink:to="ecd_InsiderTrdPoliciesProcAdoptedFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_InsiderTrdPoliciesProcAdoptedFlag_lbl" xml:lang="en-US">Insider Trading Policies and Procedures Adopted [Flag]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:label="ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:to="ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock_lbl" xml:lang="en-US">Insider Trading Policies and Procedures Not Adopted [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountingPoliciesAbstract_lbl" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:label="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:to="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock_lbl" xml:lang="en-US">BASIS OF PRESENTATION</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock_lbl" xml:lang="en-US">SIGNIFICANT ACCOUNTING POLICIES</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_DisclosureLeasesAbstract" xlink:label="FSI_DisclosureLeasesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DisclosureLeasesAbstract" xlink:to="FSI_DisclosureLeasesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_DisclosureLeasesAbstract_lbl" xml:lang="en-US">Leases</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeasesTextBlock" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xml:lang="en-US">LEASES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReceivablesAbstract" xlink:label="us-gaap_ReceivablesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReceivablesAbstract" xlink:to="us-gaap_ReceivablesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ReceivablesAbstract_lbl" xml:lang="en-US">Receivables [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancingReceivablesTextBlock" xlink:label="us-gaap_FinancingReceivablesTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinancingReceivablesTextBlock" xlink:to="us-gaap_FinancingReceivablesTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinancingReceivablesTextBlock_lbl" xml:lang="en-US">ACCOUNTS RECEIVABLE</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="us-gaap_InventoryDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryDisclosureAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryDisclosureAbstract_lbl" xml:lang="en-US">Inventory Disclosure [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="us-gaap_InventoryDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureTextBlock" xlink:to="us-gaap_InventoryDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryDisclosureTextBlock_lbl" xml:lang="en-US">INVENTORIES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract_lbl" xml:lang="en-US">Property, Plant and Equipment [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" xml:lang="en-US">PROPERTY, EQUIPMENT AND LEASEHOLDS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:to="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl" xml:lang="en-US">PATENTS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_lbl" xml:lang="en-US">GOODWILL AND INTANGIBLE ASSETS</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_DisclosureLongTermDepositsAbstract" xlink:label="FSI_DisclosureLongTermDepositsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DisclosureLongTermDepositsAbstract" xlink:to="FSI_DisclosureLongTermDepositsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_DisclosureLongTermDepositsAbstract_lbl" xml:lang="en-US">Long Term Deposits</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_LongTermDepositsTextBlock" xlink:label="FSI_LongTermDepositsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LongTermDepositsTextBlock" xlink:to="FSI_LongTermDepositsTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_LongTermDepositsTextBlock_lbl" xml:lang="en-US">LONG TERM DEPOSITS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract" xlink:label="us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract_lbl" xml:lang="en-US">Equity Method Investments and Joint Ventures [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentsDisclosureTextBlock" xlink:label="us-gaap_EquityMethodInvestmentsDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentsDisclosureTextBlock" xlink:to="us-gaap_EquityMethodInvestmentsDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentsDisclosureTextBlock_lbl" xml:lang="en-US">INVESTMENTS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_DebtDisclosureAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtDisclosureAbstract_lbl" xml:lang="en-US">Debt Disclosure [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtTextBlock" xlink:label="us-gaap_ShortTermDebtTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermDebtTextBlock" xlink:to="us-gaap_ShortTermDebtTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermDebtTextBlock_lbl" xml:lang="en-US">SHORT-TERM LINE OF CREDIT</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtTextBlock" xlink:label="us-gaap_LongTermDebtTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtTextBlock" xlink:to="us-gaap_LongTermDebtTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtTextBlock_lbl" xml:lang="en-US">LONG TERM DEBT</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_lbl" xml:lang="en-US">Income Tax Disclosure [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xml:lang="en-US">INCOME TAXES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareAbstract_lbl" xml:lang="en-US">Earnings Per Share [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl" xml:lang="en-US">INCOME PER SHARE</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" xml:lang="en-US">Share-Based Payment Arrangement [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xml:lang="en-US">STOCK OPTIONS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract" xlink:label="us-gaap_EquityAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityAbstract" xlink:to="us-gaap_EquityAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityAbstract_lbl" xml:lang="en-US">Equity [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:to="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl" xml:lang="en-US">CAPITAL STOCK</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestAbstract" xlink:label="us-gaap_NoncontrollingInterestAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncontrollingInterestAbstract" xlink:to="us-gaap_NoncontrollingInterestAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncontrollingInterestAbstract_lbl" xml:lang="en-US">Noncontrolling Interest [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestDisclosureTextBlock" xlink:label="us-gaap_MinorityInterestDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestDisclosureTextBlock" xlink:to="us-gaap_MinorityInterestDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterestDisclosureTextBlock_lbl" xml:lang="en-US">NON-CONTROLLING INTERESTS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_SegmentReportingAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingAbstract_lbl" xml:lang="en-US">Segment Reporting [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingDisclosureTextBlock" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xml:lang="en-US">SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="us-gaap_SubsequentEventsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventsAbstract_lbl" xml:lang="en-US">Subsequent Events [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsTextBlock" xlink:to="us-gaap_SubsequentEventsTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventsTextBlock_lbl" xml:lang="en-US">SUBSEQUENT EVENTS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl" xml:lang="en-US">Cash and Cash Equivalents</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_TermDepositsPolicyTextBlock" xlink:label="FSI_TermDepositsPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TermDepositsPolicyTextBlock" xlink:to="FSI_TermDepositsPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_TermDepositsPolicyTextBlock_lbl" xml:lang="en-US">Term Deposits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="us-gaap_InventoryPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryPolicyTextBlock" xlink:to="us-gaap_InventoryPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl" xml:lang="en-US">Inventories and Cost of Sales</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy" xlink:label="us-gaap_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy" xlink:to="us-gaap_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy_lbl" xml:lang="en-US">Allowance for Doubtful Accounts</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xml:lang="en-US">Property, Equipment, Leaseholds and Intangible Assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl" xml:lang="en-US">Impairment of Long-Lived Assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl" xml:lang="en-US">Foreign Currency</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_lbl" xml:lang="en-US">Revenue Recognition</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_StockIssuedInExchangeForServicesPolicyTextBlock" xlink:label="FSI_StockIssuedInExchangeForServicesPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockIssuedInExchangeForServicesPolicyTextBlock" xlink:to="FSI_StockIssuedInExchangeForServicesPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_StockIssuedInExchangeForServicesPolicyTextBlock_lbl" xml:lang="en-US">Stock Issued in Exchange for Services</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationRelatedCostsPolicyTextBlock" xlink:label="us-gaap_CompensationRelatedCostsPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CompensationRelatedCostsPolicyTextBlock" xlink:to="us-gaap_CompensationRelatedCostsPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CompensationRelatedCostsPolicyTextBlock_lbl" xml:lang="en-US">Stock-based Compensation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:label="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:to="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_lbl" xml:lang="en-US">Other Comprehensive Income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerSharePolicyTextBlock" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xml:lang="en-US">Income Per Share</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UseOfEstimates" xlink:to="us-gaap_UseOfEstimates_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UseOfEstimates_lbl" xml:lang="en-US">Use of Estimates</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:to="us-gaap_FairValueOfFinancialInstrumentsPolicy_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy_lbl" xml:lang="en-US">Fair Value of Financial Instruments</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesPolicyTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesPolicyTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesPolicyTextBlock_lbl" xml:lang="en-US">Contingencies</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxPolicyTextBlock" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl" xml:lang="en-US">Income Taxes</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="us-gaap_ConcentrationRiskCreditRisk" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskCreditRisk" xlink:to="us-gaap_ConcentrationRiskCreditRisk_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskCreditRisk_lbl" xml:lang="en-US">Risk Management</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentsPolicy" xlink:label="us-gaap_EquityMethodInvestmentsPolicy" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentsPolicy" xlink:to="us-gaap_EquityMethodInvestmentsPolicy_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentsPolicy_lbl" xml:lang="en-US">Equity Method Investment</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:to="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_lbl" xml:lang="en-US">Goodwill and Intangible Assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xml:lang="en-US">Recent Accounting Pronouncements</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ScheduleOfMethodOfDepreciationTableTextBlock" xlink:label="FSI_ScheduleOfMethodOfDepreciationTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfMethodOfDepreciationTableTextBlock" xlink:to="FSI_ScheduleOfMethodOfDepreciationTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ScheduleOfMethodOfDepreciationTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF METHOD OF DEPRECIATION</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock" xlink:label="FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock" xlink:to="FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock_lbl" xml:lang="en-US">SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF UNDISCOUNTED RENT PAYMENTS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:to="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF ACCOUNTS RECEIVABLE</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF INVENTORY</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" xml:lang="en-US">SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF PATENTS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock" xlink:label="us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock" xlink:to="us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:to="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ScheduleOfLongTermDepositsTableTextBlock" xlink:label="FSI_ScheduleOfLongTermDepositsTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfLongTermDepositsTableTextBlock" xlink:to="FSI_ScheduleOfLongTermDepositsTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ScheduleOfLongTermDepositsTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF LONG TERM DEPOSITS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_lbl" xml:lang="en-US">SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentsTextBlock" xlink:label="us-gaap_EquityMethodInvestmentsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentsTextBlock" xlink:to="us-gaap_EquityMethodInvestmentsTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentsTextBlock_lbl" xml:lang="en-US">SCHEDULE OF EQUITY METHOD INVESTMENT</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnInvestmentsTextBlock" xlink:label="us-gaap_GainLossOnInvestmentsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnInvestmentsTextBlock" xlink:to="us-gaap_GainLossOnInvestmentsTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnInvestmentsTextBlock_lbl" xml:lang="en-US">SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ScheduleOfLoanCovenantsTableTextBlock" xlink:label="FSI_ScheduleOfLoanCovenantsTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfLoanCovenantsTableTextBlock" xlink:to="FSI_ScheduleOfLoanCovenantsTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ScheduleOfLoanCovenantsTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF LOAN COVENANTS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:label="us-gaap_ScheduleOfDebtInstrumentsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:to="us-gaap_ScheduleOfDebtInstrumentsTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDebtInstrumentsTextBlock_lbl" xml:lang="en-US">SCHEDULE OF OUTSTANDING BALANCE LOAN</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF RECONCILIATION OF INCOME TAXES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF DEFERRED TAX ASSETS (LIABILITIES)</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ScheduleOfNonOperatingLossCarryforwardsTableTextBlock" xlink:label="FSI_ScheduleOfNonOperatingLossCarryforwardsTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfNonOperatingLossCarryforwardsTableTextBlock" xlink:to="FSI_ScheduleOfNonOperatingLossCarryforwardsTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ScheduleOfNonOperatingLossCarryforwardsTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF BASIC AND DILUTED LOSS PER SHARE</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_lbl" xml:lang="en-US">SCHEDULE OF ANTI-DILUTIVE OPTIONS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF STOCK OPTION ACTIVITIES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ScheduleOfDistributionsTableTextBlock" xlink:label="FSI_ScheduleOfDistributionsTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfDistributionsTableTextBlock" xlink:to="FSI_ScheduleOfDistributionsTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ScheduleOfDistributionsTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF DISTRIBUTIONS</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock" xlink:label="FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock" xlink:to="FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" xlink:label="us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" xlink:to="us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock_lbl" xml:lang="en-US">SCHEDULE OF REPORTABLE SEGMENTS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:to="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_lbl" xml:lang="en-US">SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xlink:label="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xlink:to="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock_lbl" xml:lang="en-US">SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" xlink:label="us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" xlink:to="us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_lbl" xml:lang="en-US">Subsidiary company ownership interest rate</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_IncreaseDecreaseInSharePercentage" xlink:label="FSI_IncreaseDecreaseInSharePercentage" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_IncreaseDecreaseInSharePercentage" xlink:to="FSI_IncreaseDecreaseInSharePercentage_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_IncreaseDecreaseInSharePercentage_lbl" xml:lang="en-US">Increase decrease in share percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_RemainingInvestmentOwnedPercentage" xlink:label="FSI_RemainingInvestmentOwnedPercentage" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_RemainingInvestmentOwnedPercentage" xlink:to="FSI_RemainingInvestmentOwnedPercentage_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_RemainingInvestmentOwnedPercentage_lbl" xml:lang="en-US">Remaining investment owned percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners_lbl" xml:lang="en-US">Noncontrolling interest percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" xml:lang="en-US">Property, Plant and Equipment [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xml:lang="en-US">Property, Plant and Equipment [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_DepreciationMethodUsedAndAnnualRate" xlink:label="FSI_DepreciationMethodUsedAndAnnualRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DepreciationMethodUsedAndAnnualRate" xlink:to="FSI_DepreciationMethodUsedAndAnnualRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_DepreciationMethodUsedAndAnnualRate_lbl" xml:lang="en-US">Depreciation method used and annual rate</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfProductInformationTable" xlink:label="us-gaap_ScheduleOfProductInformationTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfProductInformationTable" xlink:to="us-gaap_ScheduleOfProductInformationTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfProductInformationTable_lbl" xml:lang="en-US">Schedule of Product Information [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductInformationLineItems" xlink:label="us-gaap_ProductInformationLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductInformationLineItems" xlink:to="us-gaap_ProductInformationLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductInformationLineItems_lbl" xml:lang="en-US">Product Information [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Deposits" xlink:label="us-gaap_Deposits" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Deposits" xlink:to="us-gaap_Deposits_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Deposits_lbl" xml:lang="en-US">Deposits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl" xml:lang="en-US">Debt Instrument, Interest Rate, Stated Percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_MinimumInterestPenalty" xlink:label="FSI_MinimumInterestPenalty" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_MinimumInterestPenalty" xlink:to="FSI_MinimumInterestPenalty_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_MinimumInterestPenalty_lbl" xml:lang="en-US">Minimum interest penalty</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_2_lbl" xml:lang="en-US">Sale</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfGoodsAndServicesSold" xlink:to="us-gaap_CostOfGoodsAndServicesSold_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CostOfGoodsAndServicesSold_2_lbl" xml:lang="en-US">Cost of sales</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ConcentrationRiskThresholdPercentage" xlink:label="FSI_ConcentrationRiskThresholdPercentage" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ConcentrationRiskThresholdPercentage" xlink:to="FSI_ConcentrationRiskThresholdPercentage_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ConcentrationRiskThresholdPercentage_lbl" xml:lang="en-US">Accounts receivable, after allowance for credit loss, percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities" xlink:label="us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities" xlink:to="us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities_lbl" xml:lang="en-US">Equity method investment, description</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DisclosureLeasesAbstract" xlink:to="FSI_DisclosureLeasesAbstract_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="FSI_DisclosureLeasesAbstract_2_lbl" xml:lang="en-US">Summary Of Right-of-use Asset And Lease Liability</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_2_lbl" xml:lang="en-US">Right of use assets, beginning balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:label="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:to="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_lbl" xml:lang="en-US">Depreciation</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_3_lbl" xml:lang="en-US">Right of use assets, ending balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xml:lang="en-US">Lease liability, beginning balance</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_LeaseInterestExpense" xlink:label="FSI_LeaseInterestExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LeaseInterestExpense" xlink:to="FSI_LeaseInterestExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_LeaseInterestExpense_lbl" xml:lang="en-US">Lease interest expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasePayments" xlink:to="us-gaap_OperatingLeasePayments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_OperatingLeasePayments_lbl" xml:lang="en-US">Payments</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_OperatingLeaseLiability_2_lbl" xml:lang="en-US">Lease liability, ending balance</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_2_lbl" xml:lang="en-US">Short-term portion</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_2_lbl" xml:lang="en-US">Long-term portion</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiability_3_lbl" xml:lang="en-US">Total</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DisclosureLeasesAbstract" xlink:to="FSI_DisclosureLeasesAbstract_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="FSI_DisclosureLeasesAbstract_3_lbl" xml:lang="en-US">Schedule Of Undiscounted Rent Payments</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US">2024</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US">2025</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xml:lang="en-US">Total</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xml:lang="en-US">Impact of discounting</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_4_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiability_4_lbl" xml:lang="en-US">Lease liability, December 31, 2023</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseDiscountRate" xlink:label="us-gaap_LesseeOperatingLeaseDiscountRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseDiscountRate" xlink:to="us-gaap_LesseeOperatingLeaseDiscountRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseDiscountRate_lbl" xml:lang="en-US">Operating leases discount rate</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableGross" xlink:label="us-gaap_AccountsReceivableGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableGross" xlink:to="us-gaap_AccountsReceivableGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableGross_lbl" xml:lang="en-US">Accounts receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" xlink:label="us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" xlink:to="us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables_lbl" xml:lang="en-US">Allowances for doubtful accounts</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsAndNotesReceivableNet" xlink:label="us-gaap_AccountsAndNotesReceivableNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsAndNotesReceivableNet" xlink:to="us-gaap_AccountsAndNotesReceivableNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AccountsAndNotesReceivableNet_lbl" xml:lang="en-US">Total accounts receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoods" xlink:label="us-gaap_InventoryFinishedGoods" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryFinishedGoods" xlink:to="us-gaap_InventoryFinishedGoods_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryFinishedGoods_lbl" xml:lang="en-US">Completed goods</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterialsAndSupplies" xlink:label="us-gaap_InventoryRawMaterialsAndSupplies" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryRawMaterialsAndSupplies" xlink:to="us-gaap_InventoryRawMaterialsAndSupplies_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryRawMaterialsAndSupplies_lbl" xml:lang="en-US">Raw materials and supplies</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_InventoryNet_2_lbl" xml:lang="en-US">Total inventory</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl" xml:lang="en-US">Cost</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xml:lang="en-US">Accumulated Depreciation</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_2_lbl" xml:lang="en-US">Property, plant and equipment, net, total</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Depreciation" xlink:to="us-gaap_Depreciation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Depreciation_lbl" xml:lang="en-US">Depreciation</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnDispositionOfAssets1" xlink:to="us-gaap_GainLossOnDispositionOfAssets1_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_GainLossOnDispositionOfAssets1_2_lbl" xml:lang="en-US">Sale of assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedPatentsGross" xlink:label="us-gaap_FiniteLivedPatentsGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedPatentsGross" xlink:to="us-gaap_FiniteLivedPatentsGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedPatentsGross_lbl" xml:lang="en-US">Patents, cost</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xml:lang="en-US">Patents, Accumulated amortization</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xml:lang="en-US">Patents, net</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Goodwill" xlink:to="us-gaap_Goodwill_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_Goodwill_2_lbl" xml:lang="en-US">Goodwill</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_lbl" xml:lang="en-US">Indefinite lived intangible assets</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_2_lbl" xml:lang="en-US">Indefinite lived intangible assets, beginning balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xml:lang="en-US">Amortization</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_3_lbl" xml:lang="en-US">Indefinite lived intangible assets, ending balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xml:lang="en-US">Finite-Lived Intangible Assets [Line Items]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AmortizationOfIntangibleAssets_2_lbl" xml:lang="en-US">Amount of amortization</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentEffectsOnEarningsPerShareTable" xlink:label="us-gaap_ImpairmentEffectsOnEarningsPerShareTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentEffectsOnEarningsPerShareTable" xlink:to="us-gaap_ImpairmentEffectsOnEarningsPerShareTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ImpairmentEffectsOnEarningsPerShareTable_lbl" xml:lang="en-US">Impairment Effects on Earnings Per Share [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems" xlink:label="us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems_lbl" xml:lang="en-US">Impairment Effects on Earnings Per Share [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xml:lang="en-US">2024</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xml:lang="en-US">2025</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xml:lang="en-US">2026</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xml:lang="en-US">2027</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl" xml:lang="en-US">2028</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AmortizationOfIntangibleAssets_3_lbl" xml:lang="en-US">Amortization</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DisclosureLongTermDepositsAbstract" xlink:to="FSI_DisclosureLongTermDepositsAbstract_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="FSI_DisclosureLongTermDepositsAbstract_2_lbl" xml:lang="en-US">Schedule Of Long Term Deposits</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepositsAssetsNoncurrent" xlink:to="us-gaap_DepositsAssetsNoncurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DepositsAssetsNoncurrent_2_lbl" xml:lang="en-US">Long term deposits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1_lbl" xml:lang="en-US">Purchase consideration</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_lbl" xml:lang="en-US">Cash</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings_lbl" xml:lang="en-US">Building</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand_lbl" xml:lang="en-US">Land</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_lbl" xml:lang="en-US">Deferred tax liability</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt" xlink:label="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt" xlink:to="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt_lbl" xml:lang="en-US">Long term debt</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_lbl" xml:lang="en-US">Total identifiable net assets:</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice" xlink:label="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice" xlink:to="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice_lbl" xml:lang="en-US">Excess of assets acquired over consideration</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_InvestmentEliminatedUponConsolidation" xlink:label="FSI_InvestmentEliminatedUponConsolidation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_InvestmentEliminatedUponConsolidation" xlink:to="FSI_InvestmentEliminatedUponConsolidation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_InvestmentEliminatedUponConsolidation_lbl" xml:lang="en-US">Less investment eliminated upon consolidation</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_GainOnAcquisitionOfSubsidiary" xlink:to="FSI_GainOnAcquisitionOfSubsidiary_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_GainOnAcquisitionOfSubsidiary_2_lbl" xml:lang="en-US">Gain on acquisition of ENP Peru</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestments" xlink:to="us-gaap_EquityMethodInvestments_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_EquityMethodInvestments_2_lbl" xml:lang="en-US">Balance, Beginning</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_EquityMethodInvestmentReturnOfEquity" xlink:label="FSI_EquityMethodInvestmentReturnOfEquity" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EquityMethodInvestmentReturnOfEquity" xlink:to="FSI_EquityMethodInvestmentReturnOfEquity_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_EquityMethodInvestmentReturnOfEquity_lbl" xml:lang="en-US">Return of equity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:to="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_lbl" xml:lang="en-US">Gain in equity method investment</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_InvestmentEliminatedUponConsolidation" xlink:to="FSI_InvestmentEliminatedUponConsolidation_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="FSI_InvestmentEliminatedUponConsolidation_2_lbl" xml:lang="en-US">Investment eliminated upon consolidation</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestments" xlink:to="us-gaap_EquityMethodInvestments_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_EquityMethodInvestments_3_lbl" xml:lang="en-US">Balance, Ending</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainsLossesOnSalesOfInvestmentRealEstate" xlink:label="us-gaap_GainsLossesOnSalesOfInvestmentRealEstate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainsLossesOnSalesOfInvestmentRealEstate" xlink:to="us-gaap_GainsLossesOnSalesOfInvestmentRealEstate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainsLossesOnSalesOfInvestmentRealEstate_lbl" xml:lang="en-US">Net sales</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RealizedInvestmentGainsLosses" xlink:label="us-gaap_RealizedInvestmentGainsLosses" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RealizedInvestmentGainsLosses" xlink:to="us-gaap_RealizedInvestmentGainsLosses_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RealizedInvestmentGainsLosses_lbl" xml:lang="en-US">Gross profit</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_RealizedInvestmentGainsLossesNet" xlink:label="FSI_RealizedInvestmentGainsLossesNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_RealizedInvestmentGainsLossesNet" xlink:to="FSI_RealizedInvestmentGainsLossesNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="FSI_RealizedInvestmentGainsLossesNet_lbl" xml:lang="en-US">Net income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsTable_lbl" xml:lang="en-US">Schedule of Equity Method Investments [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_lbl" xml:lang="en-US">Schedule of Equity Method Investments [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage_lbl" xml:lang="en-US">Ownership percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_AdditionalEquityMethodInvestmentOwnershipPercentage" xlink:label="FSI_AdditionalEquityMethodInvestmentOwnershipPercentage" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_AdditionalEquityMethodInvestmentOwnershipPercentage" xlink:to="FSI_AdditionalEquityMethodInvestmentOwnershipPercentage_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_AdditionalEquityMethodInvestmentOwnershipPercentage_lbl" xml:lang="en-US">Additional equity method investment ownership percentage</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners_2_lbl" xml:lang="en-US">Non-controlling interest percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Investments" xlink:label="us-gaap_Investments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Investments" xlink:to="us-gaap_Investments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Investments_lbl" xml:lang="en-US">Investment</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_DebtInstrumentMaturityMonthYear" xlink:label="FSI_DebtInstrumentMaturityMonthYear" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DebtInstrumentMaturityMonthYear" xlink:to="FSI_DebtInstrumentMaturityMonthYear_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_DebtInstrumentMaturityMonthYear_lbl" xml:lang="en-US">Debt maturity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharePrice" xlink:label="us-gaap_SharePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharePrice" xlink:to="us-gaap_SharePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharePrice_lbl" xml:lang="en-US">Share price</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Revenues" xlink:to="us-gaap_Revenues_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_Revenues_lbl" xml:lang="en-US">Sales</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNet" xlink:label="us-gaap_AccountsReceivableNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNet" xlink:to="us-gaap_AccountsReceivableNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableNet_lbl" xml:lang="en-US">Accounts receivable related parties</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireInvestments" xlink:to="us-gaap_PaymentsToAcquireInvestments_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireInvestments_2_lbl" xml:lang="en-US">Payments to Acquire Investments</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="us-gaap_LineOfCreditFacilityTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityTable" xlink:to="us-gaap_LineOfCreditFacilityTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityTable_lbl" xml:lang="en-US">Line of Credit Facility [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLineItems" xlink:label="us-gaap_LineOfCreditFacilityLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityLineItems_lbl" xml:lang="en-US">Line of Credit Facility [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_lbl" xml:lang="en-US">Line of Credit Facility, Current Borrowing Capacity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xml:lang="en-US">Aggregate amount of revolving line of credit</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_PercentageOfForeignAccountsReceivableOfInventory" xlink:label="FSI_PercentageOfForeignAccountsReceivableOfInventory" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_PercentageOfForeignAccountsReceivableOfInventory" xlink:to="FSI_PercentageOfForeignAccountsReceivableOfInventory_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_PercentageOfForeignAccountsReceivableOfInventory_lbl" xml:lang="en-US">Percentage of foreign accounts receivable of inventory</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentFaceAmount" xlink:to="us-gaap_DebtInstrumentFaceAmount_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentFaceAmount_lbl" xml:lang="en-US">Debt face amount</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_2_lbl" xml:lang="en-US">Interest rate</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_LoanGuaranteedRate" xlink:label="FSI_LoanGuaranteedRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LoanGuaranteedRate" xlink:to="FSI_LoanGuaranteedRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_LoanGuaranteedRate_lbl" xml:lang="en-US">Loan guaranteed rate</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LinesOfCreditCurrent" xlink:to="us-gaap_LinesOfCreditCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LinesOfCreditCurrent_2_lbl" xml:lang="en-US">Line of credit</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermBorrowings" xlink:to="us-gaap_ShortTermBorrowings_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermBorrowings_lbl" xml:lang="en-US">Short term borrowings</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_EligiblePercentageOfDomesticAccountsReceivable" xlink:label="FSI_EligiblePercentageOfDomesticAccountsReceivable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EligiblePercentageOfDomesticAccountsReceivable" xlink:to="FSI_EligiblePercentageOfDomesticAccountsReceivable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_EligiblePercentageOfDomesticAccountsReceivable_lbl" xml:lang="en-US">Eligible percentage of domestic accounts receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_LongTermDebt_lbl" xml:lang="en-US">Balance, beginning of period</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromBankDebt" xlink:label="us-gaap_ProceedsFromBankDebt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromBankDebt" xlink:to="us-gaap_ProceedsFromBankDebt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromBankDebt_lbl" xml:lang="en-US">Plus: Proceeds from loans</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ProceedsFromLoanAcquiredFromAcquisition" xlink:label="FSI_ProceedsFromLoanAcquiredFromAcquisition" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ProceedsFromLoanAcquiredFromAcquisition" xlink:to="FSI_ProceedsFromLoanAcquiredFromAcquisition_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ProceedsFromLoanAcquiredFromAcquisition_lbl" xml:lang="en-US">Plus: Loan acquired with acquisition of ENP Peru</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForProceedsFromDepositOnLoan" xlink:label="us-gaap_PaymentsForProceedsFromDepositOnLoan" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForProceedsFromDepositOnLoan" xlink:to="us-gaap_PaymentsForProceedsFromDepositOnLoan_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsForProceedsFromDepositOnLoan_lbl" xml:lang="en-US">Less: Payments on loan</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebt_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_LongTermDebt_2_lbl" xml:lang="en-US">Balance, end of period</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:label="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:to="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_lbl" xml:lang="en-US">Schedule of Defined Benefit Plans Disclosures [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:label="us-gaap_DefinedBenefitPlanDisclosureLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:to="us-gaap_DefinedBenefitPlanDisclosureLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanDisclosureLineItems_lbl" xml:lang="en-US">Defined Benefit Plan Disclosure [Line Items]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebt_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebt_3_lbl" xml:lang="en-US">Long-term 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_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_LongTermDebtCurrent_2_lbl" xml:lang="en-US">Less: current portion</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtNoncurrent" xlink:to="us-gaap_LongTermDebtNoncurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LongTermDebtNoncurrent_2_lbl" xml:lang="en-US">Long-term debt non current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShortTermDebtTable" xlink:label="us-gaap_ScheduleOfShortTermDebtTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShortTermDebtTable" xlink:to="us-gaap_ScheduleOfShortTermDebtTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShortTermDebtTable_lbl" xml:lang="en-US">Schedule of Short-Term Debt [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtLineItems" xlink:label="us-gaap_ShortTermDebtLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermDebtLineItems" xlink:to="us-gaap_ShortTermDebtLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermDebtLineItems_lbl" xml:lang="en-US">Short-Term Debt [Line Items]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentFaceAmount" xlink:to="us-gaap_DebtInstrumentFaceAmount_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DebtInstrumentFaceAmount_2_lbl" xml:lang="en-US">Debt instrument face amount</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_3_lbl" xml:lang="en-US">Debt instrument interest rate stated percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTerm" xlink:label="us-gaap_DebtInstrumentTerm" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentTerm" xlink:to="us-gaap_DebtInstrumentTerm_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentTerm_lbl" xml:lang="en-US">Debt instrument term</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpenseDebt" xlink:label="us-gaap_InterestExpenseDebt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpenseDebt" xlink:to="us-gaap_InterestExpenseDebt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestExpenseDebt_lbl" xml:lang="en-US">Interest expense debt</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDefaultLongtermDebtAmount" xlink:label="us-gaap_DebtDefaultLongtermDebtAmount" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDefaultLongtermDebtAmount" xlink:to="us-gaap_DebtDefaultLongtermDebtAmount_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtDefaultLongtermDebtAmount_lbl" xml:lang="en-US">Debt Long term debt amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LoansPayable" xlink:label="us-gaap_LoansPayable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LoansPayable" xlink:to="us-gaap_LoansPayable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LoansPayable_lbl" xml:lang="en-US">First mortgage</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit_lbl" xml:lang="en-US">Current tax, federal</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl" xml:lang="en-US">Current tax, state</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentForeignTaxExpenseBenefit" xlink:label="us-gaap_CurrentForeignTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentForeignTaxExpenseBenefit" xlink:to="us-gaap_CurrentForeignTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentForeignTaxExpenseBenefit_lbl" xml:lang="en-US">Current tax, foreign</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_CurrentTax" xlink:label="FSI_CurrentTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_CurrentTax" xlink:to="FSI_CurrentTax_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="FSI_CurrentTax_lbl" xml:lang="en-US">Current tax</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_IncomeTaxRecovery" xlink:label="FSI_IncomeTaxRecovery" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_IncomeTaxRecovery" xlink:to="FSI_IncomeTaxRecovery_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="FSI_IncomeTaxRecovery_lbl" xml:lang="en-US">Income tax recovery</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_2_lbl" xml:lang="en-US">Current tax, total</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Deferred income tax, federal</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Deferred income tax, state</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredForeignIncomeTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredForeignIncomeTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredForeignIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Deferred income tax, foreign</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_3_lbl" xml:lang="en-US">Deferred income tax, total</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Total</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_2_lbl" xml:lang="en-US">Income before tax</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl" xml:lang="en-US">US statutory tax rates</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ExpectedIncomeTaxRecovery" xlink:label="FSI_ExpectedIncomeTaxRecovery" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ExpectedIncomeTaxRecovery" xlink:to="FSI_ExpectedIncomeTaxRecovery_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ExpectedIncomeTaxRecovery_lbl" xml:lang="en-US">Expected income tax</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpense" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationNondeductibleExpense" xlink:to="us-gaap_IncomeTaxReconciliationNondeductibleExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpense_lbl" xml:lang="en-US">Non-deductible items</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationOtherAdjustments" xlink:label="us-gaap_IncomeTaxReconciliationOtherAdjustments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationOtherAdjustments" xlink:to="us-gaap_IncomeTaxReconciliationOtherAdjustments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxReconciliationOtherAdjustments_lbl" xml:lang="en-US">Change in estimates and other</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" xlink:to="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential_lbl" xml:lang="en-US">Foreign tax rate difference</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" 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_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxExpenseBenefit_2_lbl" xml:lang="en-US">Total income tax expense (recovery)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_3_lbl" xml:lang="en-US">Current income tax expense</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_4_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_4_lbl" xml:lang="en-US">Deferred tax recovery</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwardsTable" xlink:label="us-gaap_OperatingLossCarryforwardsTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLossCarryforwardsTable" xlink:to="us-gaap_OperatingLossCarryforwardsTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLossCarryforwardsTable_lbl" xml:lang="en-US">Operating Loss Carryforwards [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwardsLineItems" xlink:label="us-gaap_OperatingLossCarryforwardsLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLossCarryforwardsLineItems" xlink:to="us-gaap_OperatingLossCarryforwardsLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLossCarryforwardsLineItems_lbl" xml:lang="en-US">Operating Loss Carryforwards [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_lbl" xml:lang="en-US">Net operating loss carryforwards</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets" xlink:label="us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets" xlink:to="us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets_lbl" xml:lang="en-US">Intangible assets</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_DeferredTaxAssetsPropertyPlantsAndEquipment" xlink:label="FSI_DeferredTaxAssetsPropertyPlantsAndEquipment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DeferredTaxAssetsPropertyPlantsAndEquipment" xlink:to="FSI_DeferredTaxAssetsPropertyPlantsAndEquipment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_DeferredTaxAssetsPropertyPlantsAndEquipment_lbl" xml:lang="en-US">Property, equipment and leaseholds</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsGross_lbl" xml:lang="en-US">Deferred tax assets gross</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US">Valuation Allowance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsNet_lbl" xml:lang="en-US">Net deferred tax asset</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInvestments" xlink:label="us-gaap_DeferredTaxAssetsInvestments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsInvestments" xlink:to="us-gaap_DeferredTaxAssetsInvestments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredTaxAssetsInvestments_lbl" xml:lang="en-US">Investments</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_DeferredTaxAssetsPropertyPlantsAndEquipmentOne" xlink:label="FSI_DeferredTaxAssetsPropertyPlantsAndEquipmentOne" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DeferredTaxAssetsPropertyPlantsAndEquipmentOne" xlink:to="FSI_DeferredTaxAssetsPropertyPlantsAndEquipmentOne_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="FSI_DeferredTaxAssetsPropertyPlantsAndEquipmentOne_lbl" xml:lang="en-US">Property, equipment and leaseholds</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsDerivativeInstruments" xlink:label="us-gaap_DeferredTaxAssetsDerivativeInstruments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsDerivativeInstruments" xlink:to="us-gaap_DeferredTaxAssetsDerivativeInstruments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsDerivativeInstruments_lbl" xml:lang="en-US">Financial instruments</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_DeferredTaxAssetNotRecognized" xlink:label="FSI_DeferredTaxAssetNotRecognized" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DeferredTaxAssetNotRecognized" xlink:to="FSI_DeferredTaxAssetNotRecognized_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_DeferredTaxAssetNotRecognized_lbl" xml:lang="en-US">Deferred tax asset not recognized</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilities" xlink:label="us-gaap_DeferredTaxLiabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilities" xlink:to="us-gaap_DeferredTaxLiabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredTaxLiabilities_lbl" xml:lang="en-US">Net deferred tax liability</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="us-gaap_OperatingLossCarryforwards" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLossCarryforwards" xlink:to="us-gaap_OperatingLossCarryforwards_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLossCarryforwards_lbl" xml:lang="en-US">Total</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_IncomeTaxRecovery" xlink:to="FSI_IncomeTaxRecovery_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="FSI_IncomeTaxRecovery_2_lbl" xml:lang="en-US">Current income tax expense</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLossCarryforwards" xlink:to="us-gaap_OperatingLossCarryforwards_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLossCarryforwards_2_lbl" xml:lang="en-US">Operating loss carryforwards</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NetIncomeLoss_3_lbl" xml:lang="en-US">Net income attributable to controlling interest</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_2_lbl" xml:lang="en-US">Basic</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_2_lbl" xml:lang="en-US">Diluted</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareBasic_2_lbl" xml:lang="en-US">Basic</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareDiluted_2_lbl" xml:lang="en-US">Diluted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xml:lang="en-US">Anti-dilutive options</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesIssued" xlink:to="us-gaap_PreferredStockSharesIssued_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockSharesIssued_lbl" xml:lang="en-US">Preferred stock, shares issued</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesOutstanding" xlink:to="us-gaap_PreferredStockSharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockSharesOutstanding_lbl" xml:lang="en-US">Preferred stock, shares outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xml:lang="en-US">Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xml:lang="en-US">Number of shares, Beginning Balance</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_lbl" xml:lang="en-US">Exercise price per share, Beginning Balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted average exercise price, Beginning Balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl" xml:lang="en-US">Number of shares, Granted</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_lbl" xml:lang="en-US">Exercise price per share, Granted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted average exercise price, Granted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl" xml:lang="en-US">Number of shares, Cancelled or expired</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_lbl" xml:lang="en-US">Exercise price per share, Cancelled or expired</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted average exercise price, Cancelled or expired</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US">Number of shares, Exercised</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_lbl" xml:lang="en-US">Exercise price per share, Exercised</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted average exercise price, Exercised</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_2_lbl" xml:lang="en-US">Number of shares Exercisable, Ending Balance</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_2_lbl" xml:lang="en-US">Exercise price per share, Ending Balance</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_2_lbl" xml:lang="en-US">Weighted average exercise price, Ending Balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" xml:lang="en-US">Number of shares Exercisable, Ending Balance</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_lbl" xml:lang="en-US">Exercise price per share Exercisable, Ending Balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted average exercise price, Exercisable, Ending Balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_lbl" xml:lang="en-US">Expected life - years</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_lbl" xml:lang="en-US">Interest rate</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_lbl" xml:lang="en-US">Volatility</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted average fair value of options granted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:label="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:to="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable_lbl" xml:lang="en-US">Schedule of Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits, by Title of Individual and by Type of Deferred Compensation [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems_lbl" xml:lang="en-US">Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_lbl" xml:lang="en-US">Options granted percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_lbl" xml:lang="en-US">Vested term</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_lbl" xml:lang="en-US">Options maximum granted term</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xml:lang="en-US">Weighted-average remaining contractual life</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_2_lbl" xml:lang="en-US">Stock options granted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockOptionPlanExpense" xlink:label="us-gaap_StockOptionPlanExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockOptionPlanExpense" xlink:to="us-gaap_StockOptionPlanExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockOptionPlanExpense_lbl" xml:lang="en-US">Stock option expense</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_AdditionalExpensesDueToOptionsGranted" xlink:label="FSI_AdditionalExpensesDueToOptionsGranted" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_AdditionalExpensesDueToOptionsGranted" xlink:to="FSI_AdditionalExpensesDueToOptionsGranted_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_AdditionalExpensesDueToOptionsGranted_lbl" xml:lang="en-US">Additional expenses due to options granted</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_2_lbl" xml:lang="en-US">Stock options exercised</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl" xml:lang="en-US">Stock vested compensation non vested</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xml:lang="en-US">Weighted average period expected to be recognized</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_lbl" xml:lang="en-US">Aggregate intrinsic value of vested options</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_lbl" xml:lang="en-US">Aggregate intrinsic value of vested options exercised</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:label="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:to="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices_lbl" xml:lang="en-US">Consultant for services, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueIssuedForServices" xlink:label="us-gaap_StockIssuedDuringPeriodValueIssuedForServices" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueIssuedForServices" xlink:to="us-gaap_StockIssuedDuringPeriodValueIssuedForServices_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueIssuedForServices_lbl" xml:lang="en-US">Consultant for services, value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DividendsPayableAmountPerShare" xlink:label="us-gaap_DividendsPayableAmountPerShare" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsPayableAmountPerShare" xlink:to="us-gaap_DividendsPayableAmountPerShare_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DividendsPayableAmountPerShare_lbl" xml:lang="en-US">Dividends per share</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable_lbl" xml:lang="en-US">Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems_lbl" xml:lang="en-US">Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [Line Items]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterest" xlink:to="us-gaap_MinorityInterest_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_MinorityInterest_2_lbl" xml:lang="en-US">Distribution to noncontrolling interests, Beginning balance</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:to="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_2_lbl" xml:lang="en-US">Distribution</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_2_lbl" xml:lang="en-US">Non-controlling interest share of income</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterest" xlink:to="us-gaap_MinorityInterest_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_MinorityInterest_3_lbl" xml:lang="en-US">Distribution to noncontrolling interests, Ending balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates" xlink:label="us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates" xlink:to="us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates_lbl" xml:lang="en-US">Distribution to noncontrolling interests, Acquisition</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation" xlink:label="us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation" xlink:to="us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation_lbl" xml:lang="en-US">Distribution to noncontrolling interests, Non-controlling interest share of loss</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByParent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByParent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByParent_lbl" xml:lang="en-US">Related party owner ship percentage</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToMinorityShareholders" xlink:to="us-gaap_PaymentsToMinorityShareholders_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToMinorityShareholders_2_lbl" xml:lang="en-US">Partnership distribution to non-controlling interest</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccountsReceivableNetCurrent_2_lbl" xml:lang="en-US">Accounts receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_lbl" xml:lang="en-US">Revenue from External Customers by Products and Services [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:label="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_lbl" xml:lang="en-US">Revenue from External Customer [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationNonproduction" xlink:label="us-gaap_DepreciationNonproduction" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationNonproduction" xlink:to="us-gaap_DepreciationNonproduction_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DepreciationNonproduction_lbl" xml:lang="en-US">Depreciation</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_3_lbl" xml:lang="en-US">Current and deferred income tax expense</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_4_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetIncomeLoss_4_lbl" xml:lang="en-US">Segment profit</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_SegmentAssets" xlink:label="FSI_SegmentAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SegmentAssets" xlink:to="FSI_SegmentAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_SegmentAssets_lbl" xml:lang="en-US">Segment assets</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_2_lbl" xml:lang="en-US">Expenditures for segment assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_lbl" xml:lang="en-US">Schedule of Revenues from External Customers and Long-Lived Assets [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_lbl" xml:lang="en-US">Revenues from External Customers and Long-Lived Assets [Line Items]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_3_lbl" xml:lang="en-US">Total</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncurrentAssets" xlink:label="us-gaap_NoncurrentAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncurrentAssets" xlink:to="us-gaap_NoncurrentAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NoncurrentAssets_lbl" xml:lang="en-US">Total</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:label="us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:to="us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable_lbl" xml:lang="en-US">Schedule of Revenue by Major Customers, by Reporting Segments [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:label="us-gaap_EntityWideRevenueMajorCustomerLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:to="us-gaap_EntityWideRevenueMajorCustomerLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EntityWideRevenueMajorCustomerLineItems_lbl" xml:lang="en-US">Revenue, Major Customer [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfOperatingSegments" xlink:label="us-gaap_NumberOfOperatingSegments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NumberOfOperatingSegments" xlink:to="us-gaap_NumberOfOperatingSegments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NumberOfOperatingSegments_lbl" xml:lang="en-US">Number of operating segments</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNet" xlink:to="us-gaap_AccountsReceivableNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccountsReceivableNet_2_lbl" xml:lang="en-US">Accounts receivable, after allowance for credit loss</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_StockOptionExercisePercent" xlink:label="FSI_StockOptionExercisePercent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockOptionExercisePercent" xlink:to="FSI_StockOptionExercisePercent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_StockOptionExercisePercent_lbl" xml:lang="en-US">Stock option exercise percent</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTable" xlink:label="us-gaap_SubsequentEventTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTable" xlink:to="us-gaap_SubsequentEventTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventTable_lbl" xml:lang="en-US">Subsequent Event [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventLineItems" xlink:label="us-gaap_SubsequentEventLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="us-gaap_SubsequentEventLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventLineItems_lbl" xml:lang="en-US">Subsequent Event [Line Items]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_2_lbl" xml:lang="en-US">Stock option issued upon exercise</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_3_lbl" xml:lang="en-US">Stock option granted</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EnpPeruInvestmentsLlcMember" xlink:to="FSI_EnpPeruInvestmentsLlcMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_EnpPeruInvestmentsLlcMember_doc" xml:lang="en-US">ENP Peru Investments LLC [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPInvestmentsLLCAndENPMendotaMember" xlink:to="FSI_ENPInvestmentsLLCAndENPMendotaMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ENPInvestmentsLLCAndENPMendotaMember_doc" xml:lang="en-US">ENP Investments LLC and ENP Mendota [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPPeruMember" xlink:to="FSI_ENPPeruMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ENPPeruMember_doc" xml:lang="en-US">ENP Peru [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_UnrelatedPartyMember" xlink:to="FSI_UnrelatedPartyMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_UnrelatedPartyMember_doc" xml:lang="en-US">Unrelated Party [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_IncreaseDecreaseInSharePercentage" xlink:to="FSI_IncreaseDecreaseInSharePercentage_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_IncreaseDecreaseInSharePercentage_doc" xml:lang="en-US">Increase decrease in share percentage.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_RemainingInvestmentOwnedPercentage" xlink:to="FSI_RemainingInvestmentOwnedPercentage_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_RemainingInvestmentOwnedPercentage_doc" xml:lang="en-US">Remaining investment owned percentage.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_MendotaLLCMember" xlink:to="FSI_MendotaLLCMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_MendotaLLCMember_doc" xml:lang="en-US">317 Mendota LLC [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TermDepositsPolicyTextBlock" xlink:to="FSI_TermDepositsPolicyTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_TermDepositsPolicyTextBlock_doc" xml:lang="en-US">Term Deposits [Policy Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_Consulting" xlink:to="FSI_Consulting_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_Consulting_doc" xml:lang="en-US">Consulting.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_InvestorRelationsAndTransferAgentFee" xlink:to="FSI_InvestorRelationsAndTransferAgentFee_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_InvestorRelationsAndTransferAgentFee_doc" xml:lang="en-US">Investor relations aand transfer agent fee.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_Commissions" xlink:to="FSI_Commissions_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_Commissions_doc" xml:lang="en-US">Commissions.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ShippingCost" xlink:to="FSI_ShippingCost_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ShippingCost_doc" xml:lang="en-US">Shipping cost.</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_OtherTermDeposit" xlink:label="FSI_OtherTermDeposit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_OtherTermDeposit" xlink:to="FSI_OtherTermDeposit_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_OtherTermDeposit_doc" xml:lang="en-US">Other term deposit.</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_SecondTermDeposit" xlink:label="FSI_SecondTermDeposit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SecondTermDeposit" xlink:to="FSI_SecondTermDeposit_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_SecondTermDeposit_doc" xml:lang="en-US">Second term deposit.</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ThirdTermDeposit" xlink:label="FSI_ThirdTermDeposit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ThirdTermDeposit" xlink:to="FSI_ThirdTermDeposit_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ThirdTermDeposit_doc" xml:lang="en-US">Third term deposit.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfMethodOfDepreciationTableTextBlock" xlink:to="FSI_ScheduleOfMethodOfDepreciationTableTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ScheduleOfMethodOfDepreciationTableTextBlock_doc" xml:lang="en-US">Schedule Of Method Of Depreciation [Table Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DepreciationMethodUsedAndAnnualRate" xlink:to="FSI_DepreciationMethodUsedAndAnnualRate_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_DepreciationMethodUsedAndAnnualRate_doc" xml:lang="en-US">Depreciation method used and annual rate.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_BoatMember" xlink:to="FSI_BoatMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_BoatMember_doc" xml:lang="en-US">Boat [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TrailerMember" xlink:to="FSI_TrailerMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_TrailerMember_doc" xml:lang="en-US">Trailer [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SoftwareMember" xlink:to="FSI_SoftwareMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_SoftwareMember_doc" xml:lang="en-US">Software [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockIssuedInExchangeForServicesPolicyTextBlock" xlink:to="FSI_StockIssuedInExchangeForServicesPolicyTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_StockIssuedInExchangeForServicesPolicyTextBlock_doc" xml:lang="en-US">Stock Issued In Exchange For Services [Policy Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ThreePrimaryCustomersMember" xlink:to="FSI_ThreePrimaryCustomersMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ThreePrimaryCustomersMember_doc" xml:lang="en-US">Three Primary Customers [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ConcentrationRiskThresholdPercentage" xlink:to="FSI_ConcentrationRiskThresholdPercentage_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ConcentrationRiskThresholdPercentage_doc" xml:lang="en-US">Concentration Risk Threshold Percentage.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_InvestmentMember" xlink:to="FSI_InvestmentMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_InvestmentMember_doc" xml:lang="en-US">Investment [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock" xlink:to="FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock_doc" xml:lang="en-US">Summary Of Right of use Asset And Lease Liability [Table Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_GainOnAcquisition" xlink:label="FSI_GainOnAcquisition" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_GainOnAcquisition" xlink:to="FSI_GainOnAcquisition_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_GainOnAcquisition_doc" xml:lang="en-US">Gain on acquisition.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LeaseInterestExpense" xlink:to="FSI_LeaseInterestExpense_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_LeaseInterestExpense_doc" xml:lang="en-US">Lease interest expense.</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_CurrentIncomeTaxExpenseBenefits" xlink:label="FSI_CurrentIncomeTaxExpenseBenefits" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_CurrentIncomeTaxExpenseBenefits" xlink:to="FSI_CurrentIncomeTaxExpenseBenefits_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_CurrentIncomeTaxExpenseBenefits_doc" xml:lang="en-US">Current income tax expense benefits.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EnPInvestmentsCorporationLLCMember" xlink:to="FSI_EnPInvestmentsCorporationLLCMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_EnPInvestmentsCorporationLLCMember_doc" xml:lang="en-US">ENP Investments Limited Liability Corporation (LLC) [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LongTermDepositsTextBlock" xlink:to="FSI_LongTermDepositsTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_LongTermDepositsTextBlock_doc" xml:lang="en-US">Long term deposits [Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfLongTermDepositsTableTextBlock" xlink:to="FSI_ScheduleOfLongTermDepositsTableTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ScheduleOfLongTermDepositsTableTextBlock_doc" xml:lang="en-US">Schedule Of Long Term Deposits [Table Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_NanoChemMember" xlink:to="FSI_NanoChemMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_NanoChemMember_doc" xml:lang="en-US">Nano Chem [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPInvestmentsLLCMember" xlink:to="FSI_ENPInvestmentsLLCMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ENPInvestmentsLLCMember_doc" xml:lang="en-US">ENP Investments LLC [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_AdditionalEquityMethodInvestmentOwnershipPercentage" xlink:to="FSI_AdditionalEquityMethodInvestmentOwnershipPercentage_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_AdditionalEquityMethodInvestmentOwnershipPercentage_doc" xml:lang="en-US">Additional equity method investment ownership percentage.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LeaseRightOfUseFinancing" xlink:to="FSI_LeaseRightOfUseFinancing_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_LeaseRightOfUseFinancing_doc" xml:lang="en-US">Lease right of use financing.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_PaymentsToAcquireLongTermDeposits" xlink:to="FSI_PaymentsToAcquireLongTermDeposits_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_PaymentsToAcquireLongTermDeposits_doc" xml:lang="en-US">Payments to acquire long term deposits.</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_RemainningShareOutstanding" xlink:label="FSI_RemainningShareOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_RemainningShareOutstanding" xlink:to="FSI_RemainningShareOutstanding_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_RemainningShareOutstanding_doc" xml:lang="en-US">Remainning share outstanding.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EnpnvestmentsLlcMember" xlink:to="FSI_EnpnvestmentsLlcMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_EnpnvestmentsLlcMember_doc" xml:lang="en-US">ENP Investments LLC [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_GainOnAcquisitionOfSubsidiary" xlink:to="FSI_GainOnAcquisitionOfSubsidiary_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_GainOnAcquisitionOfSubsidiary_doc" xml:lang="en-US">Gain on acquisition of subsidiary.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt" xlink:to="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt_doc" xml:lang="en-US">Business combination recognized identifiable assets acquired and liabilities assumed long term debt.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice" xlink:to="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice_doc" xml:lang="en-US">Business combination recognized identifiable assets acquired and liabilities assumed less purchase price.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_InvestmentEliminatedUponConsolidation" xlink:to="FSI_InvestmentEliminatedUponConsolidation_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_InvestmentEliminatedUponConsolidation_doc" xml:lang="en-US">Investment eliminated upon consolidation.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EquityMethodInvestmentReturnOfEquity" xlink:to="FSI_EquityMethodInvestmentReturnOfEquity_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_EquityMethodInvestmentReturnOfEquity_doc" xml:lang="en-US">Return of equity.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_AppliedHoldingCorpMember" xlink:to="FSI_AppliedHoldingCorpMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_AppliedHoldingCorpMember_doc" xml:lang="en-US">Applied Holding Corp [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_CapitalInExcessOfParValueMember" xlink:to="FSI_CapitalInExcessOfParValueMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_CapitalInExcessOfParValueMember_doc" xml:lang="en-US">Capital in Excess of Par Value [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TrioOpportunityCorpMember" xlink:to="FSI_TrioOpportunityCorpMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_TrioOpportunityCorpMember_doc" xml:lang="en-US">Trio Opportunity Corp [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_FloridaBasedLLCMember" xlink:to="FSI_FloridaBasedLLCMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_FloridaBasedLLCMember_doc" xml:lang="en-US">Florida Based LLC [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_RealizedInvestmentGainsLossesNet" xlink:to="FSI_RealizedInvestmentGainsLossesNet_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_RealizedInvestmentGainsLossesNet_doc" xml:lang="en-US">Net income.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LygosIncMember" xlink:to="FSI_LygosIncMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_LygosIncMember_doc" xml:lang="en-US">Lygos Inc [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockYardAndBankMember" xlink:to="FSI_StockYardAndBankMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_StockYardAndBankMember_doc" xml:lang="en-US">Stock Yard And Bank One [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_MidlandStatesBankMember" xlink:to="FSI_MidlandStatesBankMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_MidlandStatesBankMember_doc" xml:lang="en-US">Midland States Bank [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_NewAgreementMember" xlink:to="FSI_NewAgreementMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_NewAgreementMember_doc" xml:lang="en-US">New Agreement [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_PercentageOfForeignAccountsReceivableOfInventory" xlink:to="FSI_PercentageOfForeignAccountsReceivableOfInventory_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_PercentageOfForeignAccountsReceivableOfInventory_doc" xml:lang="en-US">Percentage of foreign accounts receivable of inventory.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ProceedsFromRedemptionOfInvestments" xlink:to="FSI_ProceedsFromRedemptionOfInvestments_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ProceedsFromRedemptionOfInvestments_doc" xml:lang="en-US">Proceeds from redemption of investments.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LoanGuaranteedRate" xlink:to="FSI_LoanGuaranteedRate_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_LoanGuaranteedRate_doc" xml:lang="en-US">Loan guaranteed rate.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_NanoChemSolutionIncMember" xlink:to="FSI_NanoChemSolutionIncMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_NanoChemSolutionIncMember_doc" xml:lang="en-US">NanoChem Solutions Inc [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockBankMember" xlink:to="FSI_StockBankMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_StockBankMember_doc" xml:lang="en-US">Stock Bank [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EligiblePercentageOfDomesticAccountsReceivable" xlink:to="FSI_EligiblePercentageOfDomesticAccountsReceivable_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_EligiblePercentageOfDomesticAccountsReceivable_doc" xml:lang="en-US">Eligible percentage of domestic accounts receivable.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TermLoanMember" xlink:to="FSI_TermLoanMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_TermLoanMember_doc" xml:lang="en-US">Term Loan [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_MidlandBankMember" xlink:to="FSI_MidlandBankMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_MidlandBankMember_doc" xml:lang="en-US">Midland Bank [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_NanoChemSolutionsIncMember" xlink:to="FSI_NanoChemSolutionsIncMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_NanoChemSolutionsIncMember_doc" xml:lang="en-US">NanoChem Solutions Inc [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_EmployeeMember" xlink:label="FSI_EmployeeMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EmployeeMember" xlink:to="FSI_EmployeeMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_EmployeeMember_doc" xml:lang="en-US">Employee [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPMendotaMember" xlink:to="FSI_ENPMendotaMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ENPMendotaMember_doc" xml:lang="en-US">ENP Mendota, LLC [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockYardsBankTrustMember" xlink:to="FSI_StockYardsBankTrustMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_StockYardsBankTrustMember_doc" xml:lang="en-US">Stock Yards Bank Trust [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EnpRealtyLLCMember" xlink:to="FSI_EnpRealtyLLCMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_EnpRealtyLLCMember_doc" xml:lang="en-US">ENP Realty LLC [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfDistributionsTableTextBlock" xlink:to="FSI_ScheduleOfDistributionsTableTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ScheduleOfDistributionsTableTextBlock_doc" xml:lang="en-US">Schedule of distributions [Table Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_OwnershipInterestPurchaseAgreementMember" xlink:to="FSI_OwnershipInterestPurchaseAgreementMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_OwnershipInterestPurchaseAgreementMember_doc" xml:lang="en-US">Ownership Interest Purchase Agreement [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPPeruOneMember" xlink:to="FSI_ENPPeruOneMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ENPPeruOneMember_doc" xml:lang="en-US">ENP Peru One [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPPeruInvestmentsMember" xlink:to="FSI_ENPPeruInvestmentsMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ENPPeruInvestmentsMember_doc" xml:lang="en-US">ENP Peru Investments [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_MendotaMember" xlink:to="FSI_MendotaMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_MendotaMember_doc" xml:lang="en-US">Mendota [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfLoanCovenantsTableTextBlock" xlink:to="FSI_ScheduleOfLoanCovenantsTableTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ScheduleOfLoanCovenantsTableTextBlock_doc" xml:lang="en-US">Schedule of loan covenants [Table Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ProceedsFromLoanAcquiredFromAcquisition" xlink:to="FSI_ProceedsFromLoanAcquiredFromAcquisition_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ProceedsFromLoanAcquiredFromAcquisition_doc" xml:lang="en-US">Proceeds from loan acquired from acquisition.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_CurrentTax" xlink:to="FSI_CurrentTax_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_CurrentTax_doc" xml:lang="en-US">Current tax.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_IncomeTaxRecovery" xlink:to="FSI_IncomeTaxRecovery_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_IncomeTaxRecovery_doc" xml:lang="en-US">Income tax recovery.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ConsultantStockOptionMember" xlink:to="FSI_ConsultantStockOptionMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ConsultantStockOptionMember_doc" xml:lang="en-US">Consultant Stock Option [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ExpectedIncomeTaxRecovery" xlink:to="FSI_ExpectedIncomeTaxRecovery_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ExpectedIncomeTaxRecovery_doc" xml:lang="en-US">Expected income tax recovery.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock" xlink:to="FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock_doc" xml:lang="en-US">Schedule of noncontrolling interest related to acquisition [Table Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DeferredTaxAssetsPropertyPlantsAndEquipment" xlink:to="FSI_DeferredTaxAssetsPropertyPlantsAndEquipment_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_DeferredTaxAssetsPropertyPlantsAndEquipment_doc" xml:lang="en-US">Deferred tax assets property plants and equipment.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DeferredTaxAssetsPropertyPlantsAndEquipmentOne" xlink:to="FSI_DeferredTaxAssetsPropertyPlantsAndEquipmentOne_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_DeferredTaxAssetsPropertyPlantsAndEquipmentOne_doc" xml:lang="en-US">Deferred tax assets property plants and equipment.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DeferredTaxAssetNotRecognized" xlink:to="FSI_DeferredTaxAssetNotRecognized_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_DeferredTaxAssetNotRecognized_doc" xml:lang="en-US">Deferred tax asset not recognized.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfNonOperatingLossCarryforwardsTableTextBlock" xlink:to="FSI_ScheduleOfNonOperatingLossCarryforwardsTableTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ScheduleOfNonOperatingLossCarryforwardsTableTextBlock_doc" xml:lang="en-US">Schedule of nonoperating loss carryforwards [Table Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TwoThousandThirtyTaxYearMember" xlink:to="FSI_TwoThousandThirtyTaxYearMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_TwoThousandThirtyTaxYearMember_doc" xml:lang="en-US">2030 [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TwoThousandThirtyOneYearMember" xlink:to="FSI_TwoThousandThirtyOneYearMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_TwoThousandThirtyOneYearMember_doc" xml:lang="en-US">2031 [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TwoThousandThirtyTwoYearMember" xlink:to="FSI_TwoThousandThirtyTwoYearMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_TwoThousandThirtyTwoYearMember_doc" xml:lang="en-US">2032 [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TwoThousandThirtySevenYearMember" xlink:to="FSI_TwoThousandThirtySevenYearMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_TwoThousandThirtySevenYearMember_doc" xml:lang="en-US">2037 [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TwoThousandThirtyNineYearMember" xlink:to="FSI_TwoThousandThirtyNineYearMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_TwoThousandThirtyNineYearMember_doc" xml:lang="en-US">2039 [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TwoThousandFourtyYearMember" xlink:to="FSI_TwoThousandFourtyYearMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_TwoThousandFourtyYearMember_doc" xml:lang="en-US">2040 [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EWCPMember" xlink:to="FSI_EWCPMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_EWCPMember_doc" xml:lang="en-US">EWCP [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SegmentMember" xlink:to="FSI_SegmentMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_SegmentMember_doc" xml:lang="en-US">Segment [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_BCPAMember" xlink:to="FSI_BCPAMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_BCPAMember_doc" xml:lang="en-US">BCPA [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SegmentAssets" xlink:to="FSI_SegmentAssets_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_SegmentAssets_doc" xml:lang="en-US">Segment assets.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_doc" xml:lang="en-US">Exercise price per share.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_doc" xml:lang="en-US">Exercise price per share, Granted.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_doc" xml:lang="en-US">Cancelled or expired, Exercise price per share.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_doc" xml:lang="en-US">Exercised, Exercise price per share.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ThreeCustomersMember" xlink:to="FSI_ThreeCustomersMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ThreeCustomersMember_doc" xml:lang="en-US">Three Customers [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_doc" xml:lang="en-US">Exercise price per share.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockOptionExercisePercent" xlink:to="FSI_StockOptionExercisePercent_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_StockOptionExercisePercent_doc" xml:lang="en-US">Stock option exercise percent</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ConsultantsMember" xlink:to="FSI_ConsultantsMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ConsultantsMember_doc" xml:lang="en-US">Consultants [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_AdditionalExpensesDueToOptionsGranted" xlink:to="FSI_AdditionalExpensesDueToOptionsGranted_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_AdditionalExpensesDueToOptionsGranted_doc" xml:lang="en-US">Additional expenses due to options granted.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EmployeesMember" xlink:to="FSI_EmployeesMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_EmployeesMember_doc" xml:lang="en-US">Employees [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_FirstTermMember" xlink:to="FSI_FirstTermMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_FirstTermMember_doc" xml:lang="en-US">First Term [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SecondTermMember" xlink:to="FSI_SecondTermMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_SecondTermMember_doc" xml:lang="en-US">Second Term [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ThirdTermMember" xlink:to="FSI_ThirdTermMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ThirdTermMember_doc" xml:lang="en-US">Third Term [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_GainOnPreviouslyHeldEquityInterest" xlink:to="FSI_GainOnPreviouslyHeldEquityInterest_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_GainOnPreviouslyHeldEquityInterest_doc" xml:lang="en-US">Gain on previously held equity interest.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_UnitedStatesandAbroadMember" xlink:to="FSI_UnitedStatesandAbroadMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_UnitedStatesandAbroadMember_doc" xml:lang="en-US">United States and Abroad [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPInvestmentsAndENPMendotaMember" xlink:to="FSI_ENPInvestmentsAndENPMendotaMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ENPInvestmentsAndENPMendotaMember_doc" xml:lang="en-US">ENP Investments And 317 ENP Mendota [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_NanoChemSolutionsIncMember" xlink:to="FSI_NanoChemSolutionsIncMember_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_NanoChemSolutionsIncMember_3_lbl" xml:lang="en-US">NanoChem Solutions Inc [Member] [Default Label]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrent_2_lbl" xml:lang="en-US">Assets, Current</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Assets_2_lbl" xml:lang="en-US">Assets [Default Label]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrent_2_lbl" xml:lang="en-US">Liabilities, Current</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Liabilities_2_lbl" xml:lang="en-US">Liabilities [Default Label]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquity_2_lbl" xml:lang="en-US">Equity, Attributable to Parent</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_4_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_4_lbl" xml:lang="en-US">Equity, Including Portion Attributable to Noncontrolling Interest</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GrossProfit_2_lbl" xml:lang="en-US">Gross Profit</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_2_lbl" xml:lang="en-US">Gain (Loss), Foreign Currency Transaction, before Tax</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_OperatingExpenses_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingExpenses_2_lbl" xml:lang="en-US">Operating Expenses</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingIncomeLoss_2_lbl" xml:lang="en-US">Operating Income (Loss)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_2_lbl" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_2_lbl" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Attributable to Noncontrolling Interest</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_2_lbl" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Attributable to Parent</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_2_lbl" xml:lang="en-US">Gain (Loss) on Disposition of Property Plant Equipment</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_2_lbl" xml:lang="en-US">Increase (Decrease) in Accounts Receivable</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInInventories_2_lbl" xml:lang="en-US">Increase (Decrease) in Inventories</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:to="us-gaap_IncreaseDecreaseInPrepaidExpense_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInPrepaidExpense_2_lbl" xml:lang="en-US">Increase (Decrease) in Prepaid Expense</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_2_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_PaymentsToAcquireLongTermDeposits" xlink:to="FSI_PaymentsToAcquireLongTermDeposits_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_PaymentsToAcquireLongTermDeposits_3_lbl" xml:lang="en-US">PaymentsToAcquireLongTermDeposits</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_3_lbl" xml:lang="en-US">Payments to Acquire Property, Plant, and Equipment</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_2_lbl" xml:lang="en-US">Payments to Acquire Businesses, Net of Cash Acquired</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_2_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfLongTermDebt" xlink:to="us-gaap_RepaymentsOfLongTermDebt_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RepaymentsOfLongTermDebt_2_lbl" xml:lang="en-US">Repayments of Long-Term Debt</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfFinancingCosts" xlink:to="us-gaap_PaymentsOfFinancingCosts_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsOfFinancingCosts_2_lbl" xml:lang="en-US">Payments of Financing Costs</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfDividends" xlink:to="us-gaap_PaymentsOfDividends_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsOfDividends_2_lbl" xml:lang="en-US">Payments of Dividends</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_2_lbl" 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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_2_lbl" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_3_lbl" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermInvestments" xlink:to="us-gaap_ShortTermInvestments_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermInvestments_2_lbl" xml:lang="en-US">Short-Term Investments</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesOutstanding" xlink:to="us-gaap_SharesOutstanding_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharesOutstanding_3_lbl" xml:lang="en-US">Shares, Outstanding</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:to="us-gaap_StockIssuedDuringPeriodValueNewIssues_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues_2_lbl" xml:lang="en-US">Stock Issued During Period, Value, New Issues</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:to="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_3_lbl" xml:lang="en-US">Noncontrolling Interest, Decrease from Distributions to Noncontrolling Interest Holders</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Dividends" xlink:to="us-gaap_Dividends_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Dividends_2_lbl" xml:lang="en-US">Dividends</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:to="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_2_lbl" xml:lang="en-US">Operating Lease, Right-of-Use Asset, Periodic Reduction</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasePayments" xlink:to="us-gaap_OperatingLeasePayments_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeasePayments_2_lbl" xml:lang="en-US">Operating Lease, Payments</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_2_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_2_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Undiscounted Excess Amount</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" xlink:to="us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables_2_lbl" xml:lang="en-US">Allowance for Doubtful Accounts, Premiums and Other Receivables</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsAndNotesReceivableNet" xlink:to="us-gaap_AccountsAndNotesReceivableNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsAndNotesReceivableNet_2_lbl" xml:lang="en-US">Accounts and Financing Receivable, after Allowance for Credit Loss</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_2_lbl" 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_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_2_lbl" 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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_2_lbl" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings_2_lbl" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Buildings</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand_2_lbl" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Land</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_2_lbl" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Liabilities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt" xlink:to="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt_3_lbl" xml:lang="en-US">BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_2_lbl" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice" xlink:to="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice_3_lbl" xml:lang="en-US">BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_RealizedInvestmentGainsLossesNet" xlink:to="FSI_RealizedInvestmentGainsLossesNet_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_RealizedInvestmentGainsLossesNet_3_lbl" xml:lang="en-US">RealizedInvestmentGainsLossesNet</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Revenues" xlink:to="us-gaap_Revenues_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Revenues_2_lbl" xml:lang="en-US">Revenues</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForProceedsFromDepositOnLoan" xlink:to="us-gaap_PaymentsForProceedsFromDepositOnLoan_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsForProceedsFromDepositOnLoan_2_lbl" xml:lang="en-US">Payments for (Proceeds from) Deposit on Loan</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_CurrentTax" xlink:to="FSI_CurrentTax_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_CurrentTax_3_lbl" xml:lang="en-US">CurrentTax</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_IncomeTaxRecovery" xlink:to="FSI_IncomeTaxRecovery_4_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_IncomeTaxRecovery_4_lbl" xml:lang="en-US">IncomeTaxRecovery</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_2_lbl" xml:lang="en-US">Deferred Tax Assets, Valuation Allowance</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsInvestments" xlink:to="us-gaap_DeferredTaxAssetsInvestments_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsInvestments_2_lbl" xml:lang="en-US">Deferred Tax Assets, Investments</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DeferredTaxAssetsPropertyPlantsAndEquipmentOne" xlink:to="FSI_DeferredTaxAssetsPropertyPlantsAndEquipmentOne_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_DeferredTaxAssetsPropertyPlantsAndEquipmentOne_3_lbl" xml:lang="en-US">DeferredTaxAssetsPropertyPlantsAndEquipmentOne</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilities" xlink:to="us-gaap_DeferredTaxLiabilities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilities_2_lbl" xml:lang="en-US">Deferred Tax Liabilities, Net</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_3_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_4_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_4_lbl" xml:lang="en-US">SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_3_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_2_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_2_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_3_lbl" xml:lang="en-US">SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_2_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation" xlink:to="us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation_2_lbl" xml:lang="en-US">Noncontrolling Interest, Decrease from Deconsolidation</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationNonproduction" xlink:to="us-gaap_DepreciationNonproduction_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepreciationNonproduction_2_lbl" xml:lang="en-US">Depreciation, Nonproduction</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncurrentAssets" xlink:to="us-gaap_NoncurrentAssets_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncurrentAssets_2_lbl" xml:lang="en-US">Long-Lived Assets</link:label>
    </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>13
<FILENAME>fsi-20231231_pre.xml
<DESCRIPTION>INLINE XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.22a -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Cover" xlink:href="fsi-20231231.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/BalanceSheets" xlink:href="fsi-20231231.xsd#BalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/BalanceSheetsParenthetical" xlink:href="fsi-20231231.xsd#BalanceSheetsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome" xlink:href="fsi-20231231.xsd#StatementsOfIncomeAndComprehensiveIncome" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StatementsOfCashFlows" xlink:href="fsi-20231231.xsd#StatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StatementsOfStockholdersEquity" xlink:href="fsi-20231231.xsd#StatementsOfStockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/BasisOfPresentation" xlink:href="fsi-20231231.xsd#BasisOfPresentation" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPolicies" xlink:href="fsi-20231231.xsd#SignificantAccountingPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Leases" xlink:href="fsi-20231231.xsd#Leases" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/AccountsReceivable" xlink:href="fsi-20231231.xsd#AccountsReceivable" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Inventories" xlink:href="fsi-20231231.xsd#Inventories" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholds" xlink:href="fsi-20231231.xsd#PropertyEquipmentAndLeaseholds" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Patents" xlink:href="fsi-20231231.xsd#Patents" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssets" xlink:href="fsi-20231231.xsd#GoodwillAndIntangibleAssets" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDeposits" xlink:href="fsi-20231231.xsd#LongTermDeposits" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Investments" xlink:href="fsi-20231231.xsd#Investments" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Short-termLineOfCredit" xlink:href="fsi-20231231.xsd#Short-termLineOfCredit" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDebt" xlink:href="fsi-20231231.xsd#LongTermDebt" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/IncomeTaxes" xlink:href="fsi-20231231.xsd#IncomeTaxes" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/IncomePerShare" xlink:href="fsi-20231231.xsd#IncomePerShare" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StockOptions" xlink:href="fsi-20231231.xsd#StockOptions" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/CapitalStock" xlink:href="fsi-20231231.xsd#CapitalStock" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Non-controllingInterests" xlink:href="fsi-20231231.xsd#Non-controllingInterests" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependency" xlink:href="fsi-20231231.xsd#SegmentedSignificantCustomerInformationAndEconomicDependency" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SubsequentEvents" xlink:href="fsi-20231231.xsd#SubsequentEvents" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies" xlink:href="fsi-20231231.xsd#SignificantAccountingPoliciesPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables" xlink:href="fsi-20231231.xsd#SignificantAccountingPoliciesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LeasesTables" xlink:href="fsi-20231231.xsd#LeasesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/AccountsReceivableTables" xlink:href="fsi-20231231.xsd#AccountsReceivableTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InventoriesTables" xlink:href="fsi-20231231.xsd#InventoriesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsTables" xlink:href="fsi-20231231.xsd#PropertyEquipmentAndLeaseholdsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PatentsTables" xlink:href="fsi-20231231.xsd#PatentsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsTables" xlink:href="fsi-20231231.xsd#GoodwillAndIntangibleAssetsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDepositsTables" xlink:href="fsi-20231231.xsd#LongTermDepositsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InvestmentsTables" xlink:href="fsi-20231231.xsd#InvestmentsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDebtTables" xlink:href="fsi-20231231.xsd#LongTermDebtTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/IncomeTaxesTables" xlink:href="fsi-20231231.xsd#IncomeTaxesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/IncomePerShareTables" xlink:href="fsi-20231231.xsd#IncomePerShareTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StockOptionsTables" xlink:href="fsi-20231231.xsd#StockOptionsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Non-controllingInterestsTables" xlink:href="fsi-20231231.xsd#Non-controllingInterestsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables" xlink:href="fsi-20231231.xsd#SegmentedSignificantCustomerInformationAndEconomicDependencyTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative" xlink:href="fsi-20231231.xsd#BasisOfPresentationDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails" xlink:href="fsi-20231231.xsd#ScheduleOfMethodOfDepreciationDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative" xlink:href="fsi-20231231.xsd#SignificantAccountingPoliciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" xlink:href="fsi-20231231.xsd#SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfUndiscountedRentPaymentsDetails" xlink:href="fsi-20231231.xsd#ScheduleOfUndiscountedRentPaymentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LeasesDetailsNarrative" xlink:href="fsi-20231231.xsd#LeasesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails" xlink:href="fsi-20231231.xsd#ScheduleOfAccountsReceivableDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfInventoryDetails" xlink:href="fsi-20231231.xsd#ScheduleOfInventoryDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails" xlink:href="fsi-20231231.xsd#ScheduleOfPropertyEquipmentAndLeaseholdsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsDetailsNarrative" xlink:href="fsi-20231231.xsd#PropertyEquipmentAndLeaseholdsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfPatentsDetails" xlink:href="fsi-20231231.xsd#ScheduleOfPatentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" xlink:href="fsi-20231231.xsd#ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PatentsDetailsNarrative" xlink:href="fsi-20231231.xsd#PatentsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails" xlink:href="fsi-20231231.xsd#ScheduleOfEstimatedFutureAmortizationExpenseDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsDetailsNarrative" xlink:href="fsi-20231231.xsd#GoodwillAndIntangibleAssetsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails" xlink:href="fsi-20231231.xsd#ScheduleOfLongTermDepositsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails" xlink:href="fsi-20231231.xsd#ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails" xlink:href="fsi-20231231.xsd#ScheduleOfEquityMethodInvestmentDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" xlink:href="fsi-20231231.xsd#SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InvestmentsDetailsNarrative" xlink:href="fsi-20231231.xsd#InvestmentsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative" xlink:href="fsi-20231231.xsd#Short-termLineOfCreditDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails" xlink:href="fsi-20231231.xsd#ScheduleOfLoanCovenantsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails" xlink:href="fsi-20231231.xsd#ScheduleOfOutstandingBalanceLoanDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative" xlink:href="fsi-20231231.xsd#LongTermDebtDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails" xlink:href="fsi-20231231.xsd#ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails" xlink:href="fsi-20231231.xsd#ScheduleOfReconciliationOfIncomeTaxesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails" xlink:href="fsi-20231231.xsd#ScheduleOfDeferredTaxAssetsLiabilitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails" xlink:href="fsi-20231231.xsd#ScheduleOfNonOperatingLossCarryforwardsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative" xlink:href="fsi-20231231.xsd#IncomeTaxesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfBasicAndDilutedLossPerShareDetails" xlink:href="fsi-20231231.xsd#ScheduleOfBasicAndDilutedLossPerShareDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfAnti-dilutiveOptionsDetails" xlink:href="fsi-20231231.xsd#ScheduleOfAnti-dilutiveOptionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/IncomePerShareDetailsNarrative" xlink:href="fsi-20231231.xsd#IncomePerShareDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails" xlink:href="fsi-20231231.xsd#ScheduleOfStockOptionActivitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails" xlink:href="fsi-20231231.xsd#ScheduleOfStockOptionFairValueAssumptionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StockOptionsDetailsNarrative" xlink:href="fsi-20231231.xsd#StockOptionsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/CapitalStockDetailsNarrative" xlink:href="fsi-20231231.xsd#CapitalStockDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails" xlink:href="fsi-20231231.xsd#ScheduleOfDistributionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" xlink:href="fsi-20231231.xsd#ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative" xlink:href="fsi-20231231.xsd#Non-controllingInterestsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails" xlink:href="fsi-20231231.xsd#ScheduleOfReportableSegmentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" xlink:href="fsi-20231231.xsd#ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails" xlink:href="fsi-20231231.xsd#ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative" xlink:href="fsi-20231231.xsd#SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative" xlink:href="fsi-20231231.xsd#SubsequentEventsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/PvpDisclosure" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#PvpDisclosure" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ErrCompDisclosure" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#AwardTimingDisclosure" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#InsiderTradingArrangements" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#InsiderTradingPoliciesProc" xlink:type="simple" />
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Cover" xlink:title="00000001 - Document - Cover">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract" xlink:label="loc_deiCoverAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="loc_deiDocumentType" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentType" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="loc_deiAmendmentFlag" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAmendmentFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentDescription" xlink:label="loc_deiAmendmentDescription" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAmendmentDescription" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentRegistrationStatement" xlink:label="loc_deiDocumentRegistrationStatement" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentRegistrationStatement" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAnnualReport" xlink:label="loc_deiDocumentAnnualReport" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentAnnualReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentQuarterlyReport" xlink:label="loc_deiDocumentQuarterlyReport" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentQuarterlyReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="loc_deiDocumentTransitionReport" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentTransitionReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentShellCompanyReport" xlink:label="loc_deiDocumentShellCompanyReport" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentShellCompanyReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentShellCompanyEventDate" xlink:label="loc_deiDocumentShellCompanyEventDate" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentShellCompanyEventDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodStartDate" xlink:label="loc_deiDocumentPeriodStartDate" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentPeriodStartDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="loc_deiDocumentPeriodEndDate" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentPeriodEndDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="loc_deiDocumentFiscalPeriodFocus" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentFiscalPeriodFocus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus" xlink:label="loc_deiDocumentFiscalYearFocus" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentFiscalYearFocus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="loc_deiCurrentFiscalYearEndDate" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCurrentFiscalYearEndDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="loc_deiEntityFileNumber" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityFileNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="loc_deiEntityRegistrantName" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityRegistrantName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="loc_deiEntityCentralIndexKey" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCentralIndexKey" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPrimarySicNumber" xlink:label="loc_deiEntityPrimarySicNumber" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityPrimarySicNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="loc_deiEntityTaxIdentificationNumber" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityTaxIdentificationNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="loc_deiEntityIncorporationStateCountryCode" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityIncorporationStateCountryCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="loc_deiEntityAddressAddressLine1" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine2" xlink:label="loc_deiEntityAddressAddressLine2" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine3" xlink:label="loc_deiEntityAddressAddressLine3" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine3" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="loc_deiEntityAddressCityOrTown" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressCityOrTown" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="loc_deiEntityAddressStateOrProvince" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressStateOrProvince" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCountry" xlink:label="loc_deiEntityAddressCountry" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressCountry" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="loc_deiEntityAddressPostalZipCode" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressPostalZipCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CountryRegion" xlink:label="loc_deiCountryRegion" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCountryRegion" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="loc_deiCityAreaCode" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCityAreaCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="loc_deiLocalPhoneNumber" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiLocalPhoneNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Extension" xlink:label="loc_deiExtension" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiExtension" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_WrittenCommunications" xlink:label="loc_deiWrittenCommunications" />
      <link:presentationArc order="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiWrittenCommunications" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SolicitingMaterial" xlink:label="loc_deiSolicitingMaterial" />
      <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSolicitingMaterial" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementTenderOffer" xlink:label="loc_deiPreCommencementTenderOffer" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiPreCommencementTenderOffer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="loc_deiPreCommencementIssuerTenderOffer" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiPreCommencementIssuerTenderOffer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="loc_deiSecurity12bTitle" />
      <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurity12bTitle" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_NoTradingSymbolFlag" xlink:label="loc_deiNoTradingSymbolFlag" />
      <link:presentationArc order="360" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiNoTradingSymbolFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="loc_deiTradingSymbol" />
      <link:presentationArc order="370" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiTradingSymbol" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="loc_deiSecurityExchangeName" />
      <link:presentationArc order="380" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurityExchangeName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12gTitle" xlink:label="loc_deiSecurity12gTitle" />
      <link:presentationArc order="390" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurity12gTitle" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityReportingObligation" xlink:label="loc_deiSecurityReportingObligation" />
      <link:presentationArc order="400" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurityReportingObligation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AnnualInformationForm" xlink:label="loc_deiAnnualInformationForm" />
      <link:presentationArc order="410" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAnnualInformationForm" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditedAnnualFinancialStatements" xlink:label="loc_deiAuditedAnnualFinancialStatements" />
      <link:presentationArc order="420" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAuditedAnnualFinancialStatements" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="loc_deiEntityWellKnownSeasonedIssuer" />
      <link:presentationArc order="430" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityWellKnownSeasonedIssuer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityVoluntaryFilers" xlink:label="loc_deiEntityVoluntaryFilers" />
      <link:presentationArc order="440" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityVoluntaryFilers" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="loc_deiEntityCurrentReportingStatus" />
      <link:presentationArc order="450" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCurrentReportingStatus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent" xlink:label="loc_deiEntityInteractiveDataCurrent" />
      <link:presentationArc order="460" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityInteractiveDataCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="loc_deiEntityFilerCategory" />
      <link:presentationArc order="470" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityFilerCategory" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness" xlink:label="loc_deiEntitySmallBusiness" />
      <link:presentationArc order="480" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntitySmallBusiness" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="loc_deiEntityEmergingGrowthCompany" />
      <link:presentationArc order="490" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityEmergingGrowthCompany" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityExTransitionPeriod" xlink:label="loc_deiEntityExTransitionPeriod" />
      <link:presentationArc order="500" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityExTransitionPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAccountingStandard" xlink:label="loc_deiDocumentAccountingStandard" />
      <link:presentationArc order="510" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentAccountingStandard" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_OtherReportingStandardItemNumber" xlink:label="loc_deiOtherReportingStandardItemNumber" />
      <link:presentationArc order="520" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiOtherReportingStandardItemNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="loc_deiEntityShellCompany" />
      <link:presentationArc order="530" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityShellCompany" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPublicFloat" xlink:label="loc_deiEntityPublicFloat" />
      <link:presentationArc order="540" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityPublicFloat" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityBankruptcyProceedingsReportingCurrent" xlink:label="loc_deiEntityBankruptcyProceedingsReportingCurrent" />
      <link:presentationArc order="550" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityBankruptcyProceedingsReportingCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="loc_deiEntityCommonStockSharesOutstanding" />
      <link:presentationArc order="560" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCommonStockSharesOutstanding" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="loc_deiDocumentsIncorporatedByReferenceTextBlock" />
      <link:presentationArc order="570" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentsIncorporatedByReferenceTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="loc_deiIcfrAuditorAttestationFlag" />
      <link:presentationArc order="580" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiIcfrAuditorAttestationFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFinStmtErrorCorrectionFlag" xlink:label="loc_deiDocumentFinStmtErrorCorrectionFlag" />
      <link:presentationArc order="590" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentFinStmtErrorCorrectionFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorName" xlink:label="loc_deiAuditorName" />
      <link:presentationArc order="600" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAuditorName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorFirmId" xlink:label="loc_deiAuditorFirmId" />
      <link:presentationArc order="610" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAuditorFirmId" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorLocation" xlink:label="loc_deiAuditorLocation" />
      <link:presentationArc order="620" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAuditorLocation" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/BalanceSheets" xlink:title="00000002 - Statement - Consolidated Balance Sheets">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaapStatementOfFinancialPositionAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract" xlink:label="loc_us-gaapAssetsAbstract" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapAssetsAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="loc_us-gaapAssetsCurrentAbstract" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapAssetsCurrentAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Cash" xlink:label="loc_us-gaapCash" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapCash" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepositsAssetsCurrent" xlink:label="loc_us-gaapDepositsAssetsCurrent" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapDepositsAssetsCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaapAccountsReceivableNetCurrent" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapAccountsReceivableNetCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapInventoryNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseCurrent" xlink:label="loc_us-gaapPrepaidExpenseCurrent" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapPrepaidExpenseCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaapAssetsCurrent" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapAssetsCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAsset" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAsset" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepositsAssetsNoncurrent" xlink:label="loc_us-gaapDepositsAssetsNoncurrent" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapDepositsAssetsNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestments" xlink:label="loc_us-gaapEquityMethodInvestments" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapEquityMethodInvestments" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaapGoodwill" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapGoodwill" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="loc_us-gaapDeferredIncomeTaxAssetsNet" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapDeferredIncomeTaxAssetsNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="loc_us-gaapAssets" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapAssets" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAbstract" xlink:label="loc_us-gaapLiabilitiesAbstract" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapLiabilitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="loc_us-gaapLiabilitiesCurrentAbstract" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAbstract" xlink:to="loc_us-gaapLiabilitiesCurrentAbstract" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaapAccountsPayableCurrent" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapAccountsPayableCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaapAccruedLiabilitiesCurrent" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapAccruedLiabilitiesCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenueCurrent" xlink:label="loc_us-gaapDeferredRevenueCurrent" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapDeferredRevenueCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxesPayableCurrent" xlink:label="loc_us-gaapTaxesPayableCurrent" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapTaxesPayableCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="loc_us-gaapLinesOfCreditCurrent" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapLinesOfCreditCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityCurrent" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapOperatingLeaseLiabilityCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtCurrent" xlink:label="loc_us-gaapLongTermDebtCurrent" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapLongTermDebtCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaapLiabilitiesCurrent" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapLiabilitiesCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityNoncurrent" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAbstract" xlink:to="loc_us-gaapOperatingLeaseLiabilityNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="loc_us-gaapDeferredIncomeTaxLiabilitiesNet" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAbstract" xlink:to="loc_us-gaapDeferredIncomeTaxLiabilitiesNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="loc_us-gaapLongTermDebtNoncurrent" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAbstract" xlink:to="loc_us-gaapLongTermDebtNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaapLiabilities" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAbstract" xlink:to="loc_us-gaapLiabilities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="loc_us-gaapStockholdersEquityAbstract" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAbstract" xlink:to="loc_us-gaapStockholdersEquityAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="loc_us-gaapCommonStockValue" />
      <link:presentationArc order="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapCommonStockValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="loc_us-gaapAdditionalPaidInCapital" />
      <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapAdditionalPaidInCapital" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaapRetainedEarningsAccumulatedDeficit" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapRetainedEarningsAccumulatedDeficit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity" />
      <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapStockholdersEquity" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterest" xlink:label="loc_us-gaapMinorityInterest" />
      <link:presentationArc order="360" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapMinorityInterest" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" />
      <link:presentationArc order="370" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquity" />
      <link:presentationArc order="380" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapLiabilitiesAndStockholdersEquity" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/BalanceSheetsParenthetical" xlink:title="00000003 - Statement - Consolidated Balance Sheets (Parenthetical)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaapStatementOfFinancialPositionAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="loc_us-gaapCommonStockSharesAuthorized" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapCommonStockSharesAuthorized" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="loc_us-gaapCommonStockParOrStatedValuePerShare" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapCommonStockParOrStatedValuePerShare" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="loc_us-gaapPreferredStockSharesAuthorized" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapPreferredStockSharesAuthorized" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="loc_us-gaapPreferredStockParOrStatedValuePerShare" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapPreferredStockParOrStatedValuePerShare" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaapCommonStockSharesIssued" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapCommonStockSharesIssued" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="loc_us-gaapCommonStockSharesOutstanding" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapCommonStockSharesOutstanding" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome" xlink:title="00000004 - Statement - Consolidated Statements of Income and Comprehensive Income">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract" xlink:label="loc_us-gaapIncomeStatementAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaapCostOfGoodsAndServicesSold" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapCostOfGoodsAndServicesSold" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaapGrossProfit" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapGrossProfit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="loc_us-gaapOperatingExpensesAbstract" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapOperatingExpensesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalariesAndWages" xlink:label="loc_us-gaapSalariesAndWages" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapSalariesAndWages" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OfficersCompensation" xlink:label="loc_us-gaapOfficersCompensation" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapOfficersCompensation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralInsuranceExpense" xlink:label="loc_us-gaapGeneralInsuranceExpense" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapGeneralInsuranceExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherGeneralExpense" xlink:label="loc_us-gaapOtherGeneralExpense" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapOtherGeneralExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense" xlink:label="loc_us-gaapInterestExpense" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapInterestExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_Consulting" xlink:label="loc_FSIConsulting" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_FSIConsulting" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TravelAndEntertainmentExpense" xlink:label="loc_us-gaapTravelAndEntertainmentExpense" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapTravelAndEntertainmentExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfessionalFees" xlink:label="loc_us-gaapProfessionalFees" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapProfessionalFees" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_InvestorRelationsAndTransferAgentFee" xlink:label="loc_FSIInvestorRelationsAndTransferAgentFee" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_FSIInvestorRelationsAndTransferAgentFee" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="loc_us-gaapSellingAndMarketingExpense" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapSellingAndMarketingExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaapResearchAndDevelopmentExpense" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapResearchAndDevelopmentExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseExpense" xlink:label="loc_us-gaapOperatingLeaseExpense" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapOperatingLeaseExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommunicationsAndInformationTechnology" xlink:label="loc_us-gaapCommunicationsAndInformationTechnology" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapCommunicationsAndInformationTechnology" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_Commissions" xlink:label="loc_FSICommissions" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_FSICommissions" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UtilitiesOperatingExpense" xlink:label="loc_us-gaapUtilitiesOperatingExpense" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapUtilitiesOperatingExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ShippingCost" xlink:label="loc_FSIShippingCost" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_FSIShippingCost" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="loc_us-gaapForeignCurrencyTransactionGainLossBeforeTax" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapForeignCurrencyTransactionGainLossBeforeTax" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="loc_us-gaapProvisionForDoubtfulAccounts" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapProvisionForDoubtfulAccounts" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses" xlink:label="loc_us-gaapOperatingExpenses" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapOperatingExpenses" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaapOperatingIncomeLoss" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapOperatingIncomeLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnDispositionOfAssets1" xlink:label="loc_us-gaapGainLossOnDispositionOfAssets1" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapGainLossOnDispositionOfAssets1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnInvestments" xlink:label="loc_us-gaapGainLossOnInvestments" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapGainLossOnInvestments" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_GainOnPreviouslyHeldEquityInterest" xlink:label="loc_FSIGainOnPreviouslyHeldEquityInterest" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_FSIGainOnPreviouslyHeldEquityInterest" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeOther" xlink:label="loc_us-gaapInterestIncomeOther" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapInterestIncomeOther" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxesAndTaxCreditsAbstract" xlink:label="loc_us-gaapDeferredIncomeTaxesAndTaxCreditsAbstract" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapDeferredIncomeTaxesAndTaxCreditsAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredIncomeTaxExpenseBenefit" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredIncomeTaxesAndTaxCreditsAbstract" xlink:to="loc_us-gaapDeferredIncomeTaxExpenseBenefit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentIncomeTaxExpenseBenefit" />
      <link:presentationArc order="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredIncomeTaxesAndTaxCreditsAbstract" xlink:to="loc_us-gaapCurrentIncomeTaxExpenseBenefit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss" />
      <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapProfitLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapNetIncomeLossAttributableToNoncontrollingInterest" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapNetIncomeLossAttributableToNoncontrollingInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaapEarningsPerShareBasic" />
      <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapEarningsPerShareBasic" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaapEarningsPerShareDiluted" />
      <link:presentationArc order="360" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapEarningsPerShareDiluted" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic" />
      <link:presentationArc order="370" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" />
      <link:presentationArc order="380" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" />
      <link:presentationArc order="390" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss_2" />
      <link:presentationArc order="400" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="loc_us-gaapProfitLoss_2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
      <link:presentationArc order="410" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" />
      <link:presentationArc order="420" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="loc_us-gaapComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" />
      <link:presentationArc order="430" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="loc_us-gaapComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTax" />
      <link:presentationArc order="440" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="loc_us-gaapComprehensiveIncomeNetOfTax" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StatementsOfCashFlows" xlink:title="00000005 - Statement - Consolidated Statements of Cash Flows">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="loc_us-gaapStatementOfCashFlowsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapProfitLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaapShareBasedCompensation" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapShareBasedCompensation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationAndAmortization" xlink:label="loc_us-gaapDepreciationAndAmortization" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapDepreciationAndAmortization" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_LeaseRightOfUseFinancing" xlink:label="loc_FSILeaseRightOfUseFinancing" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_FSILeaseRightOfUseFinancing" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="loc_us-gaapFinanceLeaseRightOfUseAssetAmortization" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapFinanceLeaseRightOfUseAssetAmortization" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnInvestments" xlink:label="loc_us-gaapGainLossOnInvestments" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapGainLossOnInvestments" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="loc_us-gaapGainLossOnSaleOfPropertyPlantEquipment" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapGainLossOnSaleOfPropertyPlantEquipment" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="loc_us-gaapProvisionForDoubtfulAccounts" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapProvisionForDoubtfulAccounts" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredIncomeTaxExpenseBenefit" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapDeferredIncomeTaxExpenseBenefit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_GainOnAcquisitionOfSubsidiary" xlink:label="loc_FSIGainOnAcquisitionOfSubsidiary" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_FSIGainOnAcquisitionOfSubsidiary" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsReceivable" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsReceivable" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaapIncreaseDecreaseInInventories" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInInventories" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:label="loc_us-gaapIncreaseDecreaseInPrepaidExpense" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInPrepaidExpense" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsPayableAndAccruedLiabilities" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="loc_us-gaapIncreaseDecreaseInAccruedIncomeTaxesPayable" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireInvestments" xlink:label="loc_us-gaapPaymentsToAcquireInvestments" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapPaymentsToAcquireInvestments" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ProceedsFromRedemptionOfInvestments" xlink:label="loc_FSIProceedsFromRedemptionOfInvestments" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_FSIProceedsFromRedemptionOfInvestments" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfEquityMethodInvestments" xlink:label="loc_us-gaapProceedsFromSaleOfEquityMethodInvestments" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapProceedsFromSaleOfEquityMethodInvestments" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ProceedsFromNoncontrollingInterestOfMendota" xlink:label="loc_FSIProceedsFromNoncontrollingInterestOfMendota" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_FSIProceedsFromNoncontrollingInterestOfMendota" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_PaymentsToAcquireLongTermDeposits" xlink:label="loc_FSIPaymentsToAcquireLongTermDeposits" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_FSIPaymentsToAcquireLongTermDeposits" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfProductiveAssets" xlink:label="loc_us-gaapProceedsFromSaleOfProductiveAssets" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapProceedsFromSaleOfProductiveAssets" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="loc_us-gaapPaymentsToAcquireBusinessesNetOfCashAcquired" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapPaymentsToAcquireBusinessesNetOfCashAcquired" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromRepaymentsOfLinesOfCredit" xlink:label="loc_us-gaapProceedsFromRepaymentsOfLinesOfCredit" />
      <link:presentationArc order="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapProceedsFromRepaymentsOfLinesOfCredit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="loc_us-gaapRepaymentsOfLongTermDebt" />
      <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapRepaymentsOfLongTermDebt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:label="loc_us-gaapProceedsFromIssuanceOfLongTermDebt" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapProceedsFromIssuanceOfLongTermDebt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfFinancingCosts" xlink:label="loc_us-gaapPaymentsOfFinancingCosts" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapPaymentsOfFinancingCosts" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfDividends" xlink:label="loc_us-gaapPaymentsOfDividends" />
      <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapPaymentsOfDividends" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToMinorityShareholders" xlink:label="loc_us-gaapPaymentsToMinorityShareholders" />
      <link:presentationArc order="360" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapPaymentsToMinorityShareholders" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="loc_us-gaapProceedsFromIssuanceOfCommonStock" />
      <link:presentationArc order="370" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapProceedsFromIssuanceOfCommonStock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" />
      <link:presentationArc order="380" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="loc_us-gaapEffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" />
      <link:presentationArc order="390" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapEffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
      <link:presentationArc order="400" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" />
      <link:presentationArc order="410" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_2" />
      <link:presentationArc order="420" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" />
      <link:presentationArc order="430" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Cash" xlink:label="loc_us-gaapCash" />
      <link:presentationArc order="440" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapCash" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermInvestments" xlink:label="loc_us-gaapShortTermInvestments" />
      <link:presentationArc order="450" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapShortTermInvestments" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="loc_us-gaapSupplementalCashFlowInformationAbstract" />
      <link:presentationArc order="460" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapSupplementalCashFlowInformationAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="loc_us-gaapIncomeTaxesPaidNet" />
      <link:presentationArc order="470" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSupplementalCashFlowInformationAbstract" xlink:to="loc_us-gaapIncomeTaxesPaidNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestPaidNet" xlink:label="loc_us-gaapInterestPaidNet" />
      <link:presentationArc order="480" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSupplementalCashFlowInformationAbstract" xlink:to="loc_us-gaapInterestPaidNet" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StatementsOfStockholdersEquity" xlink:title="00000006 - Statement - Consolidated Statements of Stockholders&apos; Equity">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="loc_us-gaapStatementOfStockholdersEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfStockholdersEquityAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" order="70" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapCommonStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_CapitalInExcessOfParValueMember" xlink:label="loc_FSICapitalInExcessOfParValueMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_FSICapitalInExcessOfParValueMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaapRetainedEarningsMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapRetainedEarningsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ParentMember" xlink:label="loc_us-gaapParentMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapParentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="loc_us-gaapNoncontrollingInterestMember" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapNoncontrollingInterestMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesOutstanding" xlink:label="loc_us-gaapSharesOutstanding" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharesOutstanding" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaapOtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapProfitLoss" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueNewIssues" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueNewIssues" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:label="loc_us-gaapMinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapMinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="loc_us-gaapAdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Dividends" xlink:label="loc_us-gaapDividends" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapDividends" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestIncreaseFromBusinessCombination" xlink:label="loc_us-gaapNoncontrollingInterestIncreaseFromBusinessCombination" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNoncontrollingInterestIncreaseFromBusinessCombination" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_2" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesOutstanding" xlink:label="loc_us-gaapSharesOutstanding_2" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharesOutstanding_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/PvpDisclosure" xlink:title="995410 - Disclosure - Pay vs Performance Disclosure">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PayVsPerformanceDisclosureLineItems" xlink:label="loc_ecdPayVsPerformanceDisclosureLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PvpTable" xlink:label="loc_ecdPvpTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPayVsPerformanceDisclosureLineItems" xlink:to="loc_ecdPvpTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ExecutiveCategoryAxis" xlink:label="loc_ecdExecutiveCategoryAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTable" xlink:to="loc_ecdExecutiveCategoryAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllExecutiveCategoriesMember" xlink:label="loc_ecdAllExecutiveCategoriesMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdExecutiveCategoryAxis" xlink:to="loc_ecdAllExecutiveCategoriesMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_IndividualAxis" xlink:label="loc_ecdIndividualAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTable" xlink:to="loc_ecdIndividualAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllIndividualsMember" xlink:label="loc_ecdAllIndividualsMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdIndividualAxis" xlink:to="loc_ecdAllIndividualsMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AdjToCompAxis" xlink:label="loc_ecdAdjToCompAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTable" xlink:to="loc_ecdAdjToCompAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllAdjToCompMember" xlink:label="loc_ecdAllAdjToCompMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAdjToCompAxis" xlink:to="loc_ecdAllAdjToCompMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_MeasureAxis" xlink:label="loc_ecdMeasureAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTable" xlink:to="loc_ecdMeasureAxis" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PvpTableTextBlock" xlink:label="loc_ecdPvpTableTextBlock" />
      <link:presentationArc order="2000" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPayVsPerformanceDisclosureLineItems" xlink:to="loc_ecdPvpTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CoSelectedMeasureName" xlink:label="loc_ecdCoSelectedMeasureName" />
      <link:presentationArc order="2010" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTableTextBlock" xlink:to="loc_ecdCoSelectedMeasureName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NamedExecutiveOfficersFnTextBlock" xlink:label="loc_ecdNamedExecutiveOfficersFnTextBlock" />
      <link:presentationArc order="2020" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdCoSelectedMeasureName" xlink:to="loc_ecdNamedExecutiveOfficersFnTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeerGroupIssuersFnTextBlock" xlink:label="loc_ecdPeerGroupIssuersFnTextBlock" />
      <link:presentationArc order="2030" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdCoSelectedMeasureName" xlink:to="loc_ecdPeerGroupIssuersFnTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ChangedPeerGroupFnTextBlock" xlink:label="loc_ecdChangedPeerGroupFnTextBlock" />
      <link:presentationArc order="2040" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdCoSelectedMeasureName" xlink:to="loc_ecdChangedPeerGroupFnTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeoTotalCompAmt" xlink:label="loc_ecdPeoTotalCompAmt" />
      <link:presentationArc order="2050" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdCoSelectedMeasureName" xlink:to="loc_ecdPeoTotalCompAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeoActuallyPaidCompAmt" xlink:label="loc_ecdPeoActuallyPaidCompAmt" />
      <link:presentationArc order="2060" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdCoSelectedMeasureName" xlink:to="loc_ecdPeoActuallyPaidCompAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AdjToPeoCompFnTextBlock" xlink:label="loc_ecdAdjToPeoCompFnTextBlock" />
      <link:presentationArc order="2070" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdCoSelectedMeasureName" xlink:to="loc_ecdAdjToPeoCompFnTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonPeoNeoAvgTotalCompAmt" xlink:label="loc_ecdNonPeoNeoAvgTotalCompAmt" />
      <link:presentationArc order="2080" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTableTextBlock" xlink:to="loc_ecdNonPeoNeoAvgTotalCompAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonPeoNeoAvgCompActuallyPaidAmt" xlink:label="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" />
      <link:presentationArc order="2090" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTableTextBlock" xlink:to="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AdjToNonPeoNeoCompFnTextBlock" xlink:label="loc_ecdAdjToNonPeoNeoCompFnTextBlock" />
      <link:presentationArc order="2100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdAdjToNonPeoNeoCompFnTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_EquityValuationAssumptionDifferenceFnTextBlock" xlink:label="loc_ecdEquityValuationAssumptionDifferenceFnTextBlock" />
      <link:presentationArc order="2110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdEquityValuationAssumptionDifferenceFnTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:label="loc_ecdCompActuallyPaidVsTotalShareholderRtnTextBlock" />
      <link:presentationArc order="2120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdCompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CompActuallyPaidVsNetIncomeTextBlock" xlink:label="loc_ecdCompActuallyPaidVsNetIncomeTextBlock" />
      <link:presentationArc order="2130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdCompActuallyPaidVsNetIncomeTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:label="loc_ecdCompActuallyPaidVsCoSelectedMeasureTextBlock" />
      <link:presentationArc order="2140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdCompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TotalShareholderRtnVsPeerGroupTextBlock" xlink:label="loc_ecdTotalShareholderRtnVsPeerGroupTextBlock" />
      <link:presentationArc order="2150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdTotalShareholderRtnVsPeerGroupTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CompActuallyPaidVsOtherMeasureTextBlock" xlink:label="loc_ecdCompActuallyPaidVsOtherMeasureTextBlock" />
      <link:presentationArc order="2160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdCompActuallyPaidVsOtherMeasureTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TabularListTableTextBlock" xlink:label="loc_ecdTabularListTableTextBlock" />
      <link:presentationArc order="2170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdTabularListTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TotalShareholderRtnAmt" xlink:label="loc_ecdTotalShareholderRtnAmt" />
      <link:presentationArc order="2180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdTotalShareholderRtnAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeerGroupTotalShareholderRtnAmt" xlink:label="loc_ecdPeerGroupTotalShareholderRtnAmt" />
      <link:presentationArc order="2190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdPeerGroupTotalShareholderRtnAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="2200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTableTextBlock" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CoSelectedMeasureAmt" xlink:label="loc_ecdCoSelectedMeasureAmt" />
      <link:presentationArc order="2210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_ecdCoSelectedMeasureAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_OtherPerfMeasureAmt" xlink:label="loc_ecdOtherPerfMeasureAmt" />
      <link:presentationArc order="2220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_ecdOtherPerfMeasureAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AdjToCompAmt" xlink:label="loc_ecdAdjToCompAmt" />
      <link:presentationArc order="2230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_ecdAdjToCompAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeoName" xlink:label="loc_ecdPeoName" />
      <link:presentationArc order="2240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_ecdPeoName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_MeasureName" xlink:label="loc_ecdMeasureName" />
      <link:presentationArc order="2250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPayVsPerformanceDisclosureLineItems" xlink:to="loc_ecdMeasureName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonGaapMeasureDescriptionTextBlock" xlink:label="loc_ecdNonGaapMeasureDescriptionTextBlock" />
      <link:presentationArc order="2260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdMeasureName" xlink:to="loc_ecdNonGaapMeasureDescriptionTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Additional402vDisclosureTextBlock" xlink:label="loc_ecdAdditional402vDisclosureTextBlock" />
      <link:presentationArc order="2270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPayVsPerformanceDisclosureLineItems" xlink:to="loc_ecdAdditional402vDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" xlink:title="995440 - Disclosure - Recovery of Erroneously Awarded Compensation">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_RecoveryOfErrCompDisclosureLineItems" xlink:label="loc_ecdRecoveryOfErrCompDisclosureLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ErrCompRecoveryTable" xlink:label="loc_ecdErrCompRecoveryTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdRecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecdErrCompRecoveryTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_RestatementDateAxis" xlink:label="loc_ecdRestatementDateAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdErrCompRecoveryTable" xlink:to="loc_ecdRestatementDateAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_IndividualAxis" xlink:label="loc_ecdIndividualAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdErrCompRecoveryTable" xlink:to="loc_ecdIndividualAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllIndividualsMember" xlink:label="loc_ecdAllIndividualsMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdIndividualAxis" xlink:to="loc_ecdAllIndividualsMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_RestatementDeterminationDate" xlink:label="loc_ecdRestatementDeterminationDate" />
      <link:presentationArc order="2000" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdRecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecdRestatementDeterminationDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AggtErrCompAmt" xlink:label="loc_ecdAggtErrCompAmt" />
      <link:presentationArc order="2010" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdRestatementDeterminationDate" xlink:to="loc_ecdAggtErrCompAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ErrCompAnalysisTextBlock" xlink:label="loc_ecdErrCompAnalysisTextBlock" />
      <link:presentationArc order="2020" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAggtErrCompAmt" xlink:to="loc_ecdErrCompAnalysisTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_StkPrcOrTsrEstimationMethodTextBlock" xlink:label="loc_ecdStkPrcOrTsrEstimationMethodTextBlock" />
      <link:presentationArc order="2030" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAggtErrCompAmt" xlink:to="loc_ecdStkPrcOrTsrEstimationMethodTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_OutstandingAggtErrCompAmt" xlink:label="loc_ecdOutstandingAggtErrCompAmt" />
      <link:presentationArc order="2040" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAggtErrCompAmt" xlink:to="loc_ecdOutstandingAggtErrCompAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AggtErrCompNotYetDeterminedTextBlock" xlink:label="loc_ecdAggtErrCompNotYetDeterminedTextBlock" />
      <link:presentationArc order="2050" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAggtErrCompAmt" xlink:to="loc_ecdAggtErrCompNotYetDeterminedTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryIndName" xlink:label="loc_ecdForgoneRecoveryIndName" />
      <link:presentationArc order="2060" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAggtErrCompAmt" xlink:to="loc_ecdForgoneRecoveryIndName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:label="loc_ecdForgoneRecoveryDueToExpenseOfEnforcementAmt" />
      <link:presentationArc order="2070" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAggtErrCompAmt" xlink:to="loc_ecdForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:label="loc_ecdForgoneRecoveryDueToViolationOfHomeCountryLawAmt" />
      <link:presentationArc order="2080" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdRestatementDeterminationDate" xlink:to="loc_ecdForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:label="loc_ecdForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" />
      <link:presentationArc order="2090" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdRestatementDeterminationDate" xlink:to="loc_ecdForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:label="loc_ecdForgoneRecoveryExplanationOfImpracticabilityTextBlock" />
      <link:presentationArc order="2100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:to="loc_ecdForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_OutstandingRecoveryIndName" xlink:label="loc_ecdOutstandingRecoveryIndName" />
      <link:presentationArc order="2110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:to="loc_ecdOutstandingRecoveryIndName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_OutstandingRecoveryCompAmt" xlink:label="loc_ecdOutstandingRecoveryCompAmt" />
      <link:presentationArc order="2120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:to="loc_ecdOutstandingRecoveryCompAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_RestatementDoesNotRequireRecoveryTextBlock" xlink:label="loc_ecdRestatementDoesNotRequireRecoveryTextBlock" />
      <link:presentationArc order="2130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:to="loc_ecdRestatementDoesNotRequireRecoveryTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" xlink:title="995443 - Disclosure - Award Timing Disclosure">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgDiscLineItems" xlink:label="loc_ecdAwardTmgDiscLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardsCloseToMnpiDiscTable" xlink:label="loc_ecdAwardsCloseToMnpiDiscTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardsCloseToMnpiDiscTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_IndividualAxis" xlink:label="loc_ecdIndividualAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardsCloseToMnpiDiscTable" xlink:to="loc_ecdIndividualAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllIndividualsMember" xlink:label="loc_ecdAllIndividualsMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdIndividualAxis" xlink:to="loc_ecdAllIndividualsMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardsCloseToMnpiDiscTable" xlink:to="loc_us-gaapAwardTypeAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgMnpiDiscTextBlock" xlink:label="loc_ecdAwardTmgMnpiDiscTextBlock" />
      <link:presentationArc order="2000" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardTmgMnpiDiscTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgMethodTextBlock" xlink:label="loc_ecdAwardTmgMethodTextBlock" />
      <link:presentationArc order="2010" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardTmgMethodTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgPredtrmndFlag" xlink:label="loc_ecdAwardTmgPredtrmndFlag" />
      <link:presentationArc order="2020" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardTmgPredtrmndFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgMnpiCnsdrdFlag" xlink:label="loc_ecdAwardTmgMnpiCnsdrdFlag" />
      <link:presentationArc order="2030" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardTmgMnpiCnsdrdFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgHowMnpiCnsdrdTextBlock" xlink:label="loc_ecdAwardTmgHowMnpiCnsdrdTextBlock" />
      <link:presentationArc order="2040" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardTmgHowMnpiCnsdrdTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_MnpiDiscTimedForCompValFlag" xlink:label="loc_ecdMnpiDiscTimedForCompValFlag" />
      <link:presentationArc order="2050" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdMnpiDiscTimedForCompValFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardsCloseToMnpiDiscTableTextBlock" xlink:label="loc_ecdAwardsCloseToMnpiDiscTableTextBlock" />
      <link:presentationArc order="2060" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardsCloseToMnpiDiscTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardsCloseToMnpiDiscIndName" xlink:label="loc_ecdAwardsCloseToMnpiDiscIndName" />
      <link:presentationArc order="2070" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardsCloseToMnpiDiscIndName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardUndrlygSecuritiesAmt" xlink:label="loc_ecdAwardUndrlygSecuritiesAmt" />
      <link:presentationArc order="2080" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardUndrlygSecuritiesAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardExrcPrice" xlink:label="loc_ecdAwardExrcPrice" />
      <link:presentationArc order="2090" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardExrcPrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardGrantDateFairValue" xlink:label="loc_ecdAwardGrantDateFairValue" />
      <link:presentationArc order="2100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardGrantDateFairValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_UndrlygSecurityMktPriceChngPct" xlink:label="loc_ecdUndrlygSecurityMktPriceChngPct" />
      <link:presentationArc order="2110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdUndrlygSecurityMktPriceChngPct" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" xlink:title="995445 - Disclosure - Insider Trading Arrangements">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTradingArrLineItems" xlink:label="loc_ecdInsiderTradingArrLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_MtrlTermsOfTrdArrTextBlock" xlink:label="loc_ecdMtrlTermsOfTrdArrTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdMtrlTermsOfTrdArrTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrIndName" xlink:label="loc_ecdTrdArrIndName" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdTrdArrIndName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrIndTitle" xlink:label="loc_ecdTrdArrIndTitle" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdTrdArrIndTitle" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Rule10b51ArrAdoptedFlag" xlink:label="loc_ecdRule10b51ArrAdoptedFlag" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdRule10b51ArrAdoptedFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonRule10b51ArrAdoptedFlag" xlink:label="loc_ecdNonRule10b51ArrAdoptedFlag" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdNonRule10b51ArrAdoptedFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrAdoptionDate" xlink:label="loc_ecdTrdArrAdoptionDate" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdTrdArrAdoptionDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Rule10b51ArrTrmntdFlag" xlink:label="loc_ecdRule10b51ArrTrmntdFlag" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdRule10b51ArrTrmntdFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonRule10b51ArrTrmntdFlag" xlink:label="loc_ecdNonRule10b51ArrTrmntdFlag" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdNonRule10b51ArrTrmntdFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrTerminationDate" xlink:label="loc_ecdTrdArrTerminationDate" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdTrdArrTerminationDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrDuration" xlink:label="loc_ecdTrdArrDuration" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdTrdArrDuration" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrSecuritiesAggAvailAmt" xlink:label="loc_ecdTrdArrSecuritiesAggAvailAmt" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdTrdArrSecuritiesAggAvailAmt" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" xlink:title="995447 - Disclosure - Insider Trading Policies and Procedures">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTradingPoliciesProcLineItems" xlink:label="loc_ecdInsiderTradingPoliciesProcLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTrdPoliciesProcAdoptedFlag" xlink:label="loc_ecdInsiderTrdPoliciesProcAdoptedFlag" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingPoliciesProcLineItems" xlink:to="loc_ecdInsiderTrdPoliciesProcAdoptedFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:label="loc_ecdInsiderTrdPoliciesProcNotAdoptedTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingPoliciesProcLineItems" xlink:to="loc_ecdInsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/BasisOfPresentation" xlink:title="995512 - Disclosure - BASIS OF PRESENTATION">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:label="loc_us-gaapBusinessDescriptionAndBasisOfPresentationTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapBusinessDescriptionAndBasisOfPresentationTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPolicies" xlink:title="995513 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="loc_us-gaapSignificantAccountingPoliciesTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapSignificantAccountingPoliciesTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Leases" xlink:title="995514 - Disclosure - LEASES">
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_DisclosureLeasesAbstract" xlink:label="loc_FSIDisclosureLeasesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="loc_us-gaapLesseeOperatingLeasesTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_us-gaapLesseeOperatingLeasesTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/AccountsReceivable" xlink:title="995515 - Disclosure - ACCOUNTS RECEIVABLE">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReceivablesAbstract" xlink:label="loc_us-gaapReceivablesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancingReceivablesTextBlock" xlink:label="loc_us-gaapFinancingReceivablesTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivablesAbstract" xlink:to="loc_us-gaapFinancingReceivablesTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Inventories" xlink:title="995516 - Disclosure - INVENTORIES">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaapInventoryDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="loc_us-gaapInventoryDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholds" xlink:title="995517 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="loc_us-gaapPropertyPlantAndEquipmentDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentAbstract" xlink:to="loc_us-gaapPropertyPlantAndEquipmentDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Patents" xlink:title="995518 - Disclosure - PATENTS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="loc_us-gaapIntangibleAssetsDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapIntangibleAssetsDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssets" xlink:title="995519 - Disclosure - GOODWILL AND INTANGIBLE ASSETS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDeposits" xlink:title="995520 - Disclosure - LONG TERM DEPOSITS">
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_DisclosureLongTermDepositsAbstract" xlink:label="loc_FSIDisclosureLongTermDepositsAbstract" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_LongTermDepositsTextBlock" xlink:label="loc_FSILongTermDepositsTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLongTermDepositsAbstract" xlink:to="loc_FSILongTermDepositsTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Investments" xlink:title="995521 - Disclosure - INVESTMENTS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract" xlink:label="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentsDisclosureTextBlock" xlink:label="loc_us-gaapEquityMethodInvestmentsDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapEquityMethodInvestmentsDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Short-termLineOfCredit" xlink:title="995522 - Disclosure - SHORT-TERM LINE OF CREDIT">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtTextBlock" xlink:label="loc_us-gaapShortTermDebtTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapShortTermDebtTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDebt" xlink:title="995523 - Disclosure - LONG TERM DEBT">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtTextBlock" xlink:label="loc_us-gaapLongTermDebtTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapLongTermDebtTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/IncomeTaxes" xlink:title="995524 - Disclosure - INCOME TAXES">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="loc_us-gaapIncomeTaxDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeTaxDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/IncomePerShare" xlink:title="995525 - Disclosure - INCOME PER SHARE">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaapEarningsPerShareAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="loc_us-gaapEarningsPerShareTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapEarningsPerShareTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StockOptions" xlink:title="995526 - Disclosure - STOCK OPTIONS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapDisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/CapitalStock" xlink:title="995527 - Disclosure - CAPITAL STOCK">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaapEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="loc_us-gaapStockholdersEquityNoteDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapStockholdersEquityNoteDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Non-controllingInterests" xlink:title="995528 - Disclosure - NON-CONTROLLING INTERESTS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestAbstract" xlink:label="loc_us-gaapNoncontrollingInterestAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestDisclosureTextBlock" xlink:label="loc_us-gaapMinorityInterestDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNoncontrollingInterestAbstract" xlink:to="loc_us-gaapMinorityInterestDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependency" xlink:title="995529 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaapSegmentReportingAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="loc_us-gaapSegmentReportingDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract" xlink:to="loc_us-gaapSegmentReportingDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SubsequentEvents" xlink:title="995530 - Disclosure - SUBSEQUENT EVENTS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="loc_us-gaapSubsequentEventsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="loc_us-gaapSubsequentEventsTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventsAbstract" xlink:to="loc_us-gaapSubsequentEventsTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies" xlink:title="995531 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="loc_us-gaapCashAndCashEquivalentsPolicyTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapCashAndCashEquivalentsPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_TermDepositsPolicyTextBlock" xlink:label="loc_FSITermDepositsPolicyTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_FSITermDepositsPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="loc_us-gaapInventoryPolicyTextBlock" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapInventoryPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy" xlink:label="loc_us-gaapPremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapPremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="loc_us-gaapPropertyPlantAndEquipmentPolicyTextBlock" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapPropertyPlantAndEquipmentPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:label="loc_us-gaapImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="loc_us-gaapForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="loc_us-gaapRevenueFromContractWithCustomerPolicyTextBlock" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapRevenueFromContractWithCustomerPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_StockIssuedInExchangeForServicesPolicyTextBlock" xlink:label="loc_FSIStockIssuedInExchangeForServicesPolicyTextBlock" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_FSIStockIssuedInExchangeForServicesPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationRelatedCostsPolicyTextBlock" xlink:label="loc_us-gaapCompensationRelatedCostsPolicyTextBlock" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapCompensationRelatedCostsPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:label="loc_us-gaapComprehensiveIncomePolicyPolicyTextBlock" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapComprehensiveIncomePolicyPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="loc_us-gaapEarningsPerSharePolicyTextBlock" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapEarningsPerSharePolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UseOfEstimates" xlink:label="loc_us-gaapUseOfEstimates" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapUseOfEstimates" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:label="loc_us-gaapFairValueOfFinancialInstrumentsPolicy" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapFairValueOfFinancialInstrumentsPolicy" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesPolicyTextBlock" xlink:label="loc_us-gaapCommitmentsAndContingenciesPolicyTextBlock" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapCommitmentsAndContingenciesPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="loc_us-gaapIncomeTaxPolicyTextBlock" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapIncomeTaxPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="loc_us-gaapConcentrationRiskCreditRisk" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapConcentrationRiskCreditRisk" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentsPolicy" xlink:label="loc_us-gaapEquityMethodInvestmentsPolicy" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapEquityMethodInvestmentsPolicy" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsPolicyTextBlock" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapGoodwillAndIntangibleAssetsPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="loc_us-gaapNewAccountingPronouncementsPolicyPolicyTextBlock" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapNewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables" xlink:title="995532 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ScheduleOfMethodOfDepreciationTableTextBlock" xlink:label="loc_FSIScheduleOfMethodOfDepreciationTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_FSIScheduleOfMethodOfDepreciationTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LeasesTables" xlink:title="995533 - Disclosure - LEASES (Tables)">
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_DisclosureLeasesAbstract" xlink:label="loc_FSIDisclosureLeasesAbstract" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock" xlink:label="loc_FSISummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_FSISummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityMaturityTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/AccountsReceivableTables" xlink:title="995534 - Disclosure - ACCOUNTS RECEIVABLE (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReceivablesAbstract" xlink:label="loc_us-gaapReceivablesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:label="loc_us-gaapAccountsReceivableAllowanceForCreditLossTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivablesAbstract" xlink:to="loc_us-gaapAccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InventoriesTables" xlink:title="995535 - Disclosure - INVENTORIES (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaapInventoryDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="loc_us-gaapScheduleOfInventoryCurrentTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfInventoryCurrentTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsTables" xlink:title="995536 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentAbstract" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PatentsTables" xlink:title="995537 - Disclosure - PATENTS (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsTables" xlink:title="995538 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock" xlink:label="loc_us-gaapScheduleOfIntangibleAssetsAndGoodwillTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfIntangibleAssetsAndGoodwillTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="loc_us-gaapScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDepositsTables" xlink:title="995539 - Disclosure - LONG TERM DEPOSITS (Tables)">
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_DisclosureLongTermDepositsAbstract" xlink:label="loc_FSIDisclosureLongTermDepositsAbstract" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ScheduleOfLongTermDepositsTableTextBlock" xlink:label="loc_FSIScheduleOfLongTermDepositsTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLongTermDepositsAbstract" xlink:to="loc_FSIScheduleOfLongTermDepositsTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InvestmentsTables" xlink:title="995540 - Disclosure - INVESTMENTS (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract" xlink:label="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_deiLegalEntityAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_EnpPeruInvestmentsLlcMember" xlink:label="loc_FSIEnpPeruInvestmentsLlcMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIEnpPeruInvestmentsLlcMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_FloridaBasedLLCMember" xlink:label="loc_FSIFloridaBasedLLCMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIFloridaBasedLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:label="loc_us-gaapScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentsTextBlock" xlink:label="loc_us-gaapEquityMethodInvestmentsTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEquityMethodInvestmentsTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnInvestmentsTextBlock" xlink:label="loc_us-gaapGainLossOnInvestmentsTextBlock" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapGainLossOnInvestmentsTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDebtTables" xlink:title="995541 - Disclosure - LONG TERM DEBT (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ScheduleOfLoanCovenantsTableTextBlock" xlink:label="loc_FSIScheduleOfLoanCovenantsTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_FSIScheduleOfLoanCovenantsTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:label="loc_us-gaapScheduleOfDebtInstrumentsTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfDebtInstrumentsTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/IncomeTaxesTables" xlink:title="995542 - Disclosure - INCOME TAXES (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="loc_us-gaapScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="loc_us-gaapScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="loc_us-gaapScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ScheduleOfNonOperatingLossCarryforwardsTableTextBlock" xlink:label="loc_FSIScheduleOfNonOperatingLossCarryforwardsTableTextBlock" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_FSIScheduleOfNonOperatingLossCarryforwardsTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/IncomePerShareTables" xlink:title="995543 - Disclosure - INCOME PER SHARE (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaapEarningsPerShareAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="loc_us-gaapScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:label="loc_us-gaapScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StockOptionsTables" xlink:title="995544 - Disclosure - STOCK OPTIONS (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="loc_us-gaapScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Non-controllingInterestsTables" xlink:title="995545 - Disclosure - NON-CONTROLLING INTERESTS (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestAbstract" xlink:label="loc_us-gaapNoncontrollingInterestAbstract" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ScheduleOfDistributionsTableTextBlock" xlink:label="loc_FSIScheduleOfDistributionsTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNoncontrollingInterestAbstract" xlink:to="loc_FSIScheduleOfDistributionsTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock" xlink:label="loc_FSIScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNoncontrollingInterestAbstract" xlink:to="loc_FSIScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables" xlink:title="995546 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaapSegmentReportingAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" xlink:label="loc_us-gaapReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract" xlink:to="loc_us-gaapReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:label="loc_us-gaapScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract" xlink:to="loc_us-gaapScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xlink:label="loc_us-gaapScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract" xlink:to="loc_us-gaapScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative" xlink:title="995547 - Disclosure - BASIS OF PRESENTATION (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtOwnershipAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_MendotaLLCMember" xlink:label="loc_FSIMendotaLLCMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIMendotaLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ENPInvestmentsLLCAndENPMendotaMember" xlink:label="loc_FSIENPInvestmentsLLCAndENPMendotaMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPInvestmentsLLCAndENPMendotaMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ENPPeruMember" xlink:label="loc_FSIENPPeruMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPPeruMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ENPInvestmentsAndENPMendotaMember" xlink:label="loc_FSIENPInvestmentsAndENPMendotaMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPInvestmentsAndENPMendotaMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_UnrelatedPartyMember" xlink:label="loc_FSIUnrelatedPartyMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIUnrelatedPartyMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" xlink:label="loc_us-gaapSubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_IncreaseDecreaseInSharePercentage" xlink:label="loc_FSIIncreaseDecreaseInSharePercentage" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_FSIIncreaseDecreaseInSharePercentage" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_RemainingInvestmentOwnedPercentage" xlink:label="loc_FSIRemainingInvestmentOwnedPercentage" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_FSIRemainingInvestmentOwnedPercentage" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:label="loc_us-gaapMinorityInterestOwnershipPercentageByNoncontrollingOwners" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapMinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails" xlink:title="995548 - Disclosure - SCHEDULE OF METHOD OF DEPRECIATION (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaapPropertyPlantAndEquipmentLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComputerEquipmentMember" xlink:label="loc_us-gaapComputerEquipmentMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapComputerEquipmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="loc_us-gaapMachineryAndEquipmentMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapMachineryAndEquipmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OfficeEquipmentMember" xlink:label="loc_us-gaapOfficeEquipmentMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapOfficeEquipmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_BoatMember" xlink:label="loc_FSIBoatMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_FSIBoatMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="loc_us-gaapBuildingAndBuildingImprovementsMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapBuildingAndBuildingImprovementsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_TrailerMember" xlink:label="loc_FSITrailerMember" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_FSITrailerMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AutomobilesMember" xlink:label="loc_us-gaapAutomobilesMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapAutomobilesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PatentsMember" xlink:label="loc_us-gaapPatentsMember" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapPatentsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TechnologyEquipmentMember" xlink:label="loc_us-gaapTechnologyEquipmentMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapTechnologyEquipmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="loc_us-gaapLeaseholdImprovementsMember" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapLeaseholdImprovementsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="loc_us-gaapCustomerRelationshipsMember" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapCustomerRelationshipsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_SoftwareMember" xlink:label="loc_FSISoftwareMember" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_FSISoftwareMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_DepreciationMethodUsedAndAnnualRate" xlink:label="loc_FSIDepreciationMethodUsedAndAnnualRate" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_FSIDepreciationMethodUsedAndAnnualRate" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative" xlink:title="995549 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfProductInformationTable" xlink:label="loc_us-gaapScheduleOfProductInformationTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapScheduleOfProductInformationTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductInformationLineItems" xlink:label="loc_us-gaapProductInformationLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapProductInformationLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtTypeAxis" xlink:label="loc_us-gaapShortTermDebtTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapShortTermDebtTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="loc_us-gaapShortTermDebtTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtTypeAxis" xlink:to="loc_us-gaapShortTermDebtTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_FirstTermMember" xlink:label="loc_FSIFirstTermMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_FSIFirstTermMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_SecondTermMember" xlink:label="loc_FSISecondTermMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_FSISecondTermMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ThirdTermMember" xlink:label="loc_FSIThirdTermMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_FSIThirdTermMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_FourthTermMember" xlink:label="loc_FSIFourthTermMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_FSIFourthTermMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_srtProductOrServiceAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShippingAndHandlingMember" xlink:label="loc_us-gaapShippingAndHandlingMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_us-gaapShippingAndHandlingMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="loc_us-gaapConcentrationRiskByTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapConcentrationRiskByTypeAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaapConcentrationRiskTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskByTypeAxis" xlink:to="loc_us-gaapConcentrationRiskTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ThreePrimaryCustomersMember" xlink:label="loc_FSIThreePrimaryCustomersMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskTypeDomain" xlink:to="loc_FSIThreePrimaryCustomersMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaapConcentrationRiskByBenchmarkAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapConcentrationRiskByBenchmarkAxis" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerMember" xlink:label="loc_us-gaapRevenueFromContractWithCustomerMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapRevenueFromContractWithCustomerMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember" xlink:label="loc_us-gaapAccountsReceivableMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapAccountsReceivableMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" order="50" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="loc_srtEquityMethodInvesteeNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="loc_srtEquityMethodInvesteeNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_InvestmentMember" xlink:label="loc_FSIInvestmentMember" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_FSIInvestmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Deposits" xlink:label="loc_us-gaapDeposits" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapDeposits" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="loc_us-gaapDebtInstrumentInterestRateStatedPercentage" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapDebtInstrumentInterestRateStatedPercentage" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_MinimumInterestPenalty" xlink:label="loc_FSIMinimumInterestPenalty" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_FSIMinimumInterestPenalty" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaapCostOfGoodsAndServicesSold" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapCostOfGoodsAndServicesSold" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ConcentrationRiskThresholdPercentage" xlink:label="loc_FSIConcentrationRiskThresholdPercentage" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_FSIConcentrationRiskThresholdPercentage" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities" xlink:label="loc_us-gaapEquityMethodInvestmentDescriptionOfPrincipalActivities" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapEquityMethodInvestmentDescriptionOfPrincipalActivities" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" xlink:title="995550 - Disclosure - SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (Details)">
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_DisclosureLeasesAbstract" xlink:label="loc_FSIDisclosureLeasesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAsset" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAsset" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAssetAmortizationExpense" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAssetAmortizationExpense" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAsset_2" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAsset_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="loc_us-gaapOperatingLeaseLiability" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_us-gaapOperatingLeaseLiability" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_LeaseInterestExpense" xlink:label="loc_FSILeaseInterestExpense" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_FSILeaseInterestExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeasePayments" xlink:label="loc_us-gaapOperatingLeasePayments" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_us-gaapOperatingLeasePayments" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="loc_us-gaapOperatingLeaseLiability_2" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_us-gaapOperatingLeaseLiability_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityCurrent" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_us-gaapOperatingLeaseLiabilityCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityNoncurrent" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_us-gaapOperatingLeaseLiabilityNoncurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="loc_us-gaapOperatingLeaseLiability_3" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_us-gaapOperatingLeaseLiability_3" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfUndiscountedRentPaymentsDetails" xlink:title="995551 - Disclosure - SCHEDULE OF UNDISCOUNTED RENT PAYMENTS (Details)">
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_DisclosureLeasesAbstract" xlink:label="loc_FSIDisclosureLeasesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityUndiscountedExcessAmount" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="loc_us-gaapOperatingLeaseLiability" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_us-gaapOperatingLeaseLiability" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LeasesDetailsNarrative" xlink:title="995552 - Disclosure - LEASES (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_DisclosureLeasesAbstract" xlink:label="loc_FSIDisclosureLeasesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseDiscountRate" xlink:label="loc_us-gaapLesseeOperatingLeaseDiscountRate" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseDiscountRate" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails" xlink:title="995553 - Disclosure - SCHEDULE OF ACCOUNTS RECEIVABLE (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReceivablesAbstract" xlink:label="loc_us-gaapReceivablesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableGross" xlink:label="loc_us-gaapAccountsReceivableGross" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivablesAbstract" xlink:to="loc_us-gaapAccountsReceivableGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" xlink:label="loc_us-gaapAllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivablesAbstract" xlink:to="loc_us-gaapAllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsAndNotesReceivableNet" xlink:label="loc_us-gaapAccountsAndNotesReceivableNet" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivablesAbstract" xlink:to="loc_us-gaapAccountsAndNotesReceivableNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfInventoryDetails" xlink:title="995554 - Disclosure - SCHEDULE OF INVENTORY (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaapInventoryDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoods" xlink:label="loc_us-gaapInventoryFinishedGoods" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryFinishedGoods" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterialsAndSupplies" xlink:label="loc_us-gaapInventoryRawMaterialsAndSupplies" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryRawMaterialsAndSupplies" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails" xlink:title="995555 - Disclosure - SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentAbstract" xlink:to="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaapPropertyPlantAndEquipmentLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="loc_us-gaapBuildingAndBuildingImprovementsMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapBuildingAndBuildingImprovementsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AutomobilesMember" xlink:label="loc_us-gaapAutomobilesMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapAutomobilesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComputerEquipmentMember" xlink:label="loc_us-gaapComputerEquipmentMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapComputerEquipmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OfficeEquipmentMember" xlink:label="loc_us-gaapOfficeEquipmentMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapOfficeEquipmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="loc_us-gaapMachineryAndEquipmentMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapMachineryAndEquipmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_TrailerMember" xlink:label="loc_FSITrailerMember" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_FSITrailerMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LandMember" xlink:label="loc_us-gaapLandMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapLandMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="loc_us-gaapLeaseholdImprovementsMember" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapLeaseholdImprovementsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="loc_us-gaapDevelopedTechnologyRightsMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapDevelopedTechnologyRightsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_BoatMember" xlink:label="loc_FSIBoatMember" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_FSIBoatMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="loc_us-gaapPropertyPlantAndEquipmentGross" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsDetailsNarrative" xlink:title="995556 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation" xlink:label="loc_us-gaapDepreciation" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentAbstract" xlink:to="loc_us-gaapDepreciation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnDispositionOfAssets1" xlink:label="loc_us-gaapGainLossOnDispositionOfAssets1" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentAbstract" xlink:to="loc_us-gaapGainLossOnDispositionOfAssets1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfPatentsDetails" xlink:title="995557 - Disclosure - SCHEDULE OF PATENTS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedPatentsGross" xlink:label="loc_us-gaapFiniteLivedPatentsGross" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapFiniteLivedPatentsGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsNet" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsNet" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" xlink:title="995558 - Disclosure - SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_deiLegalEntityAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_EnPInvestmentsCorporationLLCMember" xlink:label="loc_FSIEnPInvestmentsCorporationLLCMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIEnPInvestmentsCorporationLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaapGoodwill" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapGoodwill" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:label="loc_us-gaapIndefiniteLivedIntangibleAssetsExcludingGoodwill" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:label="loc_us-gaapIndefiniteLivedIntangibleAssetsExcludingGoodwill_2" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIndefiniteLivedIntangibleAssetsExcludingGoodwill_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaapAmortizationOfIntangibleAssets" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAmortizationOfIntangibleAssets" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:label="loc_us-gaapIndefiniteLivedIntangibleAssetsExcludingGoodwill_3" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIndefiniteLivedIntangibleAssetsExcludingGoodwill_3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PatentsDetailsNarrative" xlink:title="995559 - Disclosure - PATENTS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PatentsMember" xlink:label="loc_us-gaapPatentsMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="loc_us-gaapPatentsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaapAmortizationOfIntangibleAssets" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapAmortizationOfIntangibleAssets" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails" xlink:title="995560 - Disclosure - SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentEffectsOnEarningsPerShareTable" xlink:label="loc_us-gaapImpairmentEffectsOnEarningsPerShareTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapImpairmentEffectsOnEarningsPerShareTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems" xlink:label="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareTable" xlink:to="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByAssetClassAxis" xlink:label="loc_us-gaapFairValueByAssetClassAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareTable" xlink:to="loc_us-gaapFairValueByAssetClassAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:label="loc_us-gaapFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueByAssetClassAxis" xlink:to="loc_us-gaapFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMember" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearFour" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearFive" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsDetailsNarrative" xlink:title="995561 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaapAmortizationOfIntangibleAssets" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapAmortizationOfIntangibleAssets" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails" xlink:title="995562 - Disclosure - SCHEDULE OF LONG TERM DEPOSITS (Details)">
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_DisclosureLongTermDepositsAbstract" xlink:label="loc_FSIDisclosureLongTermDepositsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepositsAssetsNoncurrent" xlink:label="loc_us-gaapDepositsAssetsNoncurrent" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLongTermDepositsAbstract" xlink:to="loc_us-gaapDepositsAssetsNoncurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails" xlink:title="995563 - Disclosure - SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract" xlink:label="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="loc_us-gaapBusinessCombinationConsiderationTransferred1" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapBusinessCombinationConsiderationTransferred1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt" xlink:label="loc_FSIBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_FSIBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice" xlink:label="loc_FSIBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_FSIBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_InvestmentEliminatedUponConsolidation" xlink:label="loc_FSIInvestmentEliminatedUponConsolidation" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_FSIInvestmentEliminatedUponConsolidation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_GainOnAcquisitionOfSubsidiary" xlink:label="loc_FSIGainOnAcquisitionOfSubsidiary" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_FSIGainOnAcquisitionOfSubsidiary" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails" xlink:title="995564 - Disclosure - SCHEDULE OF EQUITY METHOD INVESTMENT (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract" xlink:label="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_deiLegalEntityAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_EnpPeruInvestmentsLlcMember" xlink:label="loc_FSIEnpPeruInvestmentsLlcMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIEnpPeruInvestmentsLlcMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_FloridaBasedLLCMember" xlink:label="loc_FSIFloridaBasedLLCMember" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIFloridaBasedLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestments" xlink:label="loc_us-gaapEquityMethodInvestments" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEquityMethodInvestments" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_EquityMethodInvestmentReturnOfEquity" xlink:label="loc_FSIEquityMethodInvestmentReturnOfEquity" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_FSIEquityMethodInvestmentReturnOfEquity" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:label="loc_us-gaapEquityMethodInvestmentRealizedGainLossOnDisposal" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEquityMethodInvestmentRealizedGainLossOnDisposal" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_InvestmentEliminatedUponConsolidation" xlink:label="loc_FSIInvestmentEliminatedUponConsolidation" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_FSIInvestmentEliminatedUponConsolidation" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestments" xlink:label="loc_us-gaapEquityMethodInvestments_2" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEquityMethodInvestments_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" xlink:title="995565 - Disclosure - SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract" xlink:label="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainsLossesOnSalesOfInvestmentRealEstate" xlink:label="loc_us-gaapGainsLossesOnSalesOfInvestmentRealEstate" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapGainsLossesOnSalesOfInvestmentRealEstate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RealizedInvestmentGainsLosses" xlink:label="loc_us-gaapRealizedInvestmentGainsLosses" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapRealizedInvestmentGainsLosses" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_RealizedInvestmentGainsLossesNet" xlink:label="loc_FSIRealizedInvestmentGainsLossesNet" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_FSIRealizedInvestmentGainsLossesNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InvestmentsDetailsNarrative" xlink:title="995566 - Disclosure - INVESTMENTS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract" xlink:label="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:label="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:label="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:to="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:to="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="loc_srtEquityMethodInvesteeNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="loc_srtEquityMethodInvesteeNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_EnpPeruInvestmentsLlcMember" xlink:label="loc_FSIEnpPeruInvestmentsLlcMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_FSIEnpPeruInvestmentsLlcMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_NanoChemMember" xlink:label="loc_FSINanoChemMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_FSINanoChemMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ENPInvestmentsLLCMember" xlink:label="loc_FSIENPInvestmentsLLCMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_FSIENPInvestmentsLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_FloridaBasedLLCMember" xlink:label="loc_FSIFloridaBasedLLCMember" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_FSIFloridaBasedLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:to="loc_srtOwnershipAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ENPPeruMember" xlink:label="loc_FSIENPPeruMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPPeruMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_EnpnvestmentsLlcMember" xlink:label="loc_FSIEnpnvestmentsLlcMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIEnpnvestmentsLlcMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:to="loc_deiLegalEntityAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_AppliedHoldingCorpMember" xlink:label="loc_FSIAppliedHoldingCorpMember" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIAppliedHoldingCorpMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_TrioOpportunityCorpMember" xlink:label="loc_FSITrioOpportunityCorpMember" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSITrioOpportunityCorpMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_FloridaBasedLLCMember" xlink:label="loc_FSIFloridaBasedLLCMember_2" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIFloridaBasedLLCMember_2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_LygosIncMember" xlink:label="loc_FSILygosIncMember" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSILygosIncMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaapStatementClassOfStockAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:to="loc_us-gaapStatementClassOfStockAxis" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonClassBMember" xlink:label="loc_us-gaapCommonClassBMember" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_us-gaapCommonClassBMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="loc_us-gaapEquityMethodInvestmentOwnershipPercentage" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapEquityMethodInvestmentOwnershipPercentage" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_AdditionalEquityMethodInvestmentOwnershipPercentage" xlink:label="loc_FSIAdditionalEquityMethodInvestmentOwnershipPercentage" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_FSIAdditionalEquityMethodInvestmentOwnershipPercentage" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="loc_us-gaapBusinessCombinationConsiderationTransferred1" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapBusinessCombinationConsiderationTransferred1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Cash" xlink:label="loc_us-gaapCash" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapCash" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:label="loc_us-gaapMinorityInterestOwnershipPercentageByNoncontrollingOwners" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapMinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Investments" xlink:label="loc_us-gaapInvestments" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapInvestments" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_DebtInstrumentMaturityMonthYear" xlink:label="loc_FSIDebtInstrumentMaturityMonthYear" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_FSIDebtInstrumentMaturityMonthYear" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharePrice" xlink:label="loc_us-gaapSharePrice" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapSharePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues" xlink:label="loc_us-gaapRevenues" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapRevenues" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNet" xlink:label="loc_us-gaapAccountsReceivableNet" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapAccountsReceivableNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireInvestments" xlink:label="loc_us-gaapPaymentsToAcquireInvestments" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapPaymentsToAcquireInvestments" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative" xlink:title="995567 - Disclosure - SHORT-TERM LINE OF CREDIT (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="loc_us-gaapLineOfCreditFacilityTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapLineOfCreditFacilityTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLineItems" xlink:label="loc_us-gaapLineOfCreditFacilityLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapLineOfCreditFacilityLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="loc_us-gaapLineOfCreditFacilityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapLineOfCreditFacilityAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="loc_us-gaapLineOfCreditFacilityLenderDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityAxis" xlink:to="loc_us-gaapLineOfCreditFacilityLenderDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_StockYardAndBankMember" xlink:label="loc_FSIStockYardAndBankMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLenderDomain" xlink:to="loc_FSIStockYardAndBankMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_StockBankMember" xlink:label="loc_FSIStockBankMember" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLenderDomain" xlink:to="loc_FSIStockBankMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_MidlandStatesBankMember" xlink:label="loc_FSIMidlandStatesBankMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIMidlandStatesBankMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="loc_us-gaapTypeOfArrangementAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapTypeOfArrangementAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTypeOfArrangementAxis" xlink:to="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_NewAgreementMember" xlink:label="loc_FSINewAgreementMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:to="loc_FSINewAgreementMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_deiLegalEntityAxis" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_NanoChemSolutionIncMember" xlink:label="loc_FSINanoChemSolutionIncMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSINanoChemSolutionIncMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" order="50" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="loc_us-gaapNoncontrollingInterestMember" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapNoncontrollingInterestMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis" xlink:label="loc_us-gaapCreditFacilityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapCreditFacilityAxis" order="60" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="loc_us-gaapCreditFacilityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCreditFacilityAxis" xlink:to="loc_us-gaapCreditFacilityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="loc_us-gaapRevolvingCreditFacilityMember" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCreditFacilityDomain" xlink:to="loc_us-gaapRevolvingCreditFacilityMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:label="loc_us-gaapLineOfCreditFacilityCurrentBorrowingCapacity" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityCurrentBorrowingCapacity" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="loc_us-gaapLineOfCreditFacilityMaximumBorrowingCapacity" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityMaximumBorrowingCapacity" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_PercentageOfForeignAccountsReceivableOfInventory" xlink:label="loc_FSIPercentageOfForeignAccountsReceivableOfInventory" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_FSIPercentageOfForeignAccountsReceivableOfInventory" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="loc_us-gaapDebtInstrumentFaceAmount" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapDebtInstrumentFaceAmount" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="loc_us-gaapDebtInstrumentInterestRateStatedPercentage" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapDebtInstrumentInterestRateStatedPercentage" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_LoanGuaranteedRate" xlink:label="loc_FSILoanGuaranteedRate" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_FSILoanGuaranteedRate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="loc_us-gaapLinesOfCreditCurrent" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLinesOfCreditCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermBorrowings" xlink:label="loc_us-gaapShortTermBorrowings" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapShortTermBorrowings" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_EligiblePercentageOfDomesticAccountsReceivable" xlink:label="loc_FSIEligiblePercentageOfDomesticAccountsReceivable" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_FSIEligiblePercentageOfDomesticAccountsReceivable" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails" xlink:title="995568 - Disclosure - SCHEDULE OF LOAN COVENANTS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt" xlink:label="loc_us-gaapLongTermDebt" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapLongTermDebt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromBankDebt" xlink:label="loc_us-gaapProceedsFromBankDebt" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapProceedsFromBankDebt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ProceedsFromLoanAcquiredFromAcquisition" xlink:label="loc_FSIProceedsFromLoanAcquiredFromAcquisition" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_FSIProceedsFromLoanAcquiredFromAcquisition" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForProceedsFromDepositOnLoan" xlink:label="loc_us-gaapPaymentsForProceedsFromDepositOnLoan" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapPaymentsForProceedsFromDepositOnLoan" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt" xlink:label="loc_us-gaapLongTermDebt_2" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapLongTermDebt_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails" xlink:title="995569 - Disclosure - SCHEDULE OF OUTSTANDING BALANCE LOAN (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:label="loc_us-gaapScheduleOfDefinedBenefitPlansDisclosuresTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfDefinedBenefitPlansDisclosuresTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:label="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:to="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_MidlandStatesBankMember" xlink:label="loc_FSIMidlandStatesBankMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIMidlandStatesBankMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_MidlandStatesBankOneMember" xlink:label="loc_FSIMidlandStatesBankOneMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIMidlandStatesBankOneMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_StockYardsBankTrustMember" xlink:label="loc_FSIStockYardsBankTrustMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_StockYardsBankTrustOneMember" xlink:label="loc_FSIStockYardsBankTrustOneMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustOneMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_StockYardsBankTrustTwoMember" xlink:label="loc_FSIStockYardsBankTrustTwoMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustTwoMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_StockYardsBankTrustThreeMember" xlink:label="loc_FSIStockYardsBankTrustThreeMember" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustThreeMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_StockYardsBankTrustFourMember" xlink:label="loc_FSIStockYardsBankTrustFourMember" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustFourMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_StockYardsBankTrustFiveMember" xlink:label="loc_FSIStockYardsBankTrustFiveMember" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustFiveMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt" xlink:label="loc_us-gaapLongTermDebt" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapLongTermDebt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtCurrent" xlink:label="loc_us-gaapLongTermDebtCurrent" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapLongTermDebtCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="loc_us-gaapLongTermDebtNoncurrent" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapLongTermDebtNoncurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative" xlink:title="995570 - Disclosure - LONG TERM DEBT (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShortTermDebtTable" xlink:label="loc_us-gaapScheduleOfShortTermDebtTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfShortTermDebtTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtLineItems" xlink:label="loc_us-gaapShortTermDebtLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_us-gaapShortTermDebtLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="loc_us-gaapDebtInstrumentAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_us-gaapDebtInstrumentAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaapDebtInstrumentNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtInstrumentAxis" xlink:to="loc_us-gaapDebtInstrumentNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_TermLoanMember" xlink:label="loc_FSITermLoanMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtInstrumentNameDomain" xlink:to="loc_FSITermLoanMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_MidlandBankMember" xlink:label="loc_FSIMidlandBankMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIMidlandBankMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_StockYardsBankTrustMember" xlink:label="loc_FSIStockYardsBankTrustMember" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_deiLegalEntityAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_NanoChemSolutionsIncMember" xlink:label="loc_FSINanoChemSolutionsIncMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSINanoChemSolutionsIncMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ENPMendotaMember" xlink:label="loc_FSIENPMendotaMember" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIENPMendotaMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_EnpRealtyLLCMember" xlink:label="loc_FSIEnpRealtyLLCMember" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIEnpRealtyLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_NanoChemMember" xlink:label="loc_FSINanoChemMember" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSINanoChemMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ENPPeruInvestmentsMember" xlink:label="loc_FSIENPPeruInvestmentsMember" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIENPPeruInvestmentsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ENPPeruOneMember" xlink:label="loc_FSIENPPeruOneMember" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIENPPeruOneMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_MendotaMember" xlink:label="loc_FSIMendotaMember" />
      <link:presentationArc order="470" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIMendotaMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis" xlink:label="loc_us-gaapVariableRateAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_us-gaapVariableRateAxis" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="loc_us-gaapVariableRateDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapVariableRateAxis" xlink:to="loc_us-gaapVariableRateDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrimeRateMember" xlink:label="loc_us-gaapPrimeRateMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapVariableRateDomain" xlink:to="loc_us-gaapPrimeRateMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="loc_us-gaapDebtInstrumentFaceAmount" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapDebtInstrumentFaceAmount" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="loc_us-gaapDebtInstrumentInterestRateStatedPercentage" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapDebtInstrumentInterestRateStatedPercentage" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTerm" xlink:label="loc_us-gaapDebtInstrumentTerm" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapDebtInstrumentTerm" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpenseDebt" xlink:label="loc_us-gaapInterestExpenseDebt" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapInterestExpenseDebt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDefaultLongtermDebtAmount" xlink:label="loc_us-gaapDebtDefaultLongtermDebtAmount" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapDebtDefaultLongtermDebtAmount" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LoansPayable" xlink:label="loc_us-gaapLoansPayable" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapLoansPayable" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense" xlink:label="loc_us-gaapInterestExpense" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapInterestExpense" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails" xlink:title="995571 - Disclosure - SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT) (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentFederalTaxExpenseBenefit" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapCurrentFederalTaxExpenseBenefit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentStateAndLocalTaxExpenseBenefit" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapCurrentStateAndLocalTaxExpenseBenefit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentForeignTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentForeignTaxExpenseBenefit" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapCurrentForeignTaxExpenseBenefit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_CurrentTax" xlink:label="loc_FSICurrentTax" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_FSICurrentTax" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_IncomeTaxRecovery" xlink:label="loc_FSIIncomeTaxRecovery" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_FSIIncomeTaxRecovery" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentIncomeTaxExpenseBenefit" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapCurrentIncomeTaxExpenseBenefit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredFederalIncomeTaxExpenseBenefit" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapDeferredFederalIncomeTaxExpenseBenefit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredStateAndLocalIncomeTaxExpenseBenefit" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapDeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredForeignIncomeTaxExpenseBenefit" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapDeferredForeignIncomeTaxExpenseBenefit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredIncomeTaxExpenseBenefit" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapDeferredIncomeTaxExpenseBenefit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails" xlink:title="995572 - Disclosure - SCHEDULE OF RECONCILIATION OF INCOME TAXES (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaapEffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapEffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ExpectedIncomeTaxRecovery" xlink:label="loc_FSIExpectedIncomeTaxRecovery" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_FSIExpectedIncomeTaxRecovery" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpense" xlink:label="loc_us-gaapIncomeTaxReconciliationNondeductibleExpense" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeTaxReconciliationNondeductibleExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationOtherAdjustments" xlink:label="loc_us-gaapIncomeTaxReconciliationOtherAdjustments" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeTaxReconciliationOtherAdjustments" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" xlink:label="loc_us-gaapIncomeTaxReconciliationForeignIncomeTaxRateDifferential" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeTaxReconciliationForeignIncomeTaxRateDifferential" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="loc_us-gaapIncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentIncomeTaxExpenseBenefit" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapCurrentIncomeTaxExpenseBenefit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredIncomeTaxExpenseBenefit" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapDeferredIncomeTaxExpenseBenefit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails" xlink:title="995573 - Disclosure - SCHEDULE OF DEFERRED TAX ASSETS (LIABILITIES) (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwardsTable" xlink:label="loc_us-gaapOperatingLossCarryforwardsTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapOperatingLossCarryforwardsTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwardsLineItems" xlink:label="loc_us-gaapOperatingLossCarryforwardsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsTable" xlink:to="loc_us-gaapOperatingLossCarryforwardsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaapIncomeTaxAuthorityNameAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsTable" xlink:to="loc_us-gaapIncomeTaxAuthorityNameAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaapIncomeTaxAuthorityNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:to="loc_us-gaapIncomeTaxAuthorityNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CanadaRevenueAgencyMember" xlink:label="loc_us-gaapCanadaRevenueAgencyMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxAuthorityNameDomain" xlink:to="loc_us-gaapCanadaRevenueAgencyMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InternalRevenueServiceIRSMember" xlink:label="loc_us-gaapInternalRevenueServiceIRSMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxAuthorityNameDomain" xlink:to="loc_us-gaapInternalRevenueServiceIRSMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="loc_us-gaapDeferredTaxAssetsOperatingLossCarryforwards" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapDeferredTaxAssetsOperatingLossCarryforwards" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets" xlink:label="loc_us-gaapDeferredTaxAssetsGoodwillAndIntangibleAssets" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapDeferredTaxAssetsGoodwillAndIntangibleAssets" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_DeferredTaxAssetsPropertyPlantsAndEquipment" xlink:label="loc_FSIDeferredTaxAssetsPropertyPlantsAndEquipment" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_FSIDeferredTaxAssetsPropertyPlantsAndEquipment" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="loc_us-gaapDeferredTaxAssetsGross" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapDeferredTaxAssetsGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="loc_us-gaapDeferredTaxAssetsValuationAllowance" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapDeferredTaxAssetsValuationAllowance" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="loc_us-gaapDeferredTaxAssetsNet" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapDeferredTaxAssetsNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInvestments" xlink:label="loc_us-gaapDeferredTaxAssetsInvestments" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapDeferredTaxAssetsInvestments" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_DeferredTaxAssetsPropertyPlantsAndEquipmentOne" xlink:label="loc_FSIDeferredTaxAssetsPropertyPlantsAndEquipmentOne" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_FSIDeferredTaxAssetsPropertyPlantsAndEquipmentOne" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsDerivativeInstruments" xlink:label="loc_us-gaapDeferredTaxAssetsDerivativeInstruments" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapDeferredTaxAssetsDerivativeInstruments" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_DeferredTaxAssetNotRecognized" xlink:label="loc_FSIDeferredTaxAssetNotRecognized" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_FSIDeferredTaxAssetNotRecognized" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilities" xlink:label="loc_us-gaapDeferredTaxLiabilities" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapDeferredTaxLiabilities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails" xlink:title="995574 - Disclosure - SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwardsTable" xlink:label="loc_us-gaapOperatingLossCarryforwardsTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapOperatingLossCarryforwardsTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwardsLineItems" xlink:label="loc_us-gaapOperatingLossCarryforwardsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsTable" xlink:to="loc_us-gaapOperatingLossCarryforwardsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxPeriodAxis" xlink:label="loc_us-gaapTaxPeriodAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsTable" xlink:to="loc_us-gaapTaxPeriodAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxPeriodDomain" xlink:label="loc_us-gaapTaxPeriodDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTaxPeriodAxis" xlink:to="loc_us-gaapTaxPeriodDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_TwoThousandThirtyTaxYearMember" xlink:label="loc_FSITwoThousandThirtyTaxYearMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTaxPeriodDomain" xlink:to="loc_FSITwoThousandThirtyTaxYearMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_TwoThousandThirtyOneYearMember" xlink:label="loc_FSITwoThousandThirtyOneYearMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTaxPeriodDomain" xlink:to="loc_FSITwoThousandThirtyOneYearMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_TwoThousandThirtyTwoYearMember" xlink:label="loc_FSITwoThousandThirtyTwoYearMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTaxPeriodDomain" xlink:to="loc_FSITwoThousandThirtyTwoYearMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_TwoThousandThirtySevenYearMember" xlink:label="loc_FSITwoThousandThirtySevenYearMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTaxPeriodDomain" xlink:to="loc_FSITwoThousandThirtySevenYearMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_TwoThousandThirtyNineYearMember" xlink:label="loc_FSITwoThousandThirtyNineYearMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTaxPeriodDomain" xlink:to="loc_FSITwoThousandThirtyNineYearMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_TwoThousandFourtyYearMember" xlink:label="loc_FSITwoThousandFourtyYearMember" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTaxPeriodDomain" xlink:to="loc_FSITwoThousandFourtyYearMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="loc_us-gaapOperatingLossCarryforwards" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapOperatingLossCarryforwards" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative" xlink:title="995575 - Disclosure - INCOME TAXES (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwardsTable" xlink:label="loc_us-gaapOperatingLossCarryforwardsTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapOperatingLossCarryforwardsTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwardsLineItems" xlink:label="loc_us-gaapOperatingLossCarryforwardsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsTable" xlink:to="loc_us-gaapOperatingLossCarryforwardsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaapIncomeTaxAuthorityNameAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsTable" xlink:to="loc_us-gaapIncomeTaxAuthorityNameAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaapIncomeTaxAuthorityNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:to="loc_us-gaapIncomeTaxAuthorityNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CanadaRevenueAgencyMember" xlink:label="loc_us-gaapCanadaRevenueAgencyMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxAuthorityNameDomain" xlink:to="loc_us-gaapCanadaRevenueAgencyMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_IncomeTaxRecovery" xlink:label="loc_FSIIncomeTaxRecovery" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_FSIIncomeTaxRecovery" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="loc_us-gaapOperatingLossCarryforwards" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapOperatingLossCarryforwards" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfBasicAndDilutedLossPerShareDetails" xlink:title="995576 - Disclosure - SCHEDULE OF BASIC AND DILUTED LOSS PER SHARE (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaapEarningsPerShareAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaapEarningsPerShareBasic" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapEarningsPerShareBasic" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaapEarningsPerShareDiluted" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapEarningsPerShareDiluted" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfAnti-dilutiveOptionsDetails" xlink:title="995577 - Disclosure - SCHEDULE OF ANTI-DILUTIVE OPTIONS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaapEarningsPerShareAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="loc_us-gaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/IncomePerShareDetailsNarrative" xlink:title="995578 - Disclosure - INCOME PER SHARE (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaapEarningsPerShareAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwardsTable" xlink:label="loc_us-gaapOperatingLossCarryforwardsTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapOperatingLossCarryforwardsTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwardsLineItems" xlink:label="loc_us-gaapOperatingLossCarryforwardsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsTable" xlink:to="loc_us-gaapOperatingLossCarryforwardsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaapIncomeTaxAuthorityNameAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsTable" xlink:to="loc_us-gaapIncomeTaxAuthorityNameAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaapIncomeTaxAuthorityNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:to="loc_us-gaapIncomeTaxAuthorityNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CanadaRevenueAgencyMember" xlink:label="loc_us-gaapCanadaRevenueAgencyMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxAuthorityNameDomain" xlink:to="loc_us-gaapCanadaRevenueAgencyMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="loc_us-gaapPreferredStockSharesIssued" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapPreferredStockSharesIssued" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="loc_us-gaapPreferredStockSharesOutstanding" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapPreferredStockSharesOutstanding" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails" xlink:title="995579 - Disclosure - SCHEDULE OF STOCK OPTION ACTIVITIES (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_srtRangeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_2" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_2" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_2" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails" xlink:title="995580 - Disclosure - SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_srtRangeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StockOptionsDetailsNarrative" xlink:title="995581 - Disclosure - STOCK OPTIONS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:label="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:label="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:to="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srtTitleOfIndividualAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:to="loc_srtTitleOfIndividualAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ConsultantsMember" xlink:label="loc_FSIConsultantsMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_FSIConsultantsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_EmployeesMember" xlink:label="loc_FSIEmployeesMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_FSIEmployeesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaapIncomeTaxAuthorityNameAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:to="loc_us-gaapIncomeTaxAuthorityNameAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaapIncomeTaxAuthorityNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:to="loc_us-gaapIncomeTaxAuthorityNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CanadaRevenueAgencyMember" xlink:label="loc_us-gaapCanadaRevenueAgencyMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxAuthorityNameDomain" xlink:to="loc_us-gaapCanadaRevenueAgencyMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockOptionPlanExpense" xlink:label="loc_us-gaapStockOptionPlanExpense" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapStockOptionPlanExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_AdditionalExpensesDueToOptionsGranted" xlink:label="loc_FSIAdditionalExpensesDueToOptionsGranted" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_FSIAdditionalExpensesDueToOptionsGranted" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/CapitalStockDetailsNarrative" xlink:title="995582 - Disclosure - CAPITAL STOCK (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaapEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapAwardTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaapEmployeeStockOptionMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapEmployeeStockOptionMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ConsultantStockOptionMember" xlink:label="loc_FSIConsultantStockOptionMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_FSIConsultantStockOptionMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueIssuedForServices" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueIssuedForServices" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueIssuedForServices" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DividendsPayableAmountPerShare" xlink:label="loc_us-gaapDividendsPayableAmountPerShare" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapDividendsPayableAmountPerShare" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails" xlink:title="995583 - Disclosure - SCHEDULE OF DISTRIBUTIONS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestAbstract" xlink:label="loc_us-gaapNoncontrollingInterestAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNoncontrollingInterestAbstract" xlink:to="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_srtOwnershipAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ENPInvestmentsLLCMember" xlink:label="loc_FSIENPInvestmentsLLCMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPInvestmentsLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="loc_us-gaapTypeOfArrangementAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_us-gaapTypeOfArrangementAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTypeOfArrangementAxis" xlink:to="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_OwnershipInterestPurchaseAgreementMember" xlink:label="loc_FSIOwnershipInterestPurchaseAgreementMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:to="loc_FSIOwnershipInterestPurchaseAgreementMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterest" xlink:label="loc_us-gaapMinorityInterest" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:label="loc_us-gaapMinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapNetIncomeLossAttributableToNoncontrollingInterest" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapNetIncomeLossAttributableToNoncontrollingInterest" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterest" xlink:label="loc_us-gaapMinorityInterest_2" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterest_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" xlink:title="995584 - Disclosure - SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestAbstract" xlink:label="loc_us-gaapNoncontrollingInterestAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNoncontrollingInterestAbstract" xlink:to="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_srtOwnershipAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_MendotaLLCMember" xlink:label="loc_FSIMendotaLLCMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIMendotaLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="loc_us-gaapTypeOfArrangementAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_us-gaapTypeOfArrangementAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTypeOfArrangementAxis" xlink:to="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_OwnershipInterestPurchaseAgreementMember" xlink:label="loc_FSIOwnershipInterestPurchaseAgreementMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:to="loc_FSIOwnershipInterestPurchaseAgreementMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterest" xlink:label="loc_us-gaapMinorityInterest" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates" xlink:label="loc_us-gaapPaymentsToAcquireBusinessesAndInterestInAffiliates" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapPaymentsToAcquireBusinessesAndInterestInAffiliates" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation" xlink:label="loc_us-gaapNoncontrollingInterestDecreaseFromDeconsolidation" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapNoncontrollingInterestDecreaseFromDeconsolidation" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterest" xlink:label="loc_us-gaapMinorityInterest_2" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterest_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative" xlink:title="995585 - Disclosure - NON-CONTROLLING INTERESTS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestAbstract" xlink:label="loc_us-gaapNoncontrollingInterestAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNoncontrollingInterestAbstract" xlink:to="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_srtOwnershipAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ENPInvestmentsLLCMember" xlink:label="loc_FSIENPInvestmentsLLCMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPInvestmentsLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_MendotaLLCMember" xlink:label="loc_FSIMendotaLLCMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIMendotaLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" xlink:label="loc_us-gaapSubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapSubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:label="loc_us-gaapMinorityInterestOwnershipPercentageByParent" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterestOwnershipPercentageByParent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToMinorityShareholders" xlink:label="loc_us-gaapPaymentsToMinorityShareholders" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapPaymentsToMinorityShareholders" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues" xlink:label="loc_us-gaapRevenues" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapRevenues" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaapAccountsReceivableNetCurrent" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapAccountsReceivableNetCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails" xlink:title="995586 - Disclosure - SCHEDULE OF REPORTABLE SEGMENTS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaapSegmentReportingAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:label="loc_us-gaapScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract" xlink:to="loc_us-gaapScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:label="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="loc_srtProductOrServiceAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_EWCPMember" xlink:label="loc_FSIEWCPMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_FSIEWCPMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_BCPAMember" xlink:label="loc_FSIBCPAMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_FSIBCPAMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="loc_us-gaapStatementBusinessSegmentsAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="loc_us-gaapStatementBusinessSegmentsAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain" xlink:label="loc_us-gaapSegmentDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementBusinessSegmentsAxis" xlink:to="loc_us-gaapSegmentDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_SegmentMember" xlink:label="loc_FSISegmentMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentDomain" xlink:to="loc_FSISegmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense" xlink:label="loc_us-gaapInterestExpense" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapInterestExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationNonproduction" xlink:label="loc_us-gaapDepreciationNonproduction" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapDepreciationNonproduction" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_SegmentAssets" xlink:label="loc_FSISegmentAssets" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_FSISegmentAssets" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" xlink:title="995587 - Disclosure - SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaapSegmentReportingAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract" xlink:to="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srtStatementGeographicalAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="loc_srtStatementGeographicalAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CA" xlink:label="loc_countryCA" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryCA" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_UnitedStatesandAbroadMember" xlink:label="loc_FSIUnitedStatesandAbroadMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_FSIUnitedStatesandAbroadMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails" xlink:title="995588 - Disclosure - SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaapSegmentReportingAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract" xlink:to="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srtStatementGeographicalAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="loc_srtStatementGeographicalAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CA" xlink:label="loc_countryCA" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryCA" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="loc_countryUS" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryUS" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncurrentAssets" xlink:label="loc_us-gaapNoncurrentAssets" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="loc_us-gaapNoncurrentAssets" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative" xlink:title="995589 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaapSegmentReportingAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:label="loc_us-gaapScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract" xlink:to="loc_us-gaapScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:label="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:to="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaapConcentrationRiskByBenchmarkAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:to="loc_us-gaapConcentrationRiskByBenchmarkAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember" xlink:label="loc_us-gaapAccountsReceivableMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapAccountsReceivableMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis" xlink:label="loc_srtMajorCustomersAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:to="loc_srtMajorCustomersAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain" xlink:label="loc_srtNameOfMajorCustomerDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtMajorCustomersAxis" xlink:to="loc_srtNameOfMajorCustomerDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ThreeCustomersMember" xlink:label="loc_FSIThreeCustomersMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_FSIThreeCustomersMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfOperatingSegments" xlink:label="loc_us-gaapNumberOfOperatingSegments" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" xlink:to="loc_us-gaapNumberOfOperatingSegments" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNet" xlink:label="loc_us-gaapAccountsReceivableNet" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" xlink:to="loc_us-gaapAccountsReceivableNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_StockOptionExercisePercent" xlink:label="loc_FSIStockOptionExercisePercent" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" xlink:to="loc_FSIStockOptionExercisePercent" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative" xlink:title="995590 - Disclosure - SUBSEQUENT EVENTS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="loc_us-gaapSubsequentEventsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTable" xlink:label="loc_us-gaapSubsequentEventTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventsAbstract" xlink:to="loc_us-gaapSubsequentEventTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventLineItems" xlink:label="loc_us-gaapSubsequentEventLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventTable" xlink:to="loc_us-gaapSubsequentEventLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="loc_us-gaapSubsequentEventTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventTable" xlink:to="loc_us-gaapSubsequentEventTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaapSubsequentEventTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventTypeAxis" xlink:to="loc_us-gaapSubsequentEventTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventMember" xlink:label="loc_us-gaapSubsequentEventMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventTypeDomain" xlink:to="loc_us-gaapSubsequentEventMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srtTitleOfIndividualAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventTable" xlink:to="loc_srtTitleOfIndividualAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_ConsultantsMember" xlink:label="loc_FSIConsultantsMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_FSIConsultantsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20231231.xsd#FSI_EmployeesMember" xlink:label="loc_FSIEmployeesMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_FSIEmployeesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496363299008">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cover - 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, 2023</div></th>
<th class="th"><div>Mar. 29, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</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_CoverAbstract', window );"><strong>Cover [Abstract]</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_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_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="ro">
<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="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_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Dec. 31,  2023<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_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="ro">
<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">2023<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_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">001-31540<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">FLEXIBLE
SOLUTIONS INTERNATIONAL, 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_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001069394<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_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">71-1630889<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_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">A0<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">6001
    54 Ave.<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">Taber<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">AB<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_EntityAddressCountry', window );">Entity Address, Country</a></td>
<td class="text">CA<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_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">T1G
    1X4<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_CityAreaCode', window );">City Area Code</a></td>
<td class="text">(403)<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_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">223-2995<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_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common
    Stock, $0.001 par value<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_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">FSI<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_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NYSEAMER<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_EntityWellKnownSeasonedIssuer', window );">Entity Well-known Seasoned Issuer</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_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="re">
<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="ro">
<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="re">
<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">Non-accelerated Filer<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_EntitySmallBusiness', window );">Entity Small Business</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="re">
<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="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">$ 19,343,103<span></span>
</td>
</tr>
<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">12,450,532<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_DocumentsIncorporatedByReferenceTextBlock', window );">Documents Incorporated by Reference [Text Block]</a></td>
<td class="text">None<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_IcfrAuditorAttestationFlag', window );">ICFR Auditor Attestation 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_DocumentFinStmtErrorCorrectionFlag', window );">Document Financial Statement Error Correction [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="ro">
<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">Smythe LLP<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_AuditorFirmId', window );">Auditor Firm ID</a></td>
<td class="text">995<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_AuditorLocation', window );">Auditor Location</a></td>
<td class="text">Vancouver,
Canada<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_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cover page.</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_CoverAbstract</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_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_DocumentFinStmtErrorCorrectionFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 whether any of the financial statement period in the filing include a restatement due to error correction.</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-K<br> -Number 229<br> -Section 402<br> -Subsection w<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 3: 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 4: 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_DocumentFinStmtErrorCorrectionFlag</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_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_DocumentsIncorporatedByReferenceTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Documents incorporated by reference.</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-23<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_DocumentsIncorporatedByReferenceTextBlock</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>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_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_EntityAddressCountry">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>ISO 3166-1 alpha-2 country 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_EntityAddressCountry</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:countryCodeItemType</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>16
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496277303344">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</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_AssetsCurrentAbstract', window );"><strong>Current</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_Cash', window );">Cash</a></td>
<td class="nump">$ 5,017,583<span></span>
</td>
<td class="nump">$ 6,115,099<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepositsAssetsCurrent', window );">Term deposits (Note 2)</a></td>
<td class="nump">2,690,241<span></span>
</td>
<td class="nump">700,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_AccountsReceivableNetCurrent', window );">Accounts receivable, net (Note 4)</a></td>
<td class="nump">9,843,056<span></span>
</td>
<td class="nump">9,449,857<span></span>
</td>
</tr>
<tr class="re">
<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 (Note 5)</a></td>
<td class="nump">11,134,889<span></span>
</td>
<td class="nump">14,419,430<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseCurrent', window );">Prepaid expenses and deposits</a></td>
<td class="nump">1,540,923<span></span>
</td>
<td class="nump">310,297<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_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">30,226,692<span></span>
</td>
<td class="nump">30,994,683<span></span>
</td>
</tr>
<tr class="ro">
<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, equipment and leaseholds, net (Note 6)</a></td>
<td class="nump">13,171,787<span></span>
</td>
<td class="nump">9,709,288<span></span>
</td>
</tr>
<tr class="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 );">Right of use assets (Note 3)</a></td>
<td class="nump">115,293<span></span>
</td>
<td class="nump">167,222<span></span>
</td>
</tr>
<tr class="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 );">Intangible assets (Note 8)</a></td>
<td class="nump">2,280,000<span></span>
</td>
<td class="nump">2,440,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_DepositsAssetsNoncurrent', window );">Long term deposits (Note 9)</a></td>
<td class="nump">824,254<span></span>
</td>
<td class="nump">8,540<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestments', window );">Investments (Note 10)</a></td>
<td class="nump">6,033,960<span></span>
</td>
<td class="nump">5,458,895<span></span>
</td>
</tr>
<tr class="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 (Note 8)</a></td>
<td class="nump">2,534,275<span></span>
</td>
<td class="nump">2,534,275<span></span>
</td>
</tr>
<tr class="ro">
<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 tax asset (Note 13)</a></td>
<td class="nump">284,794<span></span>
</td>
<td class="nump">274,289<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">55,471,055<span></span>
</td>
<td class="nump">51,587,192<span></span>
</td>
</tr>
<tr class="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</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_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">1,984,592<span></span>
</td>
<td class="nump">873,904<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued liabilities</a></td>
<td class="nump">284,131<span></span>
</td>
<td class="nump">959,856<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredRevenueCurrent', window );">Deferred revenue</a></td>
<td class="nump">148,292<span></span>
</td>
<td class="nump">387,763<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TaxesPayableCurrent', window );">Income taxes payable</a></td>
<td class="nump">4,485,213<span></span>
</td>
<td class="nump">4,486,350<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LinesOfCreditCurrent', window );">Short term line of credit (Note 11)</a></td>
<td class="nump">1,810,479<span></span>
</td>
<td class="nump">2,818,591<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Current portion of lease liability (Note 3)</a></td>
<td class="nump">59,520<span></span>
</td>
<td class="nump">58,080<span></span>
</td>
</tr>
<tr class="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 );">Current portion of long term debt (Note 12)</a></td>
<td class="nump">1,281,632<span></span>
</td>
<td class="nump">717,612<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_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">10,053,859<span></span>
</td>
<td class="nump">10,302,156<span></span>
</td>
</tr>
<tr class="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 );">Lease liability (Note 3)</a></td>
<td class="nump">55,773<span></span>
</td>
<td class="nump">109,142<span></span>
</td>
</tr>
<tr class="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 liability (Note 13)</a></td>
<td class="nump">260,047<span></span>
</td>
<td class="nump">500,459<span></span>
</td>
</tr>
<tr class="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 );">Long term debt (Note 12)</a></td>
<td class="nump">6,833,304<span></span>
</td>
<td class="nump">5,436,465<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_Liabilities', window );">Total Liabilities</a></td>
<td class="nump">17,202,983<span></span>
</td>
<td class="nump">16,348,222<span></span>
</td>
</tr>
<tr class="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, value</a></td>
<td class="nump">12,436<span></span>
</td>
<td class="nump">12,426<span></span>
</td>
</tr>
<tr class="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 );">Capital in excess of par value</a></td>
<td class="nump">17,932,015<span></span>
</td>
<td class="nump">17,523,345<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Other comprehensive loss</a></td>
<td class="num">(795,146)<span></span>
</td>
<td class="num">(805,799)<span></span>
</td>
</tr>
<tr class="re">
<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 );">Accumulated earnings</a></td>
<td class="nump">18,053,051<span></span>
</td>
<td class="nump">15,903,964<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 );">Total stockholders&#8217; equity &#8211; controlling interest</a></td>
<td class="nump">35,202,356<span></span>
</td>
<td class="nump">32,633,936<span></span>
</td>
</tr>
<tr class="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 );">Non-controlling interests (Note 17)</a></td>
<td class="nump">3,065,716<span></span>
</td>
<td class="nump">2,605,034<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">38,268,072<span></span>
</td>
<td class="nump">35,238,970<span></span>
</td>
</tr>
<tr class="re">
<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">$ 55,471,055<span></span>
</td>
<td class="nump">$ 51,587,192<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_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://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">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> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</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> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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>Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source.</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> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14A<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 26: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-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;">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> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_Cash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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. 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://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480555/946-210-45-21<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 210<br> -Topic 946<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480555/946-210-45-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Cash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15)(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_DeferredRevenueCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and obligation to transfer product and service to customer for which consideration has been received or is 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/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_DeferredRevenueCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DepositsAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of amounts transferred to third parties for security purposes that are expected to be returned or applied towards payment within one year or during the operating cycle, if shorter.</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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_DepositsAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DepositsAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of amounts transferred to third parties for security purposes that are expected to be returned or applied towards payment 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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_DepositsAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_EquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 item represents the carrying amount on the entity's balance sheet of its investment in common stock of an equity method investee. This is not an indicator of the fair value of the investment, rather it is the initial cost adjusted for the entity's share of earnings and losses of the investee, adjusted for any distributions (dividends) and other than temporary impairment (OTTI) losses 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> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481664/323-10-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482598/350-20-45-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-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;">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_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> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph ((a)(1),(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482686/350-30-45-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;">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_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/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 22: http://fasb.org/us-gaap/role/ref/legacyRef<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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">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/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">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/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-5<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">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_LinesOfCreditCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-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;">us-gaap_LinesOfCreditCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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 deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as current. 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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">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_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, after deduction of 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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">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_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>Amount of equity (deficit) attributable to noncontrolling interest. Excludes temporary 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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">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_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-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;">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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-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;">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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-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;">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_PrepaidExpenseCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 within a future period of 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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482955/340-10-05-5<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483032/340-10-45-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;">us-gaap_PrepaidExpenseCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480842/942-360-50-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;">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_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>Amount of accumulated undistributed earnings (deficit).</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> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-11<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">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_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>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity 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/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-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;">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 equity (deficit) attributable to parent and noncontrolling interest. Excludes temporary 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> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483421/250-10-45-24<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483421/250-10-45-23<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483421/250-10-45-5<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479654/326-10-65-5<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (i)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 848<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)(3)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483550/848-10-65-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479343/105-10-65-6<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479343/105-10-65-6<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482615/740-10-65-8<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482615/740-10-65-8<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479654/326-10-65-4<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480336/718-10-65-15<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480336/718-10-65-15<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480336/718-10-65-15<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-5<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481674/830-30-50-1<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-17<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-3<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-3<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 34: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 38: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 39: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 40: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 41: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-15<br><br>Reference 42: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-16<br><br>Reference 43: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4I<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4I<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_TaxesPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. 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> -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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_TaxesPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>17
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496273450912">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets (Parenthetical) - $ / shares<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</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_StatementOfFinancialPositionAbstract', window );"><strong>Statement of Financial Position [Abstract]</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_CommonStockSharesAuthorized', window );">Common stock, shares authorized</a></td>
<td class="nump">50,000,000<span></span>
</td>
<td class="nump">50,000,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_CommonStockParOrStatedValuePerShare', window );">Common stock, par value</a></td>
<td class="nump">$ 0.001<span></span>
</td>
<td class="nump">$ 0.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_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized</a></td>
<td class="nump">1,000,000<span></span>
</td>
<td class="nump">1,000,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_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.01<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="nump">12,435,532<span></span>
</td>
<td class="nump">12,426,260<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding</a></td>
<td class="nump">12,435,532<span></span>
</td>
<td class="nump">12,426,260<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_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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">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_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 common stock outstanding. Common stock represent the ownership interest in a corporation.</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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-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_PreferredStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 preferred stock nonredeemable or redeemable solely at the option of the issuer.</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> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_PreferredStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="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_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.</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> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-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_StatementOfFinancialPositionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementOfFinancialPositionAbstract</td>
</tr>
<tr>
<td style="padding-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>18
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496357406640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Income and Comprehensive Income - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</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_IncomeStatementAbstract', window );"><strong>Income Statement [Abstract]</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="nump">$ 38,324,806<span></span>
</td>
<td class="nump">$ 45,840,469<span></span>
</td>
</tr>
<tr class="re">
<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 );">Cost of sales (Note 6, 7 &amp; 8)</a></td>
<td class="nump">27,987,451<span></span>
</td>
<td class="nump">31,971,596<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_GrossProfit', window );">Gross profit</a></td>
<td class="nump">10,337,355<span></span>
</td>
<td class="nump">13,868,873<span></span>
</td>
</tr>
<tr class="re">
<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="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_SalariesAndWages', window );">Wages</a></td>
<td class="nump">2,659,654<span></span>
</td>
<td class="nump">2,537,783<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OfficersCompensation', window );">Administrative salaries and benefits</a></td>
<td class="nump">1,205,007<span></span>
</td>
<td class="nump">1,032,394<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GeneralInsuranceExpense', window );">Insurance</a></td>
<td class="nump">861,501<span></span>
</td>
<td class="nump">683,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_OtherGeneralExpense', window );">Office and miscellaneous</a></td>
<td class="nump">508,376<span></span>
</td>
<td class="nump">350,126<span></span>
</td>
</tr>
<tr class="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="nump">498,666<span></span>
</td>
<td class="nump">292,949<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_FSI_Consulting', window );">Consulting</a></td>
<td class="nump">324,327<span></span>
</td>
<td class="nump">312,171<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TravelAndEntertainmentExpense', window );">Travel</a></td>
<td class="nump">264,563<span></span>
</td>
<td class="nump">171,369<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfessionalFees', window );">Professional fees</a></td>
<td class="nump">238,466<span></span>
</td>
<td class="nump">660,821<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_FSI_InvestorRelationsAndTransferAgentFee', window );">Investor relations and transfer agent fee</a></td>
<td class="nump">222,650<span></span>
</td>
<td class="nump">179,505<span></span>
</td>
</tr>
<tr class="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 );">Advertising and promotion</a></td>
<td class="nump">194,308<span></span>
</td>
<td class="nump">182,609<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="nump">158,246<span></span>
</td>
<td class="nump">99,275<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseExpense', window );">Lease expense</a></td>
<td class="nump">97,806<span></span>
</td>
<td class="nump">149,446<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommunicationsAndInformationTechnology', window );">Telecommunications</a></td>
<td class="nump">55,093<span></span>
</td>
<td class="nump">42,098<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_FSI_Commissions', window );">Commissions</a></td>
<td class="nump">35,623<span></span>
</td>
<td class="nump">30,732<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UtilitiesOperatingExpense', window );">Utilities</a></td>
<td class="nump">26,854<span></span>
</td>
<td class="nump">29,517<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_FSI_ShippingCost', window );">Shipping</a></td>
<td class="nump">24,060<span></span>
</td>
<td class="nump">23,469<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax', window );">Currency exchange</a></td>
<td class="num">(37,632)<span></span>
</td>
<td class="nump">23,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_ProvisionForDoubtfulAccounts', window );">Bad debt expense</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">17,869<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="nump">7,337,568<span></span>
</td>
<td class="nump">6,818,496<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 );">Operating income</a></td>
<td class="nump">2,999,787<span></span>
</td>
<td class="nump">7,050,377<span></span>
</td>
</tr>
<tr class="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 sale of asset (Note 6)</a></td>
<td class="nump">4,589<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnInvestments', window );">Gain on investments (Note 10)</a></td>
<td class="nump">505,065<span></span>
</td>
<td class="nump">341,424<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_FSI_GainOnPreviouslyHeldEquityInterest', window );">Gain on previously held equity interest (Note 10)</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">335,051<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestIncomeOther', window );">Interest income</a></td>
<td class="nump">113,809<span></span>
</td>
<td class="nump">132,233<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 income tax</a></td>
<td class="nump">3,623,250<span></span>
</td>
<td class="nump">7,859,085<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxesAndTaxCreditsAbstract', window );"><strong>Income taxes (Note 13)</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_DeferredIncomeTaxExpenseBenefit', window );">Deferred income tax recovery</a></td>
<td class="nump">250,917<span></span>
</td>
<td class="nump">71,295<span></span>
</td>
</tr>
<tr class="re">
<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</a></td>
<td class="num">(118,182)<span></span>
</td>
<td class="num">(217,151)<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 for the year</a></td>
<td class="nump">3,755,985<span></span>
</td>
<td class="nump">7,713,229<span></span>
</td>
</tr>
<tr class="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 non-controlling interests</a></td>
<td class="num">(980,121)<span></span>
</td>
<td class="num">(691,625)<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 controlling interest</a></td>
<td class="nump">$ 2,775,864<span></span>
</td>
<td class="nump">$ 7,021,604<span></span>
</td>
</tr>
<tr class="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 );">Income per share (basic) (Note 14)</a></td>
<td class="nump">$ 0.22<span></span>
</td>
<td class="nump">$ 0.57<span></span>
</td>
</tr>
<tr class="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 );">Income per share (diluted) (Note 14)</a></td>
<td class="nump">$ 0.22<span></span>
</td>
<td class="nump">$ 0.56<span></span>
</td>
</tr>
<tr class="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 number of common shares (basic)</a></td>
<td class="nump">12,434,886<span></span>
</td>
<td class="nump">12,379,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_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Weighted average number of common shares (diluted)</a></td>
<td class="nump">12,489,467<span></span>
</td>
<td class="nump">12,466,415<span></span>
</td>
</tr>
<tr class="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:</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_ProfitLoss', window );">Net income</a></td>
<td class="nump">$ 3,755,985<span></span>
</td>
<td class="nump">$ 7,713,229<span></span>
</td>
</tr>
<tr class="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 );">Unrealized gain (loss) on foreign currency transactions</a></td>
<td class="nump">10,653<span></span>
</td>
<td class="num">(30,069)<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_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest', window );">Total comprehensive income</a></td>
<td class="nump">3,766,638<span></span>
</td>
<td class="nump">7,683,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_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest', window );">Comprehensive income &#8211; non-controlling interest</a></td>
<td class="num">(980,121)<span></span>
</td>
<td class="num">(691,625)<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_ComprehensiveIncomeNetOfTax', window );">Comprehensive income attributable to controlling interests</a></td>
<td class="nump">$ 2,786,517<span></span>
</td>
<td class="nump">$ 6,991,535<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_Commissions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Commissions.</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;">FSI_Commissions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_Consulting">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Consulting.</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;">FSI_Consulting</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_GainOnPreviouslyHeldEquityInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gain on previously held 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;">FSI_GainOnPreviouslyHeldEquityInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_InvestorRelationsAndTransferAgentFee">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Investor relations aand transfer agent fee.</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;">FSI_InvestorRelationsAndTransferAgentFee</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_ShippingCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Shipping cost.</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;">FSI_ShippingCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_CommunicationsAndInformationTechnology">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 in the period for communications and data processing expense.</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> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-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;">us-gaap_CommunicationsAndInformationTechnology</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-20<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-21<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4K<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4K<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-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;">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_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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_DeferredIncomeTaxesAndTaxCreditsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DeferredIncomeTaxesAndTaxCreditsAbstract</td>
</tr>
<tr>
<td style="padding-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_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> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ForeignCurrencyTransactionGainLossBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, of realized and unrealized gain (loss) from foreign currency transaction.</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> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482014/830-20-35-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481956/830-20-45-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481926/830-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481839/830-10-45-17<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionGainLossBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_GainLossOnInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 realized and unrealized gain (loss) on investment.</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/recommendedDisclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7(c),9(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-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;">us-gaap_GainLossOnInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_GeneralInsuranceExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 expense in the period incurred with respect to protection provided by insurance entities against risks other than risks associated with production (which are allocated to cost of sales).</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> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-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;">us-gaap_GeneralInsuranceExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-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;">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> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -SubTopic 20<br> -Topic 940<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481913/940-20-25-1<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-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;">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_IncomeStatementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeStatementAbstract</td>
</tr>
<tr>
<td style="padding-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_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/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483013/835-20-50-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;">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_InterestIncomeOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 income earned from interest bearing 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_InterestIncomeOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-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;">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> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4J<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_OfficersCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 salary and wage arising from service rendered by officer. Excludes allocated cost, labor-related nonsalary expense, and direct and overhead labor cost included in cost of good and service sold.</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> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-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;">us-gaap_OfficersCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_OperatingLeaseExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 operating lease expense. Excludes 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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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_OtherGeneralExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 general expenses not normally included in Other Operating Costs and Expenses.</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> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.6)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-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;">us-gaap_OtherGeneralExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProfessionalFees">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 fee charged for services from professionals such as doctors, lawyers and accountants. The term is often expanded to include other professions, for example, pharmacists charging to maintain a medicinal profile of a client or 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/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (k)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-3<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-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;">us-gaap_ProfessionalFees</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 16: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 33: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4J<br><br>Reference 34: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4K<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-2<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-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;">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/2003/role/disclosureRef<br> -Topic 730<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482916/730-10-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 912<br> -SubTopic 730<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482517/912-730-25-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481283/985-20-50-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;">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> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_SalariesAndWages">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 salary and wage arising from service rendered by nonofficer employee. Excludes allocated cost, labor-related nonsalary expense, and direct and overhead labor cost included in cost of good and service sold.</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> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-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;">us-gaap_SalariesAndWages</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_TravelAndEntertainmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Expenses incurred for travel and entertainment 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> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-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;">us-gaap_TravelAndEntertainmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_UtilitiesOperatingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 operating expense of regulated 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> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-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;">us-gaap_UtilitiesOperatingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>19
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496274324208">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Cash Flows - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</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="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 for the year</a></td>
<td class="nump">$ 3,755,985<span></span>
</td>
<td class="nump">$ 7,713,229<span></span>
</td>
</tr>
<tr class="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:</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_ShareBasedCompensation', window );">Stock based compensation</a></td>
<td class="nump">395,080<span></span>
</td>
<td class="nump">399,148<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">1,686,319<span></span>
</td>
<td class="nump">1,277,431<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_FSI_LeaseRightOfUseFinancing', window );">Lease right of use financing</a></td>
<td class="nump">6,151<span></span>
</td>
<td class="nump">8,566<span></span>
</td>
</tr>
<tr class="re">
<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 );">Lease right of use amortization</a></td>
<td class="nump">51,929<span></span>
</td>
<td class="nump">50,045<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnInvestments', window );">Gain on investments</a></td>
<td class="num">(505,065)<span></span>
</td>
<td class="num">(341,424)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment', window );">Gain on sale of asset</a></td>
<td class="num">(4,589)<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="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 );">Bad debt expense</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">17,869<span></span>
</td>
</tr>
<tr class="re">
<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 tax recovery</a></td>
<td class="num">(250,917)<span></span>
</td>
<td class="num">(71,295)<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_FSI_GainOnAcquisitionOfSubsidiary', window );">Gain on acquisition of ENP Peru, LLC</a></td>
<td class="text"> <span></span>
</td>
<td class="num">(335,051)<span></span>
</td>
</tr>
<tr class="re">
<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>Changes in non-cash working capital items:</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_IncreaseDecreaseInAccountsReceivable', window );">Increase in accounts receivable</a></td>
<td class="num">(393,199)<span></span>
</td>
<td class="num">(2,338,397)<span></span>
</td>
</tr>
<tr class="re">
<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 );">Decrease (increase) in inventories</a></td>
<td class="nump">3,284,541<span></span>
</td>
<td class="num">(4,124,022)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidExpense', window );">Decrease (increase) in prepaid expenses and deposits</a></td>
<td class="num">(1,230,626)<span></span>
</td>
<td class="nump">131,864<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities', window );">Increase (decrease) in accounts payable and accrued liabilities</a></td>
<td class="nump">434,964<span></span>
</td>
<td class="num">(700,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_IncreaseDecreaseInAccruedIncomeTaxesPayable', window );">Decrease in income taxes payable</a></td>
<td class="num">(1,137)<span></span>
</td>
<td class="num">(249,628)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability', window );">(Decrease) increase in deferred revenue</a></td>
<td class="num">(239,471)<span></span>
</td>
<td class="nump">38,759<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 );">Cash provided by operating activities</a></td>
<td class="nump">6,989,965<span></span>
</td>
<td class="nump">1,476,903<span></span>
</td>
</tr>
<tr class="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="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_PaymentsToAcquireInvestments', window );">Purchase of investments</a></td>
<td class="num">(470,000)<span></span>
</td>
<td class="text"> <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_FSI_ProceedsFromRedemptionOfInvestments', window );">Redemption of investments</a></td>
<td class="nump">200,000<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfEquityMethodInvestments', window );">Distributions received from equity investments</a></td>
<td class="nump">201,034<span></span>
</td>
<td class="nump">265,001<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_FSI_ProceedsFromNoncontrollingInterestOfMendota', window );">Non-controlling interest of 317 Mendota</a></td>
<td class="nump">200,000<span></span>
</td>
<td class="text"> <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_FSI_PaymentsToAcquireLongTermDeposits', window );">Long term deposits</a></td>
<td class="num">(815,714)<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfProductiveAssets', window );">Proceeds from sale of asset</a></td>
<td class="nump">5,411<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="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 );">Purchase of property and equipment</a></td>
<td class="num">(4,990,675)<span></span>
</td>
<td class="num">(1,981,307)<span></span>
</td>
</tr>
<tr class="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 );">Acquisition of ENP Peru, LLC</a></td>
<td class="text"> <span></span>
</td>
<td class="num">(499,329)<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_NetCashProvidedByUsedInInvestingActivities', window );">Cash used in investing activities</a></td>
<td class="num">(5,669,944)<span></span>
</td>
<td class="num">(2,215,635)<span></span>
</td>
</tr>
<tr class="re">
<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="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_ProceedsFromRepaymentsOfLinesOfCredit', window );">(Repayment) advance of short term line of credit</a></td>
<td class="num">(1,008,112)<span></span>
</td>
<td class="nump">517,772<span></span>
</td>
</tr>
<tr class="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 );">Repayment of long term debt</a></td>
<td class="num">(725,823)<span></span>
</td>
<td class="num">(2,292,819)<span></span>
</td>
</tr>
<tr class="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 of long term debt</a></td>
<td class="nump">2,686,682<span></span>
</td>
<td class="nump">3,230,798<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfFinancingCosts', window );">Lease payments</a></td>
<td class="num">(58,080)<span></span>
</td>
<td class="num">(58,611)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfDividends', window );">Dividends paid</a></td>
<td class="num">(626,777)<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToMinorityShareholders', window );">Distribution to non-controlling interest</a></td>
<td class="num">(719,439)<span></span>
</td>
<td class="num">(689,434)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfCommonStock', window );">Common stock issued</a></td>
<td class="nump">13,600<span></span>
</td>
<td class="nump">140,620<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_NetCashProvidedByUsedInFinancingActivities', window );">Cash provided by (used in) financing activities</a></td>
<td class="num">(437,949)<span></span>
</td>
<td class="nump">848,326<span></span>
</td>
</tr>
<tr class="ro">
<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</a></td>
<td class="nump">10,653<span></span>
</td>
<td class="num">(30,069)<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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Inflow of cash</a></td>
<td class="nump">892,725<span></span>
</td>
<td class="nump">79,525<span></span>
</td>
</tr>
<tr class="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 resources, beginning</a></td>
<td class="nump">6,815,099<span></span>
</td>
<td class="nump">6,735,574<span></span>
</td>
</tr>
<tr class="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 resources</a></td>
<td class="nump">7,707,824<span></span>
</td>
<td class="nump">6,815,099<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract', window );"><strong>Cash resources are comprised of:</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_Cash', window );">Cash</a></td>
<td class="nump">5,017,583<span></span>
</td>
<td class="nump">6,115,099<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermInvestments', window );">Term deposits</a></td>
<td class="nump">2,690,241<span></span>
</td>
<td class="nump">700,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_SupplementalCashFlowInformationAbstract', window );"><strong>Supplemental disclosure of cash flow information:</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_IncomeTaxesPaidNet', window );">Income taxes paid</a></td>
<td class="nump">119,319<span></span>
</td>
<td class="nump">158,966<span></span>
</td>
</tr>
<tr class="re">
<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 paid</a></td>
<td class="nump">$ 498,666<span></span>
</td>
<td class="nump">$ 292,949<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_GainOnAcquisitionOfSubsidiary">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gain on acquisition of subsidiary.</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;">FSI_GainOnAcquisitionOfSubsidiary</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_LeaseRightOfUseFinancing">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Lease right of use financing.</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;">FSI_LeaseRightOfUseFinancing</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_PaymentsToAcquireLongTermDeposits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Payments to acquire long term deposits.</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;">FSI_PaymentsToAcquireLongTermDeposits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_ProceedsFromNoncontrollingInterestOfMendota">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">FSI_ProceedsFromNoncontrollingInterestOfMendota</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_ProceedsFromRedemptionOfInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Proceeds from redemption of investments.</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;">FSI_ProceedsFromRedemptionOfInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_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_Cash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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. 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://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480555/946-210-45-21<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 210<br> -Topic 946<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480555/946-210-45-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Cash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract</td>
</tr>
<tr>
<td style="padding-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_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -SubTopic 230<br> -Topic 830<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481877/830-230-45-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;">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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_DepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production.</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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-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;">us-gaap_DepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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> -Topic 830<br> -SubTopic 230<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481877/830-230-45-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;">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_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/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_GainLossOnInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 realized and unrealized gain (loss) on investment.</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/recommendedDisclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7(c),9(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-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;">us-gaap_GainLossOnInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_GainLossOnSaleOfPropertyPlantEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 property, plant and equipment assets, including oil and gas property and timber property.</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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfPropertyPlantEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-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;">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_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not 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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_IncreaseDecreaseInAccruedIncomeTaxesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction.</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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncreaseDecreaseInContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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> -Topic 912<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482312/912-310-45-11<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_IncreaseDecreaseInPrepaidExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount of outstanding money paid in advance for goods or services that bring economic benefits for future periods.</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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-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;">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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_PaymentsOfDividends">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cash outflow in the form of capital distributions and dividends to common shareholders, preferred shareholders and 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> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfDividends</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_PaymentsOfFinancingCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 loan 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfFinancingCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_PaymentsToAcquireInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 all investments (debt, security, other) 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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_PaymentsToMinorityShareholders">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 a noncontrolling interest. Includes, but not limited to, reduction of noncontrolling interest ownership. Excludes dividends paid 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToMinorityShareholders</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProceedsFromIssuanceOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 additional capital contribution to 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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ProceedsFromRepaymentsOfLinesOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 cash inflow or cash outflow 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 either short term or long term maturity that is collateralized (backed by pledge, mortgage or other lien in the entity's 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;">us-gaap_ProceedsFromRepaymentsOfLinesOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProceedsFromSaleOfEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 associated with the sale of 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> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProceedsFromSaleOfProductiveAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 property, plant and equipment (capital expenditures), software, and other 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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfProductiveAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 16: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 33: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4J<br><br>Reference 34: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4K<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-2<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-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;">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_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ShortTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 investments including trading securities, available-for-sale securities, held-to-maturity securities, and short-term investments classified as other and 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/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-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;">us-gaap_ShortTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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>20
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496275031664">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Statements of Stockholders' Equity - USD ($)<br></strong></div></th>
<th class="th"><div>Common Stock [Member]</div></th>
<th class="th"><div>Capital in Excess of Par Value [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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Dec. 31, 2021</a></td>
<td class="nump">$ 12,355<span></span>
</td>
<td class="nump">$ 16,983,648<span></span>
</td>
<td class="nump">$ 8,882,360<span></span>
</td>
<td class="num">$ (775,730)<span></span>
</td>
<td class="nump">$ 25,102,633<span></span>
</td>
<td class="nump">$ 2,602,843<span></span>
</td>
<td class="nump">$ 27,705,476<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, shares at Dec. 31, 2021</a></td>
<td class="nump">12,355,246<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent', window );">Translation adjustment</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(30,069)<span></span>
</td>
<td class="num">(30,069)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(30,069)<span></span>
</td>
</tr>
<tr class="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="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">7,021,604<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">7,021,604<span></span>
</td>
<td class="nump">691,625<span></span>
</td>
<td class="nump">7,713,229<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueNewIssues', window );">Common stock issued</a></td>
<td class="nump">$ 71<span></span>
</td>
<td class="nump">140,549<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">140,620<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">140,620<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues', window );">Common stock issued, shares</a></td>
<td class="nump">71,014<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders', window );">Distributions to noncontrolling interests</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(689,434)<span></span>
</td>
<td class="num">(689,434)<span></span>
</td>
</tr>
<tr class="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 );">Stock-based compensation</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">399,148<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">399,148<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">399,148<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="nump">$ 12,426<span></span>
</td>
<td class="nump">17,523,345<span></span>
</td>
<td class="nump">15,903,964<span></span>
</td>
<td class="num">(805,799)<span></span>
</td>
<td class="nump">32,633,936<span></span>
</td>
<td class="nump">2,605,034<span></span>
</td>
<td class="nump">35,238,970<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, shares at Dec. 31, 2022</a></td>
<td class="nump">12,426,260<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent', window );">Translation adjustment</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">10,653<span></span>
</td>
<td class="nump">10,653<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">10,653<span></span>
</td>
</tr>
<tr class="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="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">2,775,864<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">2,775,864<span></span>
</td>
<td class="nump">980,121<span></span>
</td>
<td class="nump">3,755,985<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueNewIssues', window );">Common stock issued</a></td>
<td class="nump">$ 10<span></span>
</td>
<td class="nump">13,590<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">13,600<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">13,600<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues', window );">Common stock issued, shares</a></td>
<td class="nump">9,272<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders', window );">Distributions to noncontrolling interests</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(719,439)<span></span>
</td>
<td class="num">(719,439)<span></span>
</td>
</tr>
<tr class="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 );">Stock-based compensation</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">395,080<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">395,080<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">395,080<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Dividends', window );">Dividends paid</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(626,777)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(626,777)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(626,777)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncontrollingInterestIncreaseFromBusinessCombination', window );">Non-controlling interest of 317 Mendota LLC</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">200,000<span></span>
</td>
<td class="nump">200,000<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, 2023</a></td>
<td class="nump">$ 12,436<span></span>
</td>
<td class="nump">$ 17,932,015<span></span>
</td>
<td class="nump">$ 18,053,051<span></span>
</td>
<td class="num">$ (795,146)<span></span>
</td>
<td class="nump">$ 35,202,356<span></span>
</td>
<td class="nump">$ 3,065,716<span></span>
</td>
<td class="nump">$ 38,268,072<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, shares at Dec. 31, 2023</a></td>
<td class="nump">12,435,532<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></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_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481089/718-20-55-13<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481089/718-20-55-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_Dividends">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 paid and unpaid cash, stock, and paid-in-kind (PIK) dividends declared, for example, but not limited to, 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -SubTopic 405<br> -Topic 942<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481071/942-405-45-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;">us-gaap_Dividends</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 balance from payment of dividends or other distributions by the non-wholly owned subsidiary or partially owned entity, included in the consolidation of the parent entity, to the noncontrolling interest holders.</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> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-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;">us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_NoncontrollingInterestIncreaseFromBusinessCombination">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 noncontrolling interest 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(2)<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncontrollingInterestIncreaseFromBusinessCombination</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-20<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(3)<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 16: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 33: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4J<br><br>Reference 34: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4K<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-2<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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_StockIssuedDuringPeriodSharesNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 stock issued 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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_StockIssuedDuringPeriodSharesNewIssues</td>
</tr>
<tr>
<td style="padding-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_StockIssuedDuringPeriodValueNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering.</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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-4<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_StockIssuedDuringPeriodValueNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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 equity (deficit) attributable to parent and noncontrolling interest. Excludes temporary 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> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483421/250-10-45-24<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483421/250-10-45-23<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483421/250-10-45-5<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479654/326-10-65-5<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (i)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 848<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)(3)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483550/848-10-65-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479343/105-10-65-6<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479343/105-10-65-6<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482615/740-10-65-8<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482615/740-10-65-8<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479654/326-10-65-4<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480336/718-10-65-15<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480336/718-10-65-15<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480336/718-10-65-15<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-5<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481674/830-30-50-1<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-17<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-3<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-3<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 34: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 38: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 39: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 40: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 41: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-15<br><br>Reference 42: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-16<br><br>Reference 43: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4I<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4I<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496366768784">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Pay vs Performance Disclosure - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</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_ecd_PvpTable', window );"><strong>Pay vs Performance Disclosure [Table]</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_NetIncomeLoss', window );">Net Income (Loss) Attributable to Parent</a></td>
<td class="nump">$ 2,775,864<span></span>
</td>
<td class="nump">$ 7,021,604<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_PvpTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 Regulation S-K<br> -Number 229<br> -Section 402<br> -Subsection v<br> -Paragraph 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;">ecd_PvpTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</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_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-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;">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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496273714784">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Insider Trading Arrangements<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_ecd_InsiderTradingArrLineItems', window );"><strong>Insider Trading Arrangements [Line Items]</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_ecd_Rule10b51ArrAdoptedFlag', window );">Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">false<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_ecd_NonRule10b51ArrAdoptedFlag', window );">Non-Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">false<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_ecd_Rule10b51ArrTrmntdFlag', window );">Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<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_ecd_NonRule10b51ArrTrmntdFlag', window );">Non-Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_InsiderTradingArrLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_InsiderTradingArrLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</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_ecd_NonRule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 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;">ecd_NonRule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</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_ecd_NonRule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 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;">ecd_NonRule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</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_ecd_Rule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 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;">ecd_Rule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</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_ecd_Rule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 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;">ecd_Rule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496271516352">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BASIS OF PRESENTATION<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_BusinessDescriptionAndBasisOfPresentationTextBlock', window );">BASIS OF PRESENTATION</a></td>
<td class="text"><p id="xdx_807_eus-gaap--BusinessDescriptionAndBasisOfPresentationTextBlock_z8eX14V1O7b" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>1.
<span id="xdx_82C_zajMyHi4dtsl">BASIS OF PRESENTATION</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">These
consolidated financial statements (&#8220;consolidated financial statements&#8221;) include the accounts of Flexible Solutions International,
Inc. (the &#8220;Company&#8221;), its wholly-owned subsidiaries Flexible Fermentation Ltd., NanoChem Solutions Inc. (&#8220;NanoChem&#8221;),
Flexible Solutions Ltd., Flexible Biomass LP, FS Biomass Inc., NCS Deferred Corp., Natural Chem SEZC Ltd., InnFlex Holdings Inc., ENP
Peru Investments LLC (&#8220;ENP Peru&#8221;), its <span id="xdx_905_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember_zsIFdNhs2Bf7" title="Subsidiary company ownership interest rate">80</span>% controlling interest in 317 Mendota LLC (&#8220;317 Mendota&#8221;), and its <span id="xdx_90E_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCAndENPMendotaMember_zgNdQkKiGJic" title="Subsidiary company ownership interest rate">65</span>%
controlling interest in ENP Investments, LLC (&#8220;ENP Investments&#8221;) and ENP Mendota, LLC (&#8220;ENP Mendota&#8221;). All inter-company
balances and transactions have been eliminated upon consolidation. The Company was incorporated on May 12, 1998 in the State of Nevada
and in 2019, the Company redomiciled into Alberta, Canada.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
2022, NanoChem purchased an additional <span id="xdx_906_ecustom--IncreaseDecreaseInSharePercentage_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--UnrelatedPartyMember_zeGApzB5F9d2" title="Increase decrease in share percentage">50</span>% in ENP Peru, increasing its share to <span id="xdx_905_ecustom--IncreaseDecreaseInSharePercentage_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember_zLJqj8PRgjPl" title="Increase decrease in share percentage">91.67</span>%. ENP Investments owns the remaining <span id="xdx_901_ecustom--RemainingInvestmentOwnedPercentage_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember_zyk4bLodgwXd" title="Remaining investment owned percentage">8.33</span>%, of
which the Company has a <span id="xdx_900_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsAndENPMendotaMember_zOwit3SJJnTk" title="Subsidiary company ownership interest rate">65</span>% interest. In 2023, NanoChem purchased the remaining <span id="xdx_901_ecustom--RemainingInvestmentOwnedPercentage_pid_dp_uPure_c20230101__20231231__srt--OwnershipAxis__custom--ENPPeruMember_zMolEU07p2wf" title="Remaining investment owned percentage">8.33</span>% of shares to become sole owner. ENP Peru was previously
accounted for under the equity method however, it is now consolidated into the financial statements from the date control was obtained.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
2023, the Company purchased an <span id="xdx_905_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember_zQnQSbHyYh82" title="Subsidiary company ownership interest rate">80</span>%
interest in 317 Mendota, a newly incorporated company established to purchase a large manufacturing building. ENP Investments will
occupy part of this building, freeing up more space in the building owned by ENP Peru for NanoChem. The Company intends to rent the
remainder of the space to suitable tenants. The remaining <span id="xdx_908_eus-gaap--MinorityInterestOwnershipPercentageByNoncontrollingOwners_iI_pid_dp_uPure_c20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--UnrelatedPartyMember_zkDtGLdvLqk3" title="Noncontrolling interest percentage">20</span>%
non-controlling interest is held by unrelated parties.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company and its subsidiaries develop, manufacture and market specialty chemicals which slow the evaporation of water. One product, HEATSAVR&#174;,
is marketed for use in swimming pools and spas where its use, by slowing the evaporation of water, allows the water to retain a higher
temperature for a longer period of time and thereby reduces the energy required to maintain the desired temperature of the water in the
pool. Another product, WATERSAVR&#174;, is marketed for water conservation in irrigation canals, aquaculture, and reservoirs where its
use slows water loss due to evaporation. In addition to the water conservation products, the Company also manufactures and markets water-soluble
chemicals utilizing thermal polyaspartate biopolymers (hereinafter referred to as &#8220;TPAs&#8221;), which are beta-proteins manufactured
from the common biological amino acid, L-aspartic. TPAs can be formulated to prevent corrosion and scaling in water piping within the
petroleum, chemical, utility and mining industries. TPAs are also used as proteins to enhance fertilizers in improving crop yields and
can be used as additives for household laundry detergents, consumer care products and pesticides. The TPA division also manufactures
two nitrogen conservation products for agriculture that slows nitrogen loss from fields.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_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_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> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//235/tableOfContent<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 275<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//275/tableOfContent<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//205/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496270781920">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SIGNIFICANT ACCOUNTING POLICIES<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_SignificantAccountingPoliciesTextBlock', window );">SIGNIFICANT ACCOUNTING POLICIES</a></td>
<td class="text"><p id="xdx_804_eus-gaap--SignificantAccountingPoliciesTextBlock_zItbUI9LBWjj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>2.
<span id="xdx_82A_zgYh1WmMwhoh">SIGNIFICANT ACCOUNTING POLICIES</span> </b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">These
consolidated financial statements have been prepared on a historical cost basis, except where otherwise noted, in accordance with accounting
principles generally accepted in the United States applicable to a going concern and reflect the policies outlined below.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_84C_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_zycQmbBUVMu1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a)
<i><span id="xdx_863_z9jFhvww0eJ4">Cash and Cash Equivalents</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company considers all highly liquid investments purchased with an original or remaining maturity of less than three months at the date
of purchase to be cash equivalents. Cash and cash equivalents are maintained with several financial institutions.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_843_ecustom--TermDepositsPolicyTextBlock_zCsd82EkMtZ5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b)
<i><span id="xdx_86E_zDHFhn46ydM2">Term Deposits</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has four term deposits that are maintained by commercials banks. The first term deposit is for $<span id="xdx_908_eus-gaap--Deposits_iI_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zSe2x1fDTjwh">680,000</span> and matures in
January 2024. This deposit pays <span id="xdx_907_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zsHT3saNhqS5">5.0</span>% interest and if withdrawn before maturity, the greater of the loss of accrued interest or $<span id="xdx_906_ecustom--MinimumInterestPenalty_iI_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zjHN09je00Rf" title="Minimum interest penalty">150</span>,
plus 1% of the principal shall be levied. The second term deposit is for $<span id="xdx_90D_eus-gaap--Deposits_iI_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--SecondTermMember_zw8dA1VVi3be">300,000 </span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">and
matures in February 2024. Paying <span id="xdx_90F_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--SecondTermMember_zOZjbxGylA84">1.3</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">%
interest, it can be withdrawn by the Company at any point without prior notice or penalty. The third term deposit is for $<span id="xdx_908_eus-gaap--Deposits_iI_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zAMditO0RDwk">710,241</span>, </span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">matures
in May 2024 and pays interest at a rate of <span id="xdx_909_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zIh8a47XxHFh">3.00</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">%.
If withdrawn before maturity, the greater of the loss of accrued interest or $<span id="xdx_90C_ecustom--MinimumInterestPenalty_iI_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zhqDedZewXek" title="Minimum interest penalty">150</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">,
plus 1% of the principal shall be levied. The fourth term deposit is for $<span id="xdx_908_eus-gaap--Deposits_iI_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_zW7vltd8pIjd">1,000,000 </span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">and
matures in May 2024. This deposit pays <span id="xdx_900_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_z7AKLJuh7FTd">3.85</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">%
and if withdrawn before maturity, the greater of the loss of accrued interest or $<span id="xdx_909_ecustom--MinimumInterestPenalty_iI_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_zY96Usv2Fnk6" title="Minimum interest penalty">150</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">,
plus 1% of the principal shall be levied.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_848_eus-gaap--InventoryPolicyTextBlock_zCLrxwHbBMq4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(c)
<i><span id="xdx_86C_z9DHC5M2MiOg">Inventories and Cost of Sales</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has three major classes of inventory: completed goods, work in progress and raw materials and supplies. In all classes inventories
are stated at the lower of cost and net realizable value. Cost is determined on a first-in, first-out basis or weighted average cost
formula to inventories in different subsidiaries. Cost of sales includes all expenditures incurred in bringing the goods to the point
of sale. Inventory costs and costs of sales include direct costs of the raw material, inbound freight charges, warehousing costs, handling
costs (receiving and purchasing) and utilities and overhead expenses related to the Company&#8217;s manufacturing and processing facilities.
Shipping and handling charges billed to customers are included in revenue (2023 - $<span id="xdx_90A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_znAL8oN2E4nc" title="Sales">522,033</span>; 2022 - $<span id="xdx_90A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zPmy4qxQCylf" title="Sales">433,015</span>). Shipping and handling costs
incurred are included in cost of goods sold (2023 - $<span id="xdx_908_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_z7hmwQD7RIKf" title="Cost of sales">944,811</span>; 2022 - $<span id="xdx_903_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_z0eW0G8k0M7f" title="Cost of sales">913,890</span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_849_eus-gaap--PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy_zqCjsIIwzSF7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(d)
<i><span id="xdx_869_z8CdBlCoUtv6">Allowance for Doubtful Accounts</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company provides an allowance for doubtful accounts when management estimates collectability to be uncertain. Accounts receivable are
continually reviewed to determine which, if any, accounts are doubtful of collection. In making the determination of the appropriate
allowance amount, the Company considers current economic and industry conditions, relationships with each significant customer, overall
customer credit-worthiness and historical experience.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_847_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_zlZM99BklGQ8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(e)
<i><span id="xdx_860_zecH1XuJr7Ge">Property, Equipment, Leaseholds and Intangible Assets</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_898_ecustom--ScheduleOfMethodOfDepreciationTableTextBlock_zVBeFgK8B2Z7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following assets are recorded at cost and depreciated using the methods and annual rates shown below:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BC_zO3YsMi3z765" style="display: none">SCHEDULE OF METHOD OF DEPRECIATION</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; width: 80%; border-collapse: collapse; margin-right: auto">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Computer
    hardware</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90E_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zT4QBkeYUUek" title="Depreciation method used and annual rate">30%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Manufacturing
    equipment</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_908_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zPSeyFrBmyN2" title="Depreciation method used and annual rate">20%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Office
    equipment</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_znJ8hnljVGKk" title="Depreciation method used and annual rate">20%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Boat</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_909_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--BoatMember_zdvHZ2ZdFeU8" title="Depreciation method used and annual rate">20%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Building
    and improvements</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90D_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zuGTqJXw06dj" title="Depreciation method used and annual rate">10%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Trailer</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_907_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TrailerMember_z5c6SDFzPmLa" title="Depreciation method used and annual rate">30%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Automobiles</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_908_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zSE2lmNOLeIl" title="Depreciation method used and annual rate">Straight-line
    over 5 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Patents</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_903_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PatentsMember_zKDlSd0Upm52" title="Depreciation method used and annual rate">Straight-line
    over 17 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Technology</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--TechnologyEquipmentMember_zHfl3DWLmuy" title="Depreciation method used and annual rate">Straight-line
    over 10 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Leasehold
    improvements</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_909_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zHQnps9u9KM9" title="Depreciation method used and annual rate">Straight-line
    over lease term</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Customer
    relationships </span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90F_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--CustomerRelationshipsMember_zYGvPmg3ddp5" title="Depreciation method used and annual rate">Straight-line
    over 15 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Software
    </span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--SoftwareMember_zd7AbxOppGi" title="Depreciation method used and annual rate">Straight-line
    over 3 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  </table>
<p id="xdx_8A4_zwM1WFHdVfRa" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_847_eus-gaap--ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_zAFq2kLTAmqi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(f)
<i><span id="xdx_86F_zxFsW29OLV45">Impairment of Long-Lived Assets</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
accordance with FASB Codification Topic 360, <i>Property, Plant and Equipment</i> (ASC 360), the Company reviews long-lived assets, including,
but not limited to, property, equipment and leaseholds, patents and other assets, for impairment annually or whenever events or changes
in circumstances indicate the carrying amounts of assets may not be recoverable. The carrying value of long-lived assets is assessed
for impairment by evaluating operating performance and future undiscounted cash flows of the underlying assets. If the expected future
cash flows of an asset is less than its carrying value, an impairment measurement is indicated. Impairment charges are recorded to the
extent that an asset&#8217;s carrying value exceeds its fair value. Accordingly, actual results could vary significantly from such estimates.
There were no impairment charges during the periods presented.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_844_eus-gaap--ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_zdi7ZFTuLfa7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(g)
<i><span id="xdx_869_zKWkhnFukui8">Foreign Currency</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
functional currency of the Company is the U.S. dollar. The functional currency of three of the Company&#8217;s subsidiaries is the Canadian
dollar. The translation of the Canadian dollar to the reporting currency of the Company, the U.S. dollar, is performed for assets and
liabilities using exchange rates in effect at the balance sheet date. Revenue and expense transactions are translated using average exchange
rates prevailing during the year. Translation adjustments arising on conversion of the Company&#8217;s financial statements from the
subsidiary&#8217;s functional currency, Canadian dollars, into the reporting currency, U.S. dollars, are excluded from the determination
of income (loss) and are disclosed as other comprehensive income in the consolidated statements of income and comprehensive income.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Foreign
exchange gains and losses relating to transactions not denominated in the applicable local currency are included in operating income
(loss) if realized during the year and in comprehensive income (loss) if they remain unrealized at the end of the year.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_846_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zC1Fmv7ppdVa" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(h)
<i><span id="xdx_865_zZalEwPd8mOa">Revenue Recognition</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company generates revenue primarily from energy and water conservation products and biodegradable polymers, as further discussed in Note
18.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company follows a five-step model for revenue recognition. The five steps are: (1) identification of the contract(s) with the customer,
(2) identification of the performance obligation(s) in the contract(s), (3) determination of the transaction price, (4) allocation of
the transaction price to the performance obligation, and (5) recognition of revenue when (or as) the performance obligation is satisfied.
The Company has fulfilled its performance obligations when control transfers to the customer, which is generally at the time the product
is shipped since risk of loss is transferred to the purchaser upon delivery to the carrier. For shipments which are free-on-board shipping
point, the Company has elected to account for shipping and handling activities as a fulfillment cost rather than as an additional promised
service and performance obligation.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Since
the Company&#8217;s inception, product returns have been insignificant; therefore, no provision has been established for estimated product
returns.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred
revenues consist of products sold to distributors with payment terms greater than the Company&#8217;s customary business terms due to
lack of credit history or operating in a new market in which the Company has no prior experience. The Company defers the recognition
of revenue until the criteria for revenue recognition has been met and payments become due or cash is received from these distributors.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_846_ecustom--StockIssuedInExchangeForServicesPolicyTextBlock_zQ1sqqodYo3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(i)
<i><span id="xdx_866_ziyo4EIkGBdb">Stock Issued in Exchange for Services</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s common stock issued in exchange for services is valued at estimated fair market value based upon trading prices of the
Company&#8217;s common stock on the dates of the stock transactions. The corresponding expense of the services rendered is recognized
over the period that the services are performed.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_84F_eus-gaap--CompensationRelatedCostsPolicyTextBlock_zm3fhx8wLSMj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(j)
<i><span id="xdx_867_zQihUHSxtFka">Stock-based Compensation</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company recognizes compensation expense for all share-based payments in accordance with FASB Codification Topic 718, <i>Compensation
&#8212; Stock Compensation</i> (ASC 718). Under the fair value recognition provisions of ASC 718, the Company recognizes share-based
compensation expense, net of an estimated forfeiture rate, over the requisite service period of the award.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair value at grant date of stock options is estimated using the Black-Scholes option-pricing model. Compensation expense is recognized
on a straight-line basis over the stock option vesting period based on the estimated number of stock options that are expected to vest.
Shares are issued from treasury upon exercise of stock options.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_84E_eus-gaap--ComprehensiveIncomePolicyPolicyTextBlock_zhETH9DCsXRb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(k)
<i><span id="xdx_864_zZiKZIJERqIl">Other Comprehensive Income</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
comprehensive income refers to revenues, expenses, gains and losses that under generally accepted accounting principles are included
in comprehensive income, but are excluded from net income as these amounts are recorded directly as an adjustment to stockholders&#8217;
equity. The Company&#8217;s other comprehensive income is comprised only of unrealized foreign exchange gains and losses related to the
translation of subsidiaries&#8217; functional currency into the reporting currency.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_84F_eus-gaap--EarningsPerSharePolicyTextBlock_z31pOn9hOJoc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(l)
<i><span id="xdx_861_zZcstvs2lSf2">Income Per Share</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Basic
earnings per share is computed by dividing income available to common stockholders by the weighted average number of common shares outstanding
in the period. Diluted earnings per share are calculated giving effect to the potential dilution of the exercise of options and warrants.
Common equivalent shares, composed of incremental common shares issuable upon the exercise of stock options and warrants are included
in diluted net income per share to the extent that these shares are dilutive. Common equivalent shares that have an anti-dilutive effect
on net income (loss) per share have been excluded from the calculation of diluted weighted average shares outstanding for the years ended
December 31, 2023 and 2022.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_844_eus-gaap--UseOfEstimates_zPrJV4zzeON3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(m)
<i><span id="xdx_86D_zMAJ53TEfp74">Use of Estimates</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States requires
management to make estimates and assumptions that affect the reported amounts of 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 and would impact the results of operations and cash flows.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 35.45pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Estimates
and underlying assumptions are reviewed at each period end. Revisions to accounting estimates are recognized in the period in which the
estimates are revised and in any future periods affected.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Significant
areas requiring the use of management estimates include assumptions and estimates relating to the valuation of goodwill and
intangible assets, valuation of assets acquired at fair value, asset impairment analysis, share-based payments, valuation allowances
for deferred income tax assets, determination of useful lives of property, equipment and leaseholds and intangible assets,
recoverability of accounts receivable, recoverability of investments, discount rates for right of use assets and the costing and
recoverable value of inventory.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_84F_eus-gaap--FairValueOfFinancialInstrumentsPolicy_zCKbiw9W3gUe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(n)
<i><span id="xdx_861_z3FaxIoLpJvb">Fair Value of Financial Instruments</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Fair
value is defined as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal
or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date.
Valuation techniques used to measure fair value must maximize the use of observable inputs and minimize the use of unobservable inputs.
The standard describes a fair value hierarchy based on three levels of inputs described below, of which the first two are considered
observable and the last unobservable, that may be used to measure fair value.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
    1 &#8211; Quoted prices in active markets for identical assets or liabilities.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
    2 &#8211; Inputs other than Level 1 that are observable, either directly or indirectly, such as quoted prices for similar assets
    or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable
    market data for substantially the full term of the assets or liabilities.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
    3 &#8212; Unobservable inputs that are supported by little or no market activity which is significant to the fair value of the assets
    or liabilities.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair values of cash, term deposits, accounts receivable, accounts payable, accrued liabilities and the short term line of credit for
all periods presented approximate their respective carrying amounts due to the short term nature of these financial instruments.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair value of the long term debt and lease liabilities for all periods presented approximate their respective carrying amounts due to
these financial instruments being at market rates.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_84B_eus-gaap--CommitmentsAndContingenciesPolicyTextBlock_zO1q5Qas9Ohg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(o)
<i><span id="xdx_86B_z0o73eY1OQPa">Contingencies</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certain
conditions may exist as of the date the consolidated financial statements are issued which may result in a loss to the Company but which
will only be resolved when one or more future events occur or fail to occur. The Company&#8217;s management and its legal counsel assess
such contingent liabilities, and such assessment inherently involves an exercise of judgment. In assessing loss contingencies related
to legal proceedings that are pending against the Company or unasserted claims that may result in such proceedings, the Company&#8217;s
legal counsel evaluates the perceived merits of any legal proceedings or unasserted claims as well as the perceived merits of the amount
of relief sought or expected to be sought therein.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">If
the assessment of a contingency indicates that it is probable that a material loss has been incurred and the amount of the liability
can be estimated, the estimated liability would be accrued in the Company&#8217;s consolidated financial statements. If the assessment
indicates that a potential material loss contingency is not probable, but is reasonably possible, or is probable but cannot be estimated,
then the nature of the contingent liability, together with an estimate of the range of possible loss if determinable and material, would
be disclosed.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Loss
contingencies considered remote are generally not disclosed unless they involve guarantees, in which case the guarantees would be disclosed.
Legal fees associated with loss contingencies are expensed as incurred. The Company is not aware of any contingencies at the date of
these consolidated financial statements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_848_eus-gaap--IncomeTaxPolicyTextBlock_zCfPWNbC3537" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(p)
<i><span id="xdx_868_zRKWgeTB6uqa">Income Taxes</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Income
taxes are computed by multiplying the Company&#8217;s taxable net income by the Company&#8217;s effective tax rates. Deferred income
tax assets and liabilities are recognized for the future tax consequences attributable to differences between the consolidated financial
statement carrying amounts of existing assets and liabilities and their respective tax bases, and operating loss carry-forwards, if any.
Deferred income tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which
those temporary differences are expected to be recovered or settled. The effect on deferred income tax assets and liabilities of a change
in tax rates is recognized in income in the period that includes the enactment date. A valuation allowance is provided to reduce the
carrying amount of deferred income tax assets if it is considered more likely than not that some portion, or all, of the deferred income
tax assets will not be realized.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
accordance with FASB Codification Topic 740, <i>Income taxes</i> (ASC 740) under the liability method, it is the Company&#8217;s policy
to provide for uncertain tax positions and the related interest and penalties based upon management&#8217;s assessment of whether a tax
benefit is more likely than not to be sustained upon examination by tax authorities. At December 31, 2023, the Company believes it has
appropriately accounted for any unrecognized tax benefits. To the extent the Company prevails in matters for which a liability for an
unrecognized benefit is established or is required to pay amounts in excess of the liability, the Company&#8217;s effective tax rate
in a given financial statement period may be affected. Interest and penalties associated with the Company&#8217;s tax positions are recorded
as interest expense in the consolidated statements of income and comprehensive income.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_849_eus-gaap--ConcentrationRiskCreditRisk_zyN75VQ7gh4g" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(q)
<i><span id="xdx_867_zLc9Btx4n2I1">Risk Management</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s credit risk is primarily attributable to its accounts receivable. The amounts presented in the accompanying consolidated
balance sheets are net of allowances for doubtful accounts, estimated by the Company&#8217;s management based on prior experience and
the current economic environment. The Company is exposed to credit-related losses in the event of non-payment by customers. Credit exposure
is minimized by dealing with only credit worthy counterparties.. Revenue for the Company&#8217;s three primary customers totaled $<span id="xdx_908_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zlK2hjD0gND1" title="Sales">20,482,798</span>
(<span id="xdx_903_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zaaB9xAxdoF8" title="Accounts receivable, after allowance for credit loss">53</span>%) for the year ended December 31, 2023 (2022 - $<span id="xdx_90C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zf9GtvZnSwgj" title="Sales">27,775,616</span> or <span id="xdx_903_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_z7vFR6y5thx3" title="Accounts receivable, after allowance for credit loss">61</span>%). Accounts receivable for the Company&#8217;s three primary customers
totaled $<span id="xdx_903_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_z7xqzWiIU5j6" title="Sale">6,561,164</span> (<span id="xdx_90E_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zz5uZIR3fuG2" title="Accounts receivable, after allowance for credit loss, percentage">67</span>%) at December 31, 2023 (2022 - $<span id="xdx_902_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zOqkKntT3LYd" title="Sale">6,124,424</span> or <span id="xdx_90B_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_znlM6IW2Ryxa" title="Accounts receivable, after allowance for credit loss, percentage">65</span>%).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
credit risk on cash is limited because the Company limits its exposure to credit loss by placing its cash with major financial institutions.
The Company maintains cash balances at financial institutions which at times exceed federally insured amounts. The Company has not experienced
any losses in such accounts.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company is exposed to foreign risk to the extent that market value rate fluctuations materially differ for financial assets and liabilities
denominated in foreign currencies.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
order to manage its exposure to foreign exchange risks, the Company is closely monitoring the fluctuations in the foreign currency exchange
rates and the impact on the value of cash, accounts receivable, and accounts payable and accrued liabilities. The Company has not hedged
its exposure to currency fluctuations.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company is exposed to interest rate risk to the extent that the fair value or future cash flows for financial liabilities will
fluctuate as a result of changes in market interest rates. The Company is exposed to interest rate risk on its long-term debt
subject to fixed long-term interest rates.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 24.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
order to manage its exposure to interest rate risk, the Company is closely monitoring fluctuations in market interest risks and will
refinance its long-term debt where possible to obtain more favourable rates.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_845_eus-gaap--EquityMethodInvestmentsPolicy_zF3GEOqdAXw2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(r)
<i><span id="xdx_868_zpkYaWkuSg2f">Equity Method Investment</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company accounts for investments using the equity method of accounting if the investment provides the Company the ability to exercise
significant influence, but not control, over the investee. <span id="xdx_903_eus-gaap--EquityMethodInvestmentDescriptionOfPrincipalActivities_c20230101__20231231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--InvestmentMember_z8BhVWPbtCde" title="Equity method investment, description">Significant influence is generally deemed to exist if the Company&#8217;s
ownership interest in the voting stock of the investee ranges between 20% and 50%, although other factors, such as representation on
the investee&#8217;s board of directors, are considered in determining whether the equity method of accounting is appropriate.</span> Under
the equity method of accounting, the investment is initially recorded at cost in the consolidated balance sheets under other assets and
adjusted for dividends received and the Company&#8217;s share of the investee&#8217;s earnings or losses together with other-than-temporary
impairments which are recorded through other income (loss), net in the consolidated statements of operations and comprehensive income
(loss).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 24.5pt; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_846_eus-gaap--GoodwillAndIntangibleAssetsPolicyTextBlock_zxVd74izAea8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(s)
<i><span id="xdx_864_zheBWOjblqZ5">Goodwill and Intangible Assets</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Goodwill
represents the excess of the purchase price of an acquired entity over the amounts assigned to the assets acquired and liabilities assumed.
Goodwill is not amortized, but is reviewed for impairment annually or more frequently if certain impairment conditions arise. The Company
performs an annual goodwill impairment review in the fourth quarter of each year at the reporting unit level. The evaluation begins with
a qualitative assessment of the factors that could impact the significant inputs used to estimate fair value. If after performing the
qualitative assessment, it is determined that it is more likely than not that the fair value of a reporting unit is greater than its
carrying amount, including goodwill, then no further analysis is necessary. However, if the results of the qualitative test are unclear,
the Company performs a quantitative test, which involves comparing the fair value of a reporting unit with its carrying amount, including
goodwill. The Company uses an income-based valuation method, determining the present value of future cash flows, to estimate the fair
value of a reporting unit. If the fair value of a reporting unit exceeds its carrying amount, goodwill of the reporting unit is considered
not impaired, and no further analysis is necessary. If the fair value of the reporting unit is less than its carrying amount, goodwill
impairment would be recognized equal to the amount of the carrying value in excess of the reporting unit&#8217;s fair value, limited
to the total amount of goodwill allocated to the reporting unit.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Intangible
assets primarily include trademarks and trade secrets with indefinite lives and customer-relationships with finite lives. Intangible
assets with indefinite lives are not amortized but are tested for impairment on an annual basis, or more frequently if indicators of
impairment are present. Indefinite lived intangible assets are assessed using either a qualitative or a quantitative approach. The qualitative
assessment evaluates factors including macro-economic conditions, industry and company-specific factors, legal and regulatory environments,
and historical company performance in assessing fair value. If it is determined that it is more likely than not that the fair value of
the intangible asset is less than its carrying value, a quantitative test is then performed. Otherwise, no further testing is required.
When using a quantitative approach, the Company compares the fair value of the intangible asset to its carrying amount. If the estimated
fair value of the intangible asset is less than the carrying amount of the intangible asset, impairment is indicated, requiring recognition
of an impairment charge for the differential.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
accordance with FASB Codification Topic 350, <i>Intangibles &#8211; Goodwill and Other, </i>(ASC 350), qualitative assessments of goodwill
and indefinite-lived intangible assets were performed in 2023 and 2022. Based on the results of the assessment, it was determined that
it is more likely than not the reporting unit, customer lists and trademarks had a fair value in excess of their carrying amounts. Accordingly,
no further impairment testing was completed and no impairment charges related to goodwill or indefinite-lived intangibles were recognized
during the year ended December 31, 2023.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Finite-lived
intangible assets are amortized on a straight-line basis over their estimated useful lives. The Company reviews for impairment indicators
of finite-lived intangibles and other long-lived assets as described in the &#8220;Impairment of Long Lived Assets&#8221; significant
accounting policy.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_841_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zjgFaftywJb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(t)
<i><span id="xdx_86E_z74U7GcOXlAh">Recent Accounting Pronouncements</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 45.8pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has implemented all applicable new accounting pronouncements that are in effect. Those pronouncements did not have any material
impact on the consolidated financial statements unless otherwise disclosed, and the Company does not believe that there are any other
new accounting pronouncements that have been issued that might have a material impact on its financial position or results of operations.</span></p>
<p id="xdx_8A7_zs0ibXpQSo6d" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_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_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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//235/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>25
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496277385824">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LEASES<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_FSI_DisclosureLeasesAbstract', window );"><strong>Leases</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_LesseeOperatingLeasesTextBlock', window );">LEASES</a></td>
<td class="text"><p id="xdx_80C_eus-gaap--LesseeOperatingLeasesTextBlock_z3jJ5sv6cFng" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>3.
<span id="xdx_824_zQD4Op3JIysd">LEASES</span> </b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Leases are evaluated and classified as either operating or finance leases by the lessee
and as either operating, sales-type or direct financing leases by the lessor. For leases with terms greater than 12 months, the Company
records the related right-of-use (&#8220;ROU&#8221;) asset and lease obligation at the present value of lease payments over the term.
Leases may include fixed rental escalation clauses, renewal options and / or termination options that are factored into the determination
of lease payments when appropriate. The Company&#8217;s operating leases are included in ROU assets, lease liabilities-current portion
and lease liability-long term portion in the accompanying consolidated balance sheets. ROU assets represent the Company&#8217;s right
to use an underlying asset for the lease term, and lease liabilities represent the obligation to make lease payments arising from the
lease. The Company&#8217;s leases do not usually provide a readily determinable implicit rate; therefore, an estimate of the Company&#8217;s
incremental borrowing rate is used to discount the lease payments based on information available at the lease commencement date. The
discount rate used was <span id="xdx_90B_eus-gaap--LesseeOperatingLeaseDiscountRate_iI_pid_dp_uPure_c20231231_ztfORmhnUiL3" title="Operating leases discount rate">5.5</span>%.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_894_ecustom--SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock_zlDgH1niMHmk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
table below summarizes the right-of-use asset and lease liability for the years ended December 31, 2023 and 2022:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B5_z1e7VYU7fgl7" style="display: none">SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; font-weight: bold"><span style="text-decoration: underline">Right of Use Assets</span></td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 80%">Balance at December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_989_eus-gaap--OperatingLeaseRightOfUseAsset_iS_pp0p0_c20220101__20221231_zNsx1BRW0I57" style="width: 16%; text-align: right" title="Right of use assets, beginning balance">217,267</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Depreciation</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_pp0p0_di_c20220101__20221231_z7WLA8WA7E7l" style="border-bottom: Black 1.5pt solid; text-align: right" title="Depreciation">(50,045</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance at December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_984_eus-gaap--OperatingLeaseRightOfUseAsset_iS_pp0p0_c20230101__20231231_zHelnaFwUW93" style="text-align: right" title="Right of use assets, beginning balance">167,222</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Depreciation</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_pp0p0_di_c20230101__20231231_zQa8fE2Ku7sd" style="border-bottom: Black 1.5pt solid; text-align: right" title="Depreciation">(51,929</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Balance at December 31, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_986_eus-gaap--OperatingLeaseRightOfUseAsset_iE_pp0p0_c20230101__20231231_zzt6WcVX8F76" style="border-bottom: Black 1.5pt solid; text-align: right" title="Right of use assets, ending balance">115,293</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-decoration: underline; font-weight: bold; text-align: left">Lease Liability</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance at December 31, 2021</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_983_eus-gaap--OperatingLeaseLiability_iS_pp0p0_c20220101__20221231_zYSwCQcucFLb" style="text-align: right" title="Lease liability, beginning balance">217,267</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Lease interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_ecustom--LeaseInterestExpense_pp0p0_c20220101__20221231_zLy6RJyl8xB4" style="text-align: right" title="Lease interest expense">8,566</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Payments</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--OperatingLeasePayments_iN_pp0p0_di_c20220101__20221231_zVqMTVjOuqnd" style="border-bottom: Black 1.5pt solid; text-align: right" title="Payments">(58,611</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance at December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98B_eus-gaap--OperatingLeaseLiability_iS_pp0p0_c20230101__20231231_zu0sQpN316U" style="text-align: right" title="Lease liability, beginning balance">167,222</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Lease interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_ecustom--LeaseInterestExpense_pp0p0_c20230101__20231231_z93S0vJ2v7Zj" style="text-align: right" title="Lease interest expense">6,151</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Payments</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--OperatingLeasePayments_iN_pp0p0_di_c20230101__20231231_zv7Dm90bR8V3" style="border-bottom: Black 1.5pt solid; text-align: right" title="Payments">(58,080</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Balance at December 31, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_986_eus-gaap--OperatingLeaseLiability_iE_pp0p0_c20230101__20231231_zHPlPGsShB65" style="border-bottom: Black 1.5pt solid; text-align: right" title="Lease liability, ending balance">115,293</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Short-term portion</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98A_eus-gaap--OperatingLeaseLiabilityCurrent_iI_pp0p0_c20231231_zRQtKNsaMov6" style="text-align: right" title="Short-term portion">59,520</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Long-term portion</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--OperatingLeaseLiabilityNoncurrent_iI_pp0p0_c20231231_zdme93HyaJ84" style="border-bottom: Black 1.5pt solid; text-align: right" title="Long-term portion">55,773</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Total</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98A_eus-gaap--OperatingLeaseLiability_iI_pp0p0_c20231231_z8sC2hOboJ07" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total">115,293</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AE_zMqIpQ2YXPe5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_892_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_z2oVxzquEZBj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Undiscounted
rent payments are as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B9_zv1hO7Ulz2bb" style="display: none">SCHEDULE OF UNDISCOUNTED RENT PAYMENTS</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 75%; margin-right: auto">
  <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_498_20231231_zLio0l23jKGi" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_pp0p0_maLOLLPz6zC_zAcfWEiDP473" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: justify">2024</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">59,520</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_pp0p0_maLOLLPz6zC_zPlrlgVdc0u8" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 1.5pt">2025</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">61,020</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPz6zC_zlvazT3P1Loc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Total</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">120,540</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_pp0p0_di_zwOAAYUX3pUl" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 1.5pt">Impact of discounting</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(5,247</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40F_eus-gaap--OperatingLeaseLiability_iI_zqhSKh8a5YC5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 1.5pt">Lease liability, December 31, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">115,293</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A6_zV1YMRHuwpWj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_DisclosureLeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">FSI_DisclosureLeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_LesseeOperatingLeasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of 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/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//842-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeasesTextBlock</td>
</tr>
<tr>
<td style="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>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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496269877968">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ACCOUNTS RECEIVABLE<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_ReceivablesAbstract', window );"><strong>Receivables [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_FinancingReceivablesTextBlock', window );">ACCOUNTS RECEIVABLE</a></td>
<td class="text"><p id="xdx_808_eus-gaap--FinancingReceivablesTextBlock_ztfeTis1iC95" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>4.
<span id="xdx_820_zYdfMNN55X82">ACCOUNTS RECEIVABLE</span> </b></span></p>

<p id="xdx_893_eus-gaap--AccountsReceivableAllowanceForCreditLossTableTextBlock_zeAoTYhZWHs6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BA_zE5q8ZcBERn7" style="display: none">SCHEDULE OF ACCOUNTS RECEIVABLE</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_496_20231231_zm8DqbHSwNtf" style="border-bottom: Black 1.5pt solid; text-align: center">2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20221231_z2OKoYFK4vS7" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--AccountsReceivableGross_iI_pp0p0_maAANRNzPjC_ze81jG1vekNi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Accounts receivable</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">10,133,249</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">9,739,150</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables_iNI_pp0p0_di_msAANRNzPjC_zWuEiPqbMp07" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Allowances for doubtful accounts</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(290,193</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(289,293</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40E_eus-gaap--AccountsAndNotesReceivableNet_iTI_pp0p0_mtAANRNzPjC_z2J93cSIDGqe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Total accounts receivable</span></td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">9,843,056</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">9,449,857</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A7_zTFBGeE6BI3g" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_FinancingReceivablesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-42<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481933/310-10-55-12A<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 44<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-44<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//310-10/tableOfContent<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//310-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancingReceivablesTextBlock</td>
</tr>
<tr>
<td style="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_ReceivablesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ReceivablesAbstract</td>
</tr>
<tr>
<td style="padding-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>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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496274258240">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INVENTORIES<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [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_InventoryDisclosureTextBlock', window );">INVENTORIES</a></td>
<td class="text"><p id="xdx_80A_eus-gaap--InventoryDisclosureTextBlock_zKk8IaFQLoNb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>5.
<span id="xdx_824_zJfcTqboohe2">INVENTORIES</span> </b></span></p>

<p id="xdx_897_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_z9syRiM4Zja5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BF_zfBGRXop59Yg" style="display: none">SCHEDULE OF INVENTORY</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_491_20231231_zziPqIdoKx5c" style="border-bottom: Black 1.5pt solid; text-align: center">2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20221231_z7zDmvqnbiQ4" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--InventoryFinishedGoods_iI_pp0p0_maINzDiN_maINzkLt_z7H9Pt2S84xj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Completed goods</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">2,682,158</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">3,806,646</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--InventoryRawMaterialsAndSupplies_iI_pp0p0_maINzDiN_maINzkLt_z7xQSxrI1nS7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Raw materials and supplies</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">8,452,731</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">10,612,784</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--InventoryNet_iTI_pp0p0_mtINzkLt_zhbuBTa1ahV6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Total inventory</span></td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">11,134,889</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">14,419,430</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A5_zte0HeXCx9vi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_InventoryDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.</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> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//330/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>28
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496273884368">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>PROPERTY, EQUIPMENT AND LEASEHOLDS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [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_PropertyPlantAndEquipmentDisclosureTextBlock', window );">PROPERTY, EQUIPMENT AND LEASEHOLDS</a></td>
<td class="text"><p id="xdx_807_eus-gaap--PropertyPlantAndEquipmentDisclosureTextBlock_zOKTWRL5bCZk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>6.
<span id="xdx_823_zrvniyHDjiY9">PROPERTY, EQUIPMENT AND LEASEHOLDS</span> </b></span></p>

<p id="xdx_892_eus-gaap--PropertyPlantAndEquipmentTextBlock_z9hfDjJ2Smgi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B2_zMp9yJ2oGn3a" style="display: none">SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_484_eus-gaap--PropertyPlantAndEquipmentGross_iI_zJzU5HXXAFA2" style="text-align: center">2023</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_zAEMZ1XPhTWc" style="text-align: center">Accumulated</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zKd45XXpbAPj" style="text-align: center">2023</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Cost</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Depreciation</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Net</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_418_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zW9JorMp6n4f" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: left">Buildings and improvements</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">12,341,605</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">3,896,887</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">8,444,718</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_41A_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zokN7X2dvUW1" style="vertical-align: bottom; background-color: White">
    <td>Automobiles</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">196,255</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">140,040</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">56,215</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41D_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zGl4vhunxxv7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Computer hardware</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">43,493</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">43,123</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">370</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zUOhTK1XZmi1" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Office equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">134,130</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">121,925</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">12,205</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_410_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zApVGlQWcTJc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Manufacturing equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,008,395</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,791,615</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,216,780</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41A_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TrailerMember_zVq6firyuwJ1" style="vertical-align: bottom; background-color: White">
    <td>Trailers</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">9,071</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,164</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">907</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zh6X0yeHvRl8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Land</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">440,592</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0855">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">440,592</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41D_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zBnZ4mM9nZSe" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Leasehold improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">88,872</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">88,872</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0859">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_zl6ntHHjz9R2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Technology</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">103,292</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">103,292</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0862">&#8212;</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20231231_ziuf5yY1TtO4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cost">23,365,705</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98E_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20231231_zyKfrsQoATFb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Accumulated Depreciation">10,193,918</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_985_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20231231_zVTCIt4B15Q8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Property, plant and equipment, net, total">13,171,787</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_48C_eus-gaap--PropertyPlantAndEquipmentGross_iI_zv6fW8nK1csb" style="text-align: center">2022</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_zItwjS92R3J1" style="text-align: center">Accumulated</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zs2glnczE7Ba" style="text-align: center">2022</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Cost</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Depreciation</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Net</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_41A_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_znWKl18C3q65" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: left">Buildings and improvements</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">8,775,629</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">3,310,920</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">5,464,709</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_414_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zD7O8jqZso03" style="vertical-align: bottom; background-color: White">
    <td>Automobiles</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">196,255</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">107,055</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">89,200</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_419_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zKDbEiJLwtI1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Computer hardware</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">43,432</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">42,663</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">769</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41D_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_z1HjNyl9Pgke" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Office equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">133,280</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">112,782</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">20,498</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_410_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zLo1jvYOVoy2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Manufacturing equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,634,063</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,891,736</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,742,327</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_419_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TrailerMember_zv4d8beYz2J7" style="vertical-align: bottom; background-color: White">
    <td>Trailers</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,857</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,592</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,265</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41F_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--BoatMember_z3hozINCuUe2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Boat</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">34,400</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">27,907</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">6,493</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_418_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_ze2KjGHdZkkc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Leasehold improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">88,872</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">88,872</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0892">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_410_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_z39rOWKujXp" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Technology</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">100,860</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">100,860</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0895">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_415_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zRXZzvODK82g" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Land</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">384,027</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0897">&#8212;</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">384,027</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_986_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20221231_zx6MLdIip9m" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cost">18,399,675</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98A_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20221231_zAQpNE9NbSRi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Accumulated Depreciation">8,690,387</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98A_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20221231_zyKr8nRQnx83" style="border-bottom: Black 1.5pt solid; text-align: right" title="Property, plant and equipment, net, total">9,709,288</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A0_zL6DtbkKZ4tl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Amount
of depreciation expense for 2023 was: $<span id="xdx_901_eus-gaap--Depreciation_c20230101__20231231_zr8C7eWEwryi" title="Depreciation">1,526,319</span> (2022 - $<span id="xdx_900_eus-gaap--Depreciation_c20220101__20221231_zB2v1qHtfTc1" title="Depreciation">1,103,732</span>) and is included in cost of sales in the consolidated statements
of income and comprehensive income.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in">In 2023, the Company sold
the boat and $<span id="xdx_907_eus-gaap--GainLossOnDispositionOfAssets1_c20230101__20231231_zcjnKvvsIFbl" title="Sale of assets">4,589</span>
was recognized as a gain on sales of asset in the consolidated statements of income and comprehensive income.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-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_PropertyPlantAndEquipmentDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//360/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-6<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>29
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496274684704">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>PATENTS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [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_IntangibleAssetsDisclosureTextBlock', window );">PATENTS</a></td>
<td class="text"><p id="xdx_80D_eus-gaap--IntangibleAssetsDisclosureTextBlock_z03fN40P529a" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>7.
<span id="xdx_82B_zm1NUvxe6TC7">PATENTS</span> </b></span></p>

<p id="xdx_895_eus-gaap--ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_z97yVHfaMxH6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B5_zlmIy0GERJT7" style="display: none">SCHEDULE OF PATENTS</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font: small-caps 10pt Times New Roman, Times, Serif">2023</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cost</span></p></td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Accumulated <br/> Amortization</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font: small-caps 10pt Times New Roman, Times, Serif">2023</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net</span></p></td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; padding-bottom: 1.5pt">Patents</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td id="xdx_982_eus-gaap--FiniteLivedPatentsGross_iI_pp0p0_c20231231_z3Hsxnrmdzcb" style="border-bottom: Black 1.5pt solid; width: 14%; text-align: right" title="Patents, cost">200,444</td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td id="xdx_986_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20231231_z73dTGamhpLl" style="border-bottom: Black 1.5pt solid; width: 14%; text-align: right" title="Patents, Accumulated amortization">200,444</td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="width: 2%; font-variant: small-caps; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; font-variant: small-caps; text-align: left">$</td><td id="xdx_986_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pp0p0_c20231231_zp3Y3mOZcjQi" style="border-bottom: Black 1.5pt solid; width: 14%; font-variant: small-caps; text-align: right" title="Patents, net"><span style="-sec-ix-hidden: xdx2ixbrl0920">-</span></td><td style="width: 1%; padding-bottom: 1.5pt; font-variant: small-caps; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font: small-caps 10pt Times New Roman, Times, Serif">2022</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cost</span></p></td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Accumulated <br/> Amortization</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font: small-caps 10pt Times New Roman, Times, Serif">2022</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net</span></p></td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; padding-bottom: 1.5pt">Patents</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td id="xdx_984_eus-gaap--FiniteLivedPatentsGross_iI_pp0p0_c20221231_zdStCAgF5ZWk" style="border-bottom: Black 1.5pt solid; width: 14%; text-align: right" title="Patents, cost">195,725</td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td id="xdx_980_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20221231_zUvjX4mHvnd" style="border-bottom: Black 1.5pt solid; width: 14%; text-align: right" title="Patents, Accumulated amortization">195,725</td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="width: 2%; font-variant: small-caps; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; font-variant: small-caps; text-align: left">$</td><td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pp0p0_c20221231_zEck1WeAQxc4" style="border-bottom: Black 1.5pt solid; width: 14%; font-variant: small-caps; text-align: right" title="Patents, net"><span style="-sec-ix-hidden: xdx2ixbrl0926">-</span></td><td style="width: 1%; padding-bottom: 1.5pt; font-variant: small-caps; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AB_z7z5WNYZmxT4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
amount of amortization for 2023 was $<span id="xdx_90E_eus-gaap--AmortizationOfIntangibleAssets_dxL_c20230101__20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--PatentsMember_zQwjLgosY4S5" title="Amount of amortization::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl0928">nil</span></span> (2022 - $<span id="xdx_90B_eus-gaap--AmortizationOfIntangibleAssets_pp0p0_c20220101__20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--PatentsMember_zzj0P0EqMI04" title="Amount of amortization">13,699</span>) and was included in cost of sales in the consolidated statements of income
and comprehensive income. The movement in cost relates solely to foreign exchange differences.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_IntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 or part of the information related to intangible 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> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//350-30/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>30
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496275156400">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>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, 2023</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_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [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_GoodwillAndIntangibleAssetsDisclosureTextBlock', window );">GOODWILL AND INTANGIBLE ASSETS</a></td>
<td class="text"><p id="xdx_80E_eus-gaap--GoodwillAndIntangibleAssetsDisclosureTextBlock_zIitowghTzT5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>8.
<span style="font-variant: small-caps"><span id="xdx_82F_zECJhVWlqX1i">GOODWILL AND INTANGIBLE ASSETS</span></span></b></span></p>

<p id="xdx_890_eus-gaap--ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock_zBJBlXNhDt67" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B0_zaInGLLHi3pe" style="display: none">SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Goodwill</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 80%; padding-bottom: 1.5pt">Balance as of December 31, 2022 and 2023</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; width: 16%; text-align: right"><span id="xdx_90B_eus-gaap--Goodwill_iI_c20221231_zHLp47ZW8RJ7" title="Goodwill"><span id="xdx_90F_eus-gaap--Goodwill_iI_c20231231_zDT39hCgiSd4" title="Goodwill">2,534,275</span></span></td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Indefinite Lived Intangible Assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Balance as of December 31, 2022 and 2023</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span id="xdx_90E_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20221231_zbfl1nJF5Ysl" title="Indefinite lived intangible assets"><span id="xdx_90D_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20231231_z9QiWu1rTzAj" title="Indefinite lived intangible assets">770,000</span></span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Goodwill
relates to the acquisition of ENP Investments. Indefinite lived intangible assets consist of trade secrets and trademarks related to
the acquisition of ENP Investments.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Definite Life Intangible Assets</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 80%">Balance as of December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_986_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iS_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_z1PjpiKMEQ95" style="width: 16%; text-align: right" title="Indefinite lived intangible assets, beginning balance">1,830,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Amortization</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--AmortizationOfIntangibleAssets_iN_pp0p0_di_c20220101__20221231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zffcM9BxdVil" style="border-bottom: Black 1.5pt solid; text-align: right" title="Amortization">(160,000</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance as of December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iS_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zbemGuW7ZXi7" style="text-align: right" title="Indefinite lived intangible assets, beginning balance">1,670,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Amortization</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--AmortizationOfIntangibleAssets_iN_pp0p0_di_c20230101__20231231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zc0Y0olCcFY2" style="border-bottom: Black 1.5pt solid; text-align: right" title="Amortization">(160,000</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Balances as of December 31, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_989_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iE_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zGn1Ec8E8Hqd" style="border-bottom: Black 1.5pt solid; text-align: right" title="Indefinite lived intangible assets, ending balance">1,510,000</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AB_zXVNB2rQQas1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
amount of amortization for 2023 was $<span id="xdx_901_eus-gaap--AmortizationOfIntangibleAssets_pp0p0_c20230101__20231231_zWUc9sWlk0dj" title="Amortization">160,000</span> (2022 - $<span id="xdx_909_eus-gaap--AmortizationOfIntangibleAssets_pp0p0_c20220101__20221231_zT30e4uG8oB8" title="Amortization">160,000</span>) and was included in cost of sales in the consolidated statements of income
and comprehensive income.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Definite
lived intangible assets consist of customer relationships and software related to the acquisition of ENP Investments.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_891_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_zRuk9xFAUxZe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Estimated
amortization expense over the next five years is as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B3_zy5T7bkoZ7vb" style="display: none">SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: justify">2024</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98A_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_c20231231__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zdujQEwvyUej" style="width: 16%; text-align: right" title="2024">160,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">2025</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_c20231231__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zGdec5kEhNqh" style="text-align: right" title="2025">160,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">2026</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_pp0p0_c20231231__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_z9HzMCmCqSah" style="text-align: right" title="2026">160,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">2027</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_iI_pp0p0_c20231231__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zEEGR8DvvxH2" style="text-align: right" title="2027">160,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 1.5pt">2028</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_iI_pp0p0_c20231231__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zrmAVu8INPji" style="border-bottom: Black 1.5pt solid; text-align: right" title="2028">160,000</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A2_zwQ6oKsTQ7C8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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> -Topic 350<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//350/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>31
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496382034496">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LONG TERM DEPOSITS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_FSI_DisclosureLongTermDepositsAbstract', window );"><strong>Long Term Deposits</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_FSI_LongTermDepositsTextBlock', window );">LONG TERM DEPOSITS</a></td>
<td class="text"><p id="xdx_80F_ecustom--LongTermDepositsTextBlock_zOTsj27Yx8I9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>9.
<span style="font-variant: small-caps"><span id="xdx_820_z02uDeW8X0Sl">LONG TERM DEPOSITS</span> </span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_895_ecustom--ScheduleOfLongTermDepositsTableTextBlock_zZo1XJh12nhh" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has security deposits that are long term in nature which consist of damage deposits held by landlords and deposits held by various
vendors for equipment purchases.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B3_zuP9hB5ggUWe" style="display: none">SCHEDULE OF LONG TERM DEPOSITS</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49F_20231231_zX2JxTGtiUF5" style="border-bottom: Black 1.5pt solid; text-align: center">2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_490_20221231_zHOuGk95LWok" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 60%">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--DepositsAssetsNoncurrent_iI_pp0p0" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Long term deposits</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">824,254</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">8,540</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A1_zLR40ulZSbbk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_DisclosureLongTermDepositsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">FSI_DisclosureLongTermDepositsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_LongTermDepositsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Long term deposits [Text Block]</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;">FSI_LongTermDepositsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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>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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496274710000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INVESTMENTS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_EquityMethodInvestmentsAndJointVenturesAbstract', window );"><strong>Equity Method Investments and Joint Ventures [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_EquityMethodInvestmentsDisclosureTextBlock', window );">INVESTMENTS</a></td>
<td class="text"><p id="xdx_807_eus-gaap--EquityMethodInvestmentsDisclosureTextBlock_z2ntXaCXsn45" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>10.
<span id="xdx_824_zz02mCoSK1Y7">INVESTMENTS</span> </b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">a<span style="font-variant: small-caps">)</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-variant: small-caps">
&#160;&#160;&#160;&#160;&#160;&#160;&#160;T</span>he Company previously held a <span id="xdx_903_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20161231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--EnpPeruInvestmentsLlcMember_zNllTU0TR0A3">50</span>%
ownership interest in ENP Peru, split between NanoChem (<span id="xdx_909_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20161231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--NanoChemMember_z7VEucFjriua">41.67</span>%)
and ENP Investments (<span id="xdx_904_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20161231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--ENPInvestmentsLLCMember_zgRL8LH3bE26">8.33</span>%),
which was acquired in fiscal 2016. ENP Peru is located in Illinois and leases warehouse space to other entities in the Company. In
June 2022, NanoChem acquired an additional <span id="xdx_903_ecustom--AdditionalEquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20220630__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--NanoChemMember_zZxbyE0E05kh" title="Additional equity method investment ownership percentage">50</span>%
ownership interest at a cost of $<span id="xdx_90D_eus-gaap--BusinessCombinationConsiderationTransferred1_c20220601__20220630__srt--OwnershipAxis__custom--ENPPeruMember_zCHv2mPUnuWg" title="Purchase consideration">506,659</span>
paid through a new $<span id="xdx_906_eus-gaap--Cash_iI_c20220630__srt--OwnershipAxis__custom--ENPPeruMember_z3zr7iT5yaIf">259,000</span>
mortgage and cash on hand. The <span id="xdx_907_eus-gaap--MinorityInterestOwnershipPercentageByNoncontrollingOwners_iI_pid_dp_uPure_c20231231__srt--OwnershipAxis__custom--EnpnvestmentsLlcMember_zJconxsAMhhh" title="Non-controlling interest percentage">35</span>%
non-controlling interest of the <span id="xdx_902_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20231231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--ENPInvestmentsLLCMember_zmLwtWTs0wha">8.33</span>%
owned by ENP Investments is included in non-controlling interest in these consolidated financial statements. The Company&#8217;s
investment in ENP Peru was previously accounted for using the equity method, however, it is now consolidated into the consolidated
financial statements from the date control was obtained. In June 2023, NanoChem purchased the remaining <span id="xdx_901_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20230630__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--ENPInvestmentsLLCMember_zJZ2qhCt9Hkc">8.33</span>%
of ENP Peru from ENP Investments to become full owner.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">It
was determined that ENP Peru did not meet the definition of a business in accordance with FASB Codification Topic 805, <i>Business Combinations
</i>(ASC 805)<i>, </i>and the acquisition was accounted for as an asset acquisition. The following table summarizes the final purchase
price allocation of the consideration paid to the respective fair values of the assets acquired and liabilities assumed in ENP Peru as
of the acquisition date. The gain on acquisition of ENP Peru represents a gain on remeasurement of the Company&#8217;s equity method
investment immediately prior to the acquisition date.</span></p>

<p id="xdx_890_eus-gaap--ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_hdei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zQ91xC8p30vg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B3_zu46PcJcgPbd" style="display: none">SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_49D_20220101__20221231_z5jQSYaOJCOd" style="border-bottom: Black 1.5pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--BusinessCombinationConsiderationTransferred1_zct7Ab2Jst9e" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left; padding-bottom: 1.5pt">Purchase consideration</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; width: 16%; text-align: right">506,659</td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Assets acquired:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_iE_z9sw3ADdW2G5" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Cash</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,330</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings_iE_zHSXfFm9u15c" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Building</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,750,000</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand_iE_zh6wPIdzjROf" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Land</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">150,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Liabilities assumed:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_iNE_di_zjAuijmegUFj" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Deferred tax liability</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(174,582</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_404_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt_iE_zmy85SIoX2qf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Long term debt</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(2,849,500</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_404_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_iE_zJpvwzZgxoMk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Total identifiable net assets:</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">883,248</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice_iE_zd7bCJ63OPB3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Excess of assets acquired over consideration</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">376,589</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_ecustom--InvestmentEliminatedUponConsolidation_zdsYV2TJLlQh" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Less investment eliminated upon consolidation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(41,538</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40D_ecustom--GainOnAcquisitionOfSubsidiary_zr7VRlvKN7X4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Gain on acquisition of ENP Peru</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">335,051</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A3_z80FMAEIGNr9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_89B_eus-gaap--EquityMethodInvestmentsTextBlock_hdei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zkPG1T5i21M3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.7in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">A
summary of the Company&#8217;s investment follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BD_zZ2KvCnWiJYi" style="display: none">SCHEDULE OF EQUITY METHOD INVESTMENT</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Balance, December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_982_eus-gaap--EquityMethodInvestments_iS_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zZbWdvc6Bezj" style="width: 16%; text-align: right" title="Balance, Beginning">3,822</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Return of equity</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_ecustom--EquityMethodInvestmentReturnOfEquity_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zPK6urRBgBC" style="text-align: right" title="Return of equity">(3,822</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Gain in equity method investment</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zpgAdZQdeEje" style="border-bottom: Black 1.5pt solid; text-align: right" title="Gain in equity method investment">22,642</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance, December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--EquityMethodInvestments_iS_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zKj8bZzQc3T" style="text-align: right" title="Balance, Beginning">22,642</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Return of equity</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_ecustom--EquityMethodInvestmentReturnOfEquity_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zecLsgfoL613" style="text-align: right" title="Return of equity">(8,750</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gain in equity method investment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zkOxS6yt59X8" style="text-align: right" title="Gain in equity method investment">27,646</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Investment eliminated upon consolidation</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_ecustom--InvestmentEliminatedUponConsolidation_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zt5wl7uviFrg" style="border-bottom: Black 1.5pt solid; text-align: right" title="Investment eliminated upon consolidation">(41,538</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Balance, June 30 and December 31, 2023</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98A_eus-gaap--EquityMethodInvestments_iE_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zjDfMNT6ZcZd" style="border-bottom: Black 2.5pt double; text-align: right" title="Balance, Ending"><span style="-sec-ix-hidden: xdx2ixbrl1029">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A9_zaBzgDmdJxH5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">b<span style="font-variant: small-caps">)
&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
December 2018, the Company invested $<span id="xdx_906_eus-gaap--Investments_iI_c20181231__dei--LegalEntityAxis__custom--AppliedHoldingCorpMember_zazwEMGCcMmb" title="Investment">200,000</span>
in Applied Holding Corp. (&#8220;Applied&#8221;). Applied is a captive insurance company and the Company received a non-convertible
promissory note for its investment which becomes due in 2021 but may be extended with notice for a maximum of two years. During the
year ended December 31, 2021, the Company entered an agreement with Applied to extend the maturity date of this promissory note to <span id="xdx_908_ecustom--DebtInstrumentMaturityMonthYear_c20210101__20211231_zkEe8Qalnen7" title="Debt maturity">December
2023</span>. In October 2023, the Company received the payment of $<span id="xdx_906_eus-gaap--Investments_iI_c20231031_z4uXSqWnBbv3" title="Investment">200,000</span>
to settle the promissory note and the balance of this investment at December 31, 2023 is $<span id="xdx_90B_eus-gaap--Investments_iI_dxL_c20231231_z2fYFTByQmbj" title="Investment::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1037">nil</span></span>
(2022 - $<span id="xdx_90C_eus-gaap--Investments_iI_c20221231_zAuxqlCzAe4" title="Investment">200,000</span>). In accordance with
FASB Codification Topic 321, <i>Investments &#8211; Equity Securities (</i>ASC 321), the Company has elected to account for this
investment at cost.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif">(</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>c<span style="font-variant: small-caps">) &#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></b>In
December 2018, the Company invested $<span id="xdx_903_eus-gaap--Investments_iI_c20181231__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_z5ydTPyvJ6tg" title="Investment">500,000</span> in Trio Opportunity Corp. (&#8220;Trio&#8221;), a privately held entity and a further
$<span id="xdx_908_eus-gaap--Investments_iI_c20230430__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zlEhH3S2tjsk" title="Investment">470,000</span> was invested in April 2023. Trio is a real estate investment vehicle and the Company received <span id="xdx_90B_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_pid_c20181201__20181231__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassBMember__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zl08qgxFWup1" title="Common stock issued, shares">97,000</span> non-voting Class B
shares at $<span id="xdx_903_eus-gaap--SharePrice_iI_pid_c20181231__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassBMember__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zF3izoBzbHK5" title="Share price">10.00</span>/share. In accordance with ASC 321, the Company has elected to account for this investment at cost.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(d) </b>&#160;&#160;&#160;&#160;&#160;&#160;&#160;In
January 2019, the Company invested in a Florida based LLC that is engaged in international sales of fertilizer additives. The
Company accounts for this investment using the equity method of accounting. According to the operating agreement, the Company has a
<span id="xdx_906_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20190131__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_zKwvVzEnTePc" title="Ownership percentage">50</span>% interest in the profit and loss of the Florida based LLC but does not have control. <span style="background-color: white">A
summary of the Company&#8217;s investment follows:</span></span></p>

<p id="xdx_89F_eus-gaap--EquityMethodInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zBcRfXBObzA1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B3_zuFIOZ3V9HFj" style="display: none">SCHEDULE OF EQUITY METHOD INVESTMENT</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Balance, December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_983_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_z0rkB9ryz1Ci" style="width: 16%; text-align: right" title="Balance, Beginning">3,701,368</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gain in equity method investment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zoUnlbcdSon3" style="text-align: right" title="Gain in equity method investment">307,527</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Return of equity</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98C_ecustom--EquityMethodInvestmentReturnOfEquity_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zEzx14YKmsNj" style="border-bottom: Black 1.5pt solid; text-align: right" title="Return of equity">(250,000</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance, December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zgvC9CbHPM26" style="text-align: right" title="Balance, Beginning">3,758,895</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Gain in equity method investment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zwzVumZG65M8" style="text-align: right" title="Gain in equity method investment">505,065</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Return of equity</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_983_ecustom--EquityMethodInvestmentReturnOfEquity_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zXUUKkesFRsa" style="border-bottom: Black 1.5pt solid; text-align: right" title="Return of equity">(200,000</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Balance, December 31, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98D_eus-gaap--EquityMethodInvestments_iE_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zMPvER71W7c1" style="border-bottom: Black 1.5pt solid; text-align: right" title="Balance, Ending">4,063,960</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AA_zwNeS2uXiw8c" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_890_eus-gaap--GainLossOnInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_z5OUi1zeuiRi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Summarized
profit and loss information related to the equity accounted investment is as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B6_z14Gjkb1grn1" style="display: none">SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_496_20230101__20231231_zTcwSnJg1Rx4" style="border-bottom: Black 1.5pt solid; text-align: center">2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_492_20220101__20221231_zE64trHLfcn1" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--GainsLossesOnSalesOfInvestmentRealEstate_zeEtqZUK0Yc8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Net sales</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">16,043,468</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">18,103,070</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--RealizedInvestmentGainsLosses_z19s7MbFSff" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gross profit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,668,177</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,204,311</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_ecustom--RealizedInvestmentGainsLossesNet_zZvTEYI0Dfch" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net income</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1,010,128</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">615,055</td><td style="text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AF_zrqVx9J75ot5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2023, the Company had sales of $<span id="xdx_902_eus-gaap--Revenues_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zVCrdnrkw3ub" title="Sales">10,260,870</span> (2022 - $<span id="xdx_90F_eus-gaap--Revenues_c20220101__20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zUBk6CYBe9h4" title="Sales">12,938,735</span>) to the Florida Based LLC, of which $<span id="xdx_905_eus-gaap--AccountsReceivableNet_iI_c20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_z52bfSKEdEKi" title="Accounts receivable related parties">2,073,813</span>
is included within Accounts Receivable as at December 31, 2023 (2022 - $<span id="xdx_90C_eus-gaap--AccountsReceivableNet_iI_c20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zYbIevbBZ8G2" title="Accounts receivable related parties">2,423,285</span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(e)
</b>&#160;&#160;&#160;&#160;&#160;&#160;&#160;In December 2020, the Company invested $<span id="xdx_906_eus-gaap--PaymentsToAcquireInvestments_pp0p0_c20201201__20201231__dei--LegalEntityAxis__custom--LygosIncMember_zXyJXf4MSPId">500,000</span> in Lygos Inc. (&#8220;Lygos&#8221;), a privately held entity, under a Simple Agreement
for Future Equity (&#8220;SAFE&#8221;) agreement. Lygos is a company developing a sustainable aspartic acid microbe strain. In 2021,
the Company made a second SAFE investment of $<span id="xdx_903_eus-gaap--PaymentsToAcquireInvestments_c20210101__20211231__dei--LegalEntityAxis__custom--LygosIncMember_zQ7HID9TwMB9">500,000</span> for a total of $<span id="xdx_90D_eus-gaap--Investments_iI_c20211231__dei--LegalEntityAxis__custom--LygosIncMember_z1scGC1hXPDc" title="Investment">1,000,000</span>. In accordance with ASC 321, the Company has elected
to account for this investment at cost.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>&#160;</b></span></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_EquityMethodInvestmentsAndJointVenturesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EquityMethodInvestmentsAndJointVenturesAbstract</td>
</tr>
<tr>
<td style="padding-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_EquityMethodInvestmentsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 equity method investments and joint ventures. Equity method investments are investments that give the investor the ability to exercise significant influence over the operating and financial policies of an investee. Joint ventures are entities owned and operated by a small group of businesses as a separate and specific business or project for the mutual benefit of the members of the group.</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> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Topic 323<br> -SubTopic 740<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481543/323-740-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 323<br> -Publisher FASB<br> -URI https://asc.fasb.org//323/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentsDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496363372976">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SHORT-TERM LINE OF CREDIT<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [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_ShortTermDebtTextBlock', window );">SHORT-TERM LINE OF CREDIT</a></td>
<td class="text"><p id="xdx_802_eus-gaap--ShortTermDebtTextBlock_zSo0MsELKtc6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>11.
<span id="xdx_829_zlkg1FqGATf2">SHORT-TERM LINE OF CREDIT</span> </b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">a<span style="font-variant: small-caps">)

&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In June 2023, ENP Investments renewed the
line of credit with Stock Yards Bank and Trust (&#8220;Stock Yards&#8221;), increasing the limit by $<span id="xdx_90C_eus-gaap--LineOfCreditFacilityCurrentBorrowingCapacity_iI_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_z7Ng2epOC2ma">500,000
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">from the previous line of credit. The revolving
line of credit is for an aggregate amount of up to the lesser of (i) $<span id="xdx_903_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zmfqoecKvDE1">4,500,000</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">,
or (ii) 50-80% of eligible domestic accounts receivable plus <span id="xdx_90A_ecustom--PercentageOfForeignAccountsReceivableOfInventory_pid_dp_uPure_c20230601__20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zuut8OqzYUqb">50</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">%
of inventory, capped at $<span id="xdx_907_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zPtl19xRHBKa">2,000,000</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">.
Interest on the unpaid principal balance of this loan will be calculated using the greater of prime or 8.25%. The interest rate at December
31, 2023 is <span id="xdx_906_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zqPcgmI3IUwe">8.5</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">%
(December 31, 2022 - <span id="xdx_90D_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20221231__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zfa3hJvHC3D5">7.5</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">%).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
revolving line of credit contains customary affirmative and negative covenants, including the following: compliance with laws, provisions
of financial statements and periodic reports, payment of taxes, maintenance of inventory and insurance, maintenance of operating accounts
at Stock Yards, Stock Yard&#8217;s access to collateral, formation or acquisition of subsidiaries, incurrence of indebtedness, dispositions
of assets, granting liens, changes in business, ownership or business locations, engaging in mergers and acquisitions, making investments
or distributions and affiliate transactions. NanoChem is a guarantor of <span id="xdx_90C_ecustom--LoanGuaranteedRate_iI_pid_dp_uPure_c20231231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zymHxipnQTK7" title="Loan guaranteed rate">65</span>% of all the principal and other loan costs not to exceed $<span id="xdx_90F_eus-gaap--LinesOfCreditCurrent_iI_pp0p0_c20231231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zZRcO2OAX9vg" title="Line of credit">2,925,000</span>.
The non-controlling interest is the guarantor of the remaining <span id="xdx_902_ecustom--LoanGuaranteedRate_iI_pid_dp_uPure_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--NoncontrollingInterestMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zoQcSter2GW8" title="Loan guaranteed rate">35</span>% of all the principal and other loan costs not to exceed $<span id="xdx_901_eus-gaap--LinesOfCreditCurrent_iI_pp0p0_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--NoncontrollingInterestMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_z3kNv1LvetUj" title="Line of credit">1,575,000</span>.
As of December 31, 2023, ENP Investments was in compliance with all loan covenants.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">To
secure the repayment of any amounts borrowed under the revolving line of credit, the Company granted Stock Yards a security interest
in substantially all of the assets of ENP Investments, exclusive of intellectual property assets.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Short-term
borrowings outstanding under the revolving line as of December 31, 2023 were $<span id="xdx_90E_eus-gaap--ShortTermBorrowings_iI_pp0p0_c20231231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zx1c5ZPQwdp1" title="Short term borrowings">1,810,479</span> (2022 - $<span id="xdx_904_eus-gaap--ShortTermBorrowings_iI_pp0p0_c20221231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zFCYTYRGIu8d" title="Short term borrowings">2,477,794</span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(b)
&#160;&#160;&#160;&#160;&#160;&#160;&#160;</b>In June 2023, the Company renewed the line of credit with Stock Yards Bank and Trust
(&#8220;Stock Yards&#8221;). The revolving line of credit is for an aggregate amount of up to the lesser of (i) $<span id="xdx_901_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zOO9UflinIGh" title="Aggregate amount of revolving line of credit">4,000,000</span>,
or (ii) <span id="xdx_906_ecustom--EligiblePercentageOfDomesticAccountsReceivable_pid_dp_uPure_c20230601__20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zyZxYbonQ3Pb" title="Eligible percentage of domestic accounts receivable">80</span>%
of eligible domestic accounts receivable and certain foreign accounts receivable plus <span id="xdx_90D_ecustom--PercentageOfForeignAccountsReceivableOfInventory_pid_dp_uPure_c20230601__20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zPsXezmjuKnh" title="Percentage of foreign accounts receivable of inventory">50</span>%
of inventory, capped at $<span id="xdx_908_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zVzA7FtlNx25" title="Debt face amount">2,000,000</span>.
Interest on the unpaid principal balance of this loan will be calculated using the greater of prime or 8.25%. The prime interest
rate at December 31, 2023 was <span id="xdx_90E_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_uPure_c20231231__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_z0kbS6DoFjw6" title="Interest rate">8.5</span>%
(2022 - <span id="xdx_905_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_uPure_c20221231__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_ziw1qQO6tMr1" title="Interest rate">7.5</span>%).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
revolving line of credit contains customary affirmative and negative covenants, including the following: compliance with laws, provision
of financial statements and periodic reports, payment of taxes, maintenance of inventory and insurance, maintenance of operating accounts
at Stock Yards, Stock Yards access to collateral, formation or acquisition of subsidiaries, incurrence of indebtedness, dispositions
of assets, granting liens, changes in business, ownership or business locations, engaging in mergers and acquisitions, making investments
or distributions and affiliate transactions. The covenants also require that the Company maintain a minimum ratio of qualifying financial
assets to the sum of qualifying financial obligations. As of December 31, 2023, the Company was in compliance with all loan covenants.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">To
secure repayment of any amounts borrowed under the revolving line of credit, the Company granted Stock Yards a security interest in substantially
all of the assets of NanoChem, exclusive of intellectual property assets.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Short-term
borrowings outstanding under the revolving line as of December 31, 2023 were $<span id="xdx_90C_eus-gaap--ShortTermBorrowings_iI_dxL_c20231231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_zV0FFf0l5Uy5" title="Short term borrowings::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1122">nil</span></span> (2022 - $<span id="xdx_906_eus-gaap--ShortTermBorrowings_iI_c20221231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_z1rKGnrhhi3b" title="Short term borrowings">340,797</span>). This amount was repaid in full during
the year ended December 31, 2023.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_ShortTermDebtTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 short-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> -Topic 470<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//470/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermDebtTextBlock</td>
</tr>
<tr>
<td style="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>34
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496273753792">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LONG TERM DEBT<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [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_LongTermDebtTextBlock', window );">LONG TERM DEBT</a></td>
<td class="text"><p id="xdx_80E_eus-gaap--LongTermDebtTextBlock_zpkZqKsEsz6e" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>12.
<span id="xdx_826_zIOHcCuqpRsa">LONG TERM DEBT</span> </b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">a<span style="font-variant: small-caps">)
&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
October 2020, NanoChem signed a loan for $<span id="xdx_905_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20201031__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zuIAX67fVyVc" title="Debt instrument face amount">1,980,947</span>
with Midland States Bank (&#8220;Midland&#8221;) with a rate of <span id="xdx_901_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20201031__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zRRRgOgUN6gh" title="Debt instrument interest rate stated percentage">3.85</span>%
to be repaid over <span id="xdx_903_eus-gaap--DebtInstrumentTerm_dtY_c20201001__20201031__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zkJYEWNY685c" title="Debt instrument term">5</span>
years with equal monthly payments including interest. The money was used to retire the debt at BMO Harris Bank
(&#8220;Harris&#8221;) related to the loan to purchase a <span id="xdx_90B_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20201031__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zJbTQnsQRqDb" title="Debt instrument interest rate stated percentage">65</span>%
interest in ENP Investments. In June 2022, the loan was paid in full with funds from Stock Yards. Interest expense for the year
ended December 31, 2023 was $<span id="xdx_90E_eus-gaap--InterestExpenseDebt_pp0p0_dxL_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_z2AACcB1GCs8" title="Debt Long term debt amount::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1136">nil</span></span>
(2022 - $<span id="xdx_90A_eus-gaap--InterestExpenseDebt_pp0p0_c20220101__20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_z3hWnjwiNCv7" title="Debt Long term debt amount">30,334</span>).
The balance owing at December 31, 2023 was $<span id="xdx_90E_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_dxL_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_z5qMAdr3I7hk" title="Debt Long term debt amount::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1140">nil</span></span>
(2022 - $<span id="xdx_908_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_dxL_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_z7G6hKNhyjX7" title="Debt Long term debt amount::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1142">nil</span></span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">b<span style="font-variant: small-caps">)
&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In October 2020, NanoChem signed a loan for
$<span id="xdx_901_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20201031__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zlcRoBV2Bib1" title="Debt instrument face amount">894,253</span> with Midland with an interest rate <span id="xdx_902_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20201031__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zG1CrvusWfhk" title="Debt instrument interest rate stated percentage">3.85</span>% to be repaid over two years with equal monthly payments including interest. The funds
were used to replace the loan at Harris for the purchase of new manufacturing equipment. In June 2022, the loan was paid in full with
funds from Stock Yards. Interest expense for the year ended December 31, 2023 was $<span id="xdx_90E_eus-gaap--InterestExpenseDebt_pp0p0_dxL_c20230101__20231231__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zKz809FwRni1" title="Interest expense debt::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1148">nil</span></span> (2022 - $<span id="xdx_90F_eus-gaap--InterestExpenseDebt_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zEuvRiLWMehi" title="Interest expense debt">5,816</span>). The balance owing at December
31, 2023 was $<span id="xdx_906_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_dxL_c20231231__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zlUmVa3j5ABj" title="Debt Long term debt amount::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1152">nil</span></span> (2022 - $<span id="xdx_904_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_dxL_c20221231__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zSsBYQVJtZvi" title="Debt Long term debt amount::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1154">nil</span></span>)</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(c) &#160;&#160;&#160;&#160;&#160;&#160;&#160;</b>In
January 2020, ENP Mendota refinanced its mortgage and signed a loan for $<span id="xdx_90D_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zfop8Hzlb2i4">450,000</span> with Stock Yards to be repaid over <span id="xdx_903_eus-gaap--DebtInstrumentTerm_dtY_c20200101__20200131__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember__dei--LegalEntityAxis__custom--EnpRealtyLLCMember_zXOp6lTPuGN2">10</span> years with
monthly installments plus interest. Interest for the first five years is at <span id="xdx_90F_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20200131__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember__dei--LegalEntityAxis__custom--EnpRealtyLLCMember_z2T4gBkw6hh8">4.35</span>% and it will be adjusted for the last five years to
the Cincinnati Federal Home Bank Loan <span id="xdx_90B_eus-gaap--DebtInstrumentTerm_dtY_c20200101__20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zjj0mr2Lmb5g">5</span> year fixed index plus <span id="xdx_907_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zSxg2OaZ8Yi8">4.5</span>%. Interest expense for the year ended December 31, 2023 was
$<span id="xdx_901_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zsJetBZcn0Kc" title="Interest expense debt">17,911</span> (2022 - $<span id="xdx_901_eus-gaap--InterestExpenseDebt_pp0p0_c20220101__20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zEIfi450iCI9" title="Interest expense debt">17,107</span>). The balance owing at December 31, 2023 was $<span id="xdx_908_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zUsZOJJEp4ue">399,269</span> (2022 - $<span id="xdx_902_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zQfSR0SvS1Gd">415,430</span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-indent: 0.4in; text-align: justify">To secure repayment of any amounts borrowed under the mortgage, the Company granted Stock Yards a security interest
in real property under the mortgage and all rents on said property.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(d) &#160;&#160;&#160;&#160;&#160;&#160;&#160;</b>In
June 2022, NanoChem signed a loan for $<span id="xdx_904_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemMember_z57KP2wWDYx1" title="Debt instrument face amount">1,935,000</span> with Stock Yards with an interest rate of <span id="xdx_90E_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemMember_zVjLWiZjNdbb" title="Debt instrument interest rate stated percentage">4.90</span>% to be repaid over <span id="xdx_901_eus-gaap--DebtInstrumentTerm_c20220601__20220630__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember__dei--LegalEntityAxis__custom--EnpRealtyLLCMember_zfq25Id6jrt9">three years</span> with
equal monthly payments including interest. The funds were used to replace the loans at Midland for the purchase of the <span id="xdx_905_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zOMJuPWBVIXb" title="Debt instrument interest rate stated percentage">65</span>% interest
in ENP Investments and the new manufacturing equipment. Interest expense for the year ended December 31, 2023 was $<span id="xdx_904_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--NanoChemMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_z1NDbECSDUP5">66,957</span> (2022 -
$<span id="xdx_90C_eus-gaap--InterestExpenseDebt_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--NanoChemMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zNR4JyasvsNf">45,113</span>). The balance owing at December 31, 2023 was $<span id="xdx_90E_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemMember_zVZTBxcSlzDa" title="Debt Long term debt amount">1,004,747</span> (2022 - $<span id="xdx_90E_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemMember_zDokoq75x19c" title="Debt Long term debt amount">1,632,672</span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(e) &#160;&#160;&#160;&#160;&#160;&#160;&#160;</b>In
January 2020 ENP Peru signed a $<span id="xdx_909_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zMvbklU6Ffp3" title="Debt instrument face amount">3,000,000</span> loan with an interest rate <span id="xdx_90A_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zkw5uk5ni0mj" title="Debt instrument interest rate stated percentage">4.35</span>% to be repaid over <span id="xdx_90A_eus-gaap--DebtInstrumentTerm_c20200101__20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_z6HGPCEsMzZh">ten years</span> with equal monthly payments
including interest. Upon the purchase of the remainder of ENP Peru in June 2022, the Company assumed the first mortgage at Stock
Yards with a balance of $<span id="xdx_901_eus-gaap--LoansPayable_iI_pp0p0_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zyijMwPL6M3i" title="First mortgage">2,849,500</span>. Interest expense for the year ended December 31, 2023 was $<span id="xdx_90E_eus-gaap--InterestExpense_pp0p0_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zSR8Vl2A0hM2" title="Interest expense">122,544</span> (2022 - $<span id="xdx_90C_eus-gaap--InterestExpense_pp0p0_c20220101__20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zIuPnqUFR7A6" title="Interest expense">62,679</span>). The balance
owing at December 31, 2023 was $<span id="xdx_901_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_z7q4chNirXD7" title="Debt instrument face amount">2,737,232</span> (2022 - $<span id="xdx_902_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zs0hHWpVdcsj" title="Debt instrument face amount">2,813,015</span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(f)
</b>&#160;&#160;&#160;&#160;&#160;&#160;&#160;In June 2022, ENP Peru obtained a second mortgage for $<span id="xdx_90C_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zI9v8l3bdqZ9" title="Debt instrument face amount">259,000</span> with Stock Yards to be repaid over <span id="xdx_904_eus-gaap--DebtInstrumentTerm_dtY_c20220601__20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zw3Aa3OgHz47" title="Debt instrument term">10</span> years with monthly installments
plus interest with an interest rate of <span id="xdx_902_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zVaZp2qWd6Ua" title="Debt instrument interest rate stated percentage">5.4</span>%. Interest expense for the year ended December 31, 2023 was $<span id="xdx_901_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zg53WcNjjSof" title="Interest expense debt">13,877</span> (2022 - $<span id="xdx_900_eus-gaap--InterestExpenseDebt_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_z81P2vQtyeBa" title="Interest expense debt">7,077</span>). The balance
owing at December 31, 2023 was $<span id="xdx_903_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20231231__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zZA7eOmZJ5Rl" title="Debt instrument face amount">250,207</span> (2022 - $<span id="xdx_90F_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20221231__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zDhPmg7M0yU6" title="Debt instrument face amount">256,162</span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(g)
&#160;&#160;&#160;&#160;&#160;&#160;&#160;</b>In December 2022, NanoChem signed a three year loan for up to $<span id="xdx_90B_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zgVWvrTWlpci" title="Debt instrument face amount">2,000,000</span> with Stock Yards with an interest rate of <span id="xdx_907_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zizBbr3RCrb2" title="Debt instrument interest rate stated percentage">6.5</span>%. Interest
only payments are required for the first 18 months with interest and principal being paid in the last 18 months. The funds are being
used to purchase new manufacturing equipment. Interest expense for the year ended December 31, 2023 was $<span id="xdx_905_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_z1HSVN55ml2j" title="Interest expense debt">67,397</span> (2022 - $<span id="xdx_904_eus-gaap--InterestExpenseDebt_pp0p0_c20220101__20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_z0dwonNor6T8" title="Interest expense debt">23,632</span>). The
balance owing at December 31, 2023 was $<span id="xdx_901_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zFM0F3ZKu73h" title="Debt Long term debt amount">1,475,188</span> (2022 - $<span id="xdx_90B_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zTN9GEZNhhO" title="Debt Long term debt amount">1,036,798</span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(h)
&#160;&#160;&#160;&#160;&#160;&#160;&#160;</b>In June 2023, 317 Mendota signed a five year loan for up to $<span id="xdx_907_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20230630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaMember_ze4NVuTQFZs7" title="Debt instrument face amount">3,240,000</span> with Stock Yards  to purchase a building and any necessary
renovations. Interest only payments are required for the first 12 months with interest and principal being paid the remaining four years
and a lump sum due in June 2028. Interest expense for the year ended December 31, 2023 was $<span id="xdx_902_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--MendotaMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_zC9HhpfdSiPd" title="Interest expense debt">95,396</span> (2022 - $<span id="xdx_90B_eus-gaap--InterestExpenseDebt_pp0p0_dxL_c20220101__20221231__dei--LegalEntityAxis__custom--MendotaMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_zefmNHtk8t98" title="Interest expense debt::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1225">nil</span></span>). The balance owing at
December 31, 2023 was $<span id="xdx_905_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaMember_zvKDkafWWRF4" title="Debt Long term debt amount">2,248,292</span> (2022 - $<span id="xdx_90C_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_dxL_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaMember_zl3bNvhrfff2" title="Debt Long term debt amount::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1229">nil</span></span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_892_ecustom--ScheduleOfLoanCovenantsTableTextBlock_zfZQ7xY4opDl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of December 31, 2023, Company was in compliance with all loan covenants.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BF_zB4uSIOEzVg2" style="display: none">SCHEDULE OF LOAN COVENANTS</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold">Continuity</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20230101__20231231_zX6yVXGFCuj3" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49F_20220101__20221231_zjqrh6xCIYTh" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LongTermDebt_iS_zXBYVT30kMJ5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%">Balance, January 1</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">6,154,077</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">2,366,598</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--LongTermDebt_iS_zBIFxtuQZyM2" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance, beginning of period</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">6,154,077</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">2,366,598</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_405_eus-gaap--ProceedsFromBankDebt_zExiK14WyNp7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Plus: Proceeds from loans</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,686,682</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,230,798</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_ecustom--ProceedsFromLoanAcquiredFromAcquisition_zHljed4q7b2k" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Plus: Loan acquired with acquisition of ENP Peru</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1242">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,849,500</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--PaymentsForProceedsFromDepositOnLoan_iN_di_z85eZZbKXVk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Less: Payments on loan</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(725,823</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(2,292,819</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_409_eus-gaap--LongTermDebt_iE_zBGFwgnGD793" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Balance, end of period</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">8,114,936</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">6,154,077</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AA_z0V4D09a8ovi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_898_eus-gaap--ScheduleOfDebtInstrumentsTextBlock_zGbBGM2KvUDe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BC_zwHTpx6lN5tk" style="display: none">SCHEDULE OF OUTSTANDING BALANCE LOAN</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold">Outstanding balance at December 31,</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_495_20231231_ze55pAaqRpB8" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_492_20221231_zD63pKpGTaNh" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember_zEtBhErZlUm3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">a) Long term debt &#8211; Midland States Bank</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1253">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1254">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankOneMember_zgJyMYLV1o43" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">b) Long term debt &#8211; Midland States Bank</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1256">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1257">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember_zZttK3oWHrGi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">c) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">399,269</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">415,430</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustOneMember_zH6ILvH1RCaa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">d) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,004,748</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,632,672</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustTwoMember_zpZnwixB5s36" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">e) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,737,232</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,813,015</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustThreeMember_zIbpKlO4q9xb" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">f) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">250,207</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">256,162</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustFourMember_zZnRRK7TXyk8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">g) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,475,188</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,036,798</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustFiveMember_zHApQNI3pYxg" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">h) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">2,248,292</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1275">&#8212;</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--LongTermDebt_iI_z9jjOTJ1nsj1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Long-term debt</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,114,936</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">6,154,077</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--LongTermDebtCurrent_iNI_di_ztrEdoNI1gq" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Less: current portion</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(1,281,632</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(717,612</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40B_eus-gaap--LongTermDebtNoncurrent_iI_z86H0L5EXiY6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Long-term debt non current</span></td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">6,833,304</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">5,436,465</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A1_zV2Jq9z5ja2l" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>&#160;</b></span></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_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_LongTermDebtTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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> -Topic 470<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//470/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtTextBlock</td>
</tr>
<tr>
<td style="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>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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496363338400">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [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_IncomeTaxDisclosureTextBlock', window );">INCOME TAXES</a></td>
<td class="text"><p id="xdx_800_eus-gaap--IncomeTaxDisclosureTextBlock_zNH5VvOW1MDk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>13.
<span id="xdx_82B_zYLKzv00fsjb">INCOME TAXES</span> </b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_895_eus-gaap--ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_znp2yuY0c5w9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
provision for income tax expense (benefit) is comprised of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B4_zcJ3MF1W82dl" style="display: none">SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT)</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_498_20230101__20231231_z0vwBGxN8orj" style="border-bottom: Black 1.5pt solid; text-align: center">2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20220101__20221231_zVn45fy6voPe" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--CurrentFederalTaxExpenseBenefit_maCITEBzvlG_zwcXaZXSE04l" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Current tax, federal</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">753,683</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">1,017,059</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--CurrentStateAndLocalTaxExpenseBenefit_maCITEBzvlG_z2bLX1rTSCNh" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Current tax, state</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">340,952</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">460,098</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--CurrentForeignTaxExpenseBenefit_maCITEBzvlG_ziOkgrSdUhG5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Current tax, foreign</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">151,236</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">216,082</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_ecustom--CurrentTax_iT_pp0p0_mtCITEBzvlG_maCITEBzPIr_zs0SlM9leVdj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Current tax</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,245,871</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,693,239</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_ecustom--IncomeTaxRecovery_iN_pp0p0_di_msCITEBzPIr_zXS7tpvFRl26" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Income tax recovery</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(1,127,689</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(1,476,088</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_404_eus-gaap--CurrentIncomeTaxExpenseBenefit_iT_mtCITEBzPIr_maITEBz5Oq_z7O8oqZeofw9" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Current tax, total</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">118,182</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">217,151</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--DeferredFederalIncomeTaxExpenseBenefit_maDITEBzP63_zi4o3dgIdpFa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Deferred income tax, federal</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(172,763</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(49,088</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--DeferredStateAndLocalIncomeTaxExpenseBenefit_maDITEBzP63_zLOmSjE0BWE1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Deferred income tax, state</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(78,154</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(22,207</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--DeferredForeignIncomeTaxExpenseBenefit_maDITEBzP63_zj0t4MfXLkK" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Deferred income tax, foreign</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1314">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1315">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--DeferredIncomeTaxExpenseBenefit_iT_pp0p0_mtDITEBzP63_maITEBz5Oq_z3sjKsO8DmDa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Deferred income tax, total</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(250,917</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(71,295</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--IncomeTaxExpenseBenefit_iT_pp0p0_mtITEBz5Oq_zusEQq4RKT01" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Total</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(132,735</td><td style="padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">145,856</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AE_zNYZ0JSGNT4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; color: red"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_897_eus-gaap--ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_zX0242aJu7S7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table reconciles the income tax expense at the U.S. Federal statutory rate to income tax expense at the Company&#8217;s effective
tax rates.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; color: red"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B4_zdAA34rfyLK" style="display: none">SCHEDULE OF RECONCILIATION OF INCOME TAXES</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="color: red">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20230101__20231231_zVaamDwkn4ik" style="border-bottom: Black 1.5pt solid; text-align: center">2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_499_20220101__20221231_zqT8qlAhRhSg" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_zSVvkqA84LK4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; color: black; text-align: left">Income before tax</td><td style="width: 2%; color: black">&#160;</td>
    <td style="width: 1%; color: black; text-align: left">$</td><td style="width: 16%; color: black; text-align: right">3,623,250</td><td style="width: 1%; color: black; text-align: left">&#160;</td><td style="width: 2%; color: black">&#160;</td>
    <td style="width: 1%; color: black; text-align: left">$</td><td style="width: 16%; color: black; text-align: right">7,859,085</td><td style="width: 1%; color: black; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_pid_dp_uPure_zFV2ORC57Qxd" style="vertical-align: bottom; background-color: White">
    <td style="color: black; text-align: left; padding-bottom: 1.5pt">US statutory tax rates</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; color: black; text-align: right">30.50</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">%</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; color: black; text-align: right">30.50</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">%</td></tr>
  <tr id="xdx_40E_ecustom--ExpectedIncomeTaxRecovery_zaXM1BMsKeZd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="color: black; text-align: left">Expected income tax</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">1,105,091</td><td style="color: black; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">2,397,021</td><td style="color: black; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--IncomeTaxReconciliationNondeductibleExpense_i_pp0p0" style="vertical-align: bottom; background-color: White">
    <td style="color: black; text-align: left">Non-deductible items</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">362,554</td><td style="color: black; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">(243,167</td><td style="color: black; text-align: left">)</td></tr>
  <tr id="xdx_40F_eus-gaap--IncomeTaxReconciliationOtherAdjustments_i_pp0p0" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="color: black; text-align: left">Change in estimates and other</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">(1,585,427</td><td style="color: black; text-align: left">)</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">(2,004,041</td><td style="color: black; text-align: left">)</td></tr>
  <tr id="xdx_401_eus-gaap--IncomeTaxReconciliationForeignIncomeTaxRateDifferential_i_pp0p0" style="vertical-align: bottom; background-color: White">
    <td style="color: black; text-align: left">Foreign tax rate difference</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">(92,379</td><td style="color: black; text-align: left">)</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">(226,611</td><td style="color: black; text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_i_pp0p0" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="color: black; text-align: left; padding-bottom: 1.5pt">Change in valuation allowance</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; color: black; text-align: right">77,426</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">&#160;</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; color: black; text-align: right">(222,654</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">)</td></tr>
  <tr id="xdx_403_eus-gaap--IncomeTaxExpenseBenefit_i_pp0p0" style="vertical-align: bottom; background-color: White">
    <td style="color: black; text-align: left; padding-bottom: 1.5pt">Total income taxes</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; color: black; text-align: right">(132,735</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">)</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; color: black; text-align: right">145,856</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="color: red">&#160;</td><td style="color: red">&#160;</td>
    <td style="color: red; text-align: left">&#160;</td><td style="color: red; text-align: right">&#160;</td><td style="color: red; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">&#160;</td><td style="color: black; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--CurrentIncomeTaxExpenseBenefit_zgkA0EFkCoqk" style="vertical-align: bottom; background-color: White">
    <td style="color: black; text-align: left">Current income tax expense</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">118,182</td><td style="color: black; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">217,151</td><td style="color: black; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--DeferredIncomeTaxExpenseBenefit_zRyMB2ui9Jt5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="color: black; text-align: left; padding-bottom: 1.5pt">Deferred tax recovery</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; color: black; text-align: right">(250,917</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">)</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; color: black; text-align: right">(71,295</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">)</td></tr>
  <tr id="xdx_40D_eus-gaap--IncomeTaxExpenseBenefit_zcy3LjuqRCNb" style="vertical-align: bottom; background-color: White">
    <td style="color: black; text-align: left; padding-bottom: 1.5pt">Total income tax expense (recovery)</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; color: black; text-align: right">(132,735</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">)</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; color: black; text-align: right">145,856</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A7_z9wbyZhobgAa" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Included
in current income tax expense for the year ended December 31, 2023 is a recovery of $<span id="xdx_903_ecustom--IncomeTaxRecovery_c20230101__20231231_zVjcnYh06Tcj" title="Current income tax expense">1,127,689</span> (2022 - $<span id="xdx_906_ecustom--IncomeTaxRecovery_c20220101__20221231_zaSQUBSCwYFe" title="Current income tax expense">1,476,088</span>) for a revision of
estimated current taxes payable for previous years.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; color: red"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; color: red"></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; color: red"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_895_eus-gaap--ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_zuRx1qHwucRa" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred
taxes reflect the tax effects of temporary differences between the carrying amounts of assets and liabilities for financial reporting
purposes. Deferred tax assets (liabilities) at December 31, 2023 and 2022 are comprised of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B3_zODjV05YqsU6" style="display: none">SCHEDULE OF DEFERRED TAX ASSETS (LIABILITIES)</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="color: black">Canada</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">&#160;</td><td style="color: black; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">&#160;</td><td style="color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 60%; color: black; text-align: left">Non capital loss carryforwards</td><td style="width: 2%; color: black">&#160;</td>
    <td style="width: 1%; color: black; text-align: left">$</td><td id="xdx_98B_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_iI_pp0p0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zXRGeL9UGiO3" style="width: 16%; color: black; text-align: right" title="Non capital loss carryforwards">855,176</td><td style="width: 1%; color: black; text-align: left">&#160;</td><td style="width: 2%; color: black">&#160;</td>
    <td style="width: 1%; color: black; text-align: left">$</td><td id="xdx_98F_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_iI_pp0p0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zLHWtCk27G95" style="width: 16%; color: black; text-align: right" title="Non capital loss carryforwards">891,954</td><td style="width: 1%; color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; color: black; text-align: left">Intangible assets</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--DeferredTaxAssetsGoodwillAndIntangibleAssets_iI_pp0p0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_za8pVqvYUWXa" style="color: black; text-align: right" title="Intangible assets"><span style="-sec-ix-hidden: xdx2ixbrl1368">-</span></td><td style="color: black; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--DeferredTaxAssetsGoodwillAndIntangibleAssets_iI_pp0p0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zV0uFYptlw4j" style="color: black; text-align: right" title="Intangible assets"><span style="-sec-ix-hidden: xdx2ixbrl1370">-</span></td><td style="color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; color: black; text-align: left; padding-bottom: 1.5pt">Property, equipment and leaseholds</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td id="xdx_98D_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipment_iI_pp0p0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zdGNjqDKz5X1" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Property, equipment and leaseholds">30,916</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">&#160;</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td id="xdx_98C_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipment_iI_pp0p0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zDu7tLZuNJhk" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Property, equipment and leaseholds">47,279</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="color: black">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--DeferredTaxAssetsGross_iI_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zf17Jnh3wPcl" style="color: black; text-align: right" title="Deferred tax assets gross">886,092</td><td style="color: black; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--DeferredTaxAssetsGross_iI_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zc3kF18Pgkc5" style="color: black; text-align: right" title="Deferred tax assets gross">939,233</td><td style="color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; color: black; text-align: left; padding-bottom: 1.5pt">Valuation allowance</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--DeferredTaxAssetsValuationAllowance_iNI_pp0p0_di_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zRzDS3LjDmIf" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Valuation Allowance">(886,092</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">)</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--DeferredTaxAssetsValuationAllowance_iNI_pp0p0_di_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zG4vHB20Ze9i" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Valuation Allowance">(939,233</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; color: black; text-align: left; padding-bottom: 1.5pt">Net deferred tax asset</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">$</td><td id="xdx_98D_eus-gaap--DeferredTaxAssetsNet_iI_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_z7PbWzPSzogh" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Net deferred tax asset"><span style="-sec-ix-hidden: xdx2ixbrl1384">-</span></td><td style="padding-bottom: 1.5pt; color: black; text-align: left">&#160;</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">$</td><td id="xdx_989_eus-gaap--DeferredTaxAssetsNet_iI_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zovlEcYdq5z2" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Net deferred tax asset"><span style="-sec-ix-hidden: xdx2ixbrl1386">-</span></td><td style="padding-bottom: 1.5pt; color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="color: black">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">&#160;</td><td style="color: black; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">&#160;</td><td style="color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="color: black">US</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">&#160;</td><td style="color: black; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">&#160;</td><td style="color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="color: black; padding-bottom: 1.5pt">&#160;</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; color: black; text-align: right">2023</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">&#160;</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; color: black; text-align: right">2022</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; color: black; text-align: left">Net operating loss carryforwards</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">$</td><td id="xdx_98B_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_iI_pdp0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zuA6HUy4Vb12" style="color: black; text-align: right" title="Net operating loss carryforwards"><span style="-sec-ix-hidden: xdx2ixbrl1388">-</span></td><td style="color: black; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">$</td><td id="xdx_984_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_iI_pdp0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zVr3cPcNwvg1" style="color: black; text-align: right" title="Net operating loss carryforwards"><span style="-sec-ix-hidden: xdx2ixbrl1390">-</span></td><td style="color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; color: black; text-align: left">Intangible assets</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--DeferredTaxAssetsGoodwillAndIntangibleAssets_iI_pdp0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zV5lJBysEuz3" style="color: black; text-align: right" title="Intangible assets">(11,346</td><td style="color: black; text-align: left">)</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--DeferredTaxAssetsGoodwillAndIntangibleAssets_iI_pdp0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zmbpG8GkacWk" style="color: black; text-align: right" title="Intangible assets">(6,070</td><td style="color: black; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; color: black">Investments</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--DeferredTaxAssetsInvestments_iNI_pp0p0_di_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zNIWHhTsXF7i" style="color: black; text-align: right" title="Investments"><span style="-sec-ix-hidden: xdx2ixbrl1396">-</span></td><td style="color: black; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--DeferredTaxAssetsInvestments_iNI_pp0p0_di_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zRwfs6y0HLwa" style="color: black; text-align: right" title="Investments">(7,676</td><td style="color: black; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; color: black; text-align: left">Property, equipment and leaseholds</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_98F_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipmentOne_iNI_pp0p0_di_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zE7sPkrTeKx" style="color: black; text-align: right" title="Property, equipment and leaseholds">(248,701</td><td style="color: black; text-align: left">)</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_988_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipmentOne_iNI_pp0p0_di_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zd83pEvMGMla" style="color: black; text-align: right" title="Property, equipment and leaseholds">(486,713</td><td style="color: black; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; color: black; text-align: left">Property, equipment and leaseholds</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_986_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipment_iI_pp0p0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zI5Xx0JzKdId" style="color: black; text-align: right" title="Property, equipment and leaseholds">284,794</td><td style="color: black; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_981_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipment_iI_pp0p0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zS4ucoxqPHVj" style="color: black; text-align: right" title="Property, equipment and leaseholds">274,289</td><td style="color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; color: black; text-align: left">Financial instruments</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--DeferredTaxAssetsDerivativeInstruments_iI_pp0p0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zjVnoDATpoxd" style="color: black; text-align: right" title="Financial instruments"><span style="-sec-ix-hidden: xdx2ixbrl1408">-</span></td><td style="color: black; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--DeferredTaxAssetsDerivativeInstruments_iI_pp0p0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zxnPPf0BzkEd" style="color: black; text-align: right" title="Financial instruments"><span style="-sec-ix-hidden: xdx2ixbrl1410">-</span></td><td style="color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; color: black; text-align: left; padding-bottom: 1.5pt">Deferred tax asset not recognized</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td id="xdx_98B_ecustom--DeferredTaxAssetNotRecognized_iI_pp0p0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zNQKy6UUk0J5" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Deferred tax asset not recognized"><span style="-sec-ix-hidden: xdx2ixbrl1412">-</span></td><td style="padding-bottom: 1.5pt; color: black; text-align: left">&#160;</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td id="xdx_980_ecustom--DeferredTaxAssetNotRecognized_iI_pp0p0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zhayezuX0C63" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Deferred tax asset not recognized"><span style="-sec-ix-hidden: xdx2ixbrl1414">-</span></td><td style="padding-bottom: 1.5pt; color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; color: black; text-align: left; padding-bottom: 1.5pt">Net deferred tax asset (liability)</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">$</td><td id="xdx_98C_eus-gaap--DeferredTaxAssetsNet_iI_pp0p0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zDfFqCEfyGz5" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Net deferred tax asset">24,747</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">&#160;</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">$</td><td id="xdx_987_eus-gaap--DeferredTaxLiabilities_iNI_pp0p0_di_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zXiaKJ85Tsgd" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Net deferred tax liability">(226,170</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">)</td></tr>
  </table>

<p id="xdx_8A8_zdH0733xorbg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has non-capital loss carryforwards of approximately $<span id="xdx_902_eus-gaap--OperatingLossCarryforwards_iI_pp0p0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zS8xHk7utUQ9" title="Operating loss carryforwards">3,718,155</span> (2022 - $<span id="xdx_90D_eus-gaap--OperatingLossCarryforwards_iI_pp0p0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zXpKGMjJzRk2" title="Operating loss carryforwards">3,878,060</span>) which may be carried forward to apply against
future year income tax for Canadian income tax purposes, subject to the final determination by taxation authorities, expiring in the
following years:</span></p>

<p id="xdx_89B_ecustom--ScheduleOfNonOperatingLossCarryforwardsTableTextBlock_zICUdGIqjP7f" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B0_zYj08sqpz05a" style="display: none">SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 50%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: right">Loss</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: right">2030</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--OperatingLossCarryforwards_iI_c20231231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyTaxYearMember_z9Vtagg8HGW2" style="width: 16%; text-align: right" title="Total">407,947</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right">2031</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--OperatingLossCarryforwards_iI_c20231231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyOneYearMember_zsXfzMPi8jKk" style="text-align: right" title="Total">941,856</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: right">2032</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--OperatingLossCarryforwards_iI_c20231231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyTwoYearMember_zPE6KGlso7xc" style="text-align: right" title="Total">615,878</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right">2037</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--OperatingLossCarryforwards_iI_c20231231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtySevenYearMember_zSCfVs98lyoe" style="text-align: right" title="Total">1,692,555</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: right">2039</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--OperatingLossCarryforwards_iI_c20231231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyNineYearMember_zaXSPK4Gqcv2" style="text-align: right" title="Total">48,048</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right; padding-bottom: 1.5pt">2040</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--OperatingLossCarryforwards_iI_c20231231__us-gaap--TaxPeriodAxis__custom--TwoThousandFourtyYearMember_zbPc3PtPXGV2" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total">11,871</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: center; padding-bottom: 1.5pt">Total</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--OperatingLossCarryforwards_iI_c20231231_zgwwiDN33yM4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total">3,718,155</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AE_zIoh2CPHaob6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
at December 31, 2023, the Company has no net operating loss carryforwards available for US tax purposes.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">Accounting
for Uncertainty for Income Tax</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As at December 31, 2023 and 2022, the Company&#8217;s consolidated balance
sheets did not reflect an asset for uncertain tax positions but did account for accrued penalties or interest associated with income taxes
not yet filed. The Company has no income tax examinations in progress.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//740/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-14<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-21<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 270<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482526/740-270-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-17<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.5.Q1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482603/740-30-50-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;">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>36
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496274111904">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME PER SHARE<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [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_EarningsPerShareTextBlock', window );">INCOME PER SHARE</a></td>
<td class="text"><p id="xdx_808_eus-gaap--EarningsPerShareTextBlock_ziDKEgAfhVfi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>14.
<span id="xdx_82D_z1eowYXS6bCj">INCOME PER SHARE</span> </b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;&#160;</span></p>

<p id="xdx_896_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zG7NyYScyDV" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 35.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company presents both basic and diluted income per share on the face of its consolidated statements of income. Basic and diluted income
per share are calculated as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 35.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BD_zPPG2ZFXsC1i" style="display: none">SCHEDULE OF BASIC AND DILUTED LOSS PER SHARE</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_491_20230101__20231231_zHt17frmXL12" style="border-bottom: Black 1.5pt solid; text-align: center">2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20220101__20221231_zvDJZqAkPVMk" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--NetIncomeLoss_i_pp0p0" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Net income attributable to controlling interest</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">2,775,864</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">7,021,604</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Weighted average common shares outstanding:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_pid_zZqo7BFqzTGk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Basic</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">12,434,886</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">12,379,316</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_pid_zSfaMxIZ09V8" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Diluted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">12,489,467</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">12,466,415</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net income per common share attributable to controlling interest:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--EarningsPerShareBasic_zDc6xc7ms4Ra" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Basic</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">0.22</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">0.57</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--EarningsPerShareDiluted_z7guU2MzeMOc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt">Diluted</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">0.22</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">0.56</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A3_zBSgbnNAI5W8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certain
stock options whose terms and conditions are described in Note 15, &#8220;Stock Options&#8221; could potentially dilute basic EPS in
the future, but were not included in the computation of diluted EPS because to do so would have been anti-dilutive. Those anti-dilutive
options are as follows.</span></p>

<p id="xdx_890_eus-gaap--ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_zQvbX5UKcTtc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BD_znbh1KPoDwN9" style="display: none">SCHEDULE OF ANTI-DILUTIVE OPTIONS</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49E_20230101__20231231_zBzY3f4LgpT2" style="border-bottom: Black 1.5pt solid; text-align: center">2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_498_20220101__20221231_zPCPCMDHkd2i" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 60%">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_i_pdd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Anti-dilutive options</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">740,000</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">1,304,000</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A7_zHnWaPe8NV49" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">There
were <span id="xdx_90B_eus-gaap--PreferredStockSharesIssued_iI_pid_do_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zkxUHCJLvYzk" title="Preferred stock, shares issued"><span id="xdx_90A_eus-gaap--PreferredStockSharesOutstanding_iI_pid_do_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zQseBQCkbh2g" title="Preferred stock, shares outstanding"><span id="xdx_90B_eus-gaap--PreferredStockSharesIssued_iI_pid_do_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zuzlwdpQ2Nu1" title="Preferred stock, shares issued"><span id="xdx_909_eus-gaap--PreferredStockSharesOutstanding_iI_pid_do_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zN7RVgLYBys5" title="Preferred stock, shares outstanding">no</span></span></span></span> preferred shares issued and outstanding during the years ended December 31, 2023 and 2022.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-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> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//260/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>37
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496273032832">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCK OPTIONS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-Based Payment Arrangement [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_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock', window );">STOCK OPTIONS</a></td>
<td class="text"><p id="xdx_80D_eus-gaap--DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_zGAw2trAFNk6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>15.
<span id="xdx_82D_zIlMfXtpQ0V9">STOCK OPTIONS</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has a stock option plan (&#8220;Plan&#8221;). The purpose of this Plan is to provide additional incentives to key employees,
officers, directors and consultants of the Company and its subsidiaries in order to help attract and retain the best available personnel
for positions of responsibility and otherwise promote the success of the Company&#8217;s business. It is intended that options issued
under this Plan constitute non-qualified stock options. The general terms of awards under the option plan are that <span id="xdx_909_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_pid_dp_uPure_c20230101__20231231_zZbb3MnAdQH9" title="Options granted percentage">100</span>% of the options
granted will vest the year following the grant unless a executive employee is granted a multi-year stock option grant where an equal
amount vests over the next <span id="xdx_90C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_dtY_c20230101__20231231_z4J4ZjSzUhl1" title="Vested term">5</span> years. The maximum term of options granted is <span id="xdx_905_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_dtY_c20230101__20231231_zWyOLykUis2f" title="Options maximum granted term">5</span> years and the exercise price for all options are issued
for not less than fair market value at the date of the grant.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_895_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_z3jDVfiVt1be" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes the Company&#8217;s stock option activities for the years ended December 31, 2023 and 2022:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B6_zAxzstzN5Czb" style="display: none">SCHEDULE OF STOCK OPTION ACTIVITIES</span></p>


<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"><p style="margin: 0pt">Number of</p>
                                                                                <p style="margin: 0pt">shares</p></td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Exercise <br/>price per share</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Weighted <br/>average <br/>exercise price</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td colspan="2" style="font-size: 12pt">&#160;</td><td style="font-size: 12pt">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td colspan="2" style="font-size: 12pt">&#160;</td><td style="font-size: 12pt">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td colspan="2" style="font-size: 12pt">&#160;</td><td style="font-size: 12pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%">Balance, December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20220101__20221231_zgZBkQBt6ZFe" style="width: 14%; text-align: right" title="Number of shares, Beginning Balance">789,500</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><span style="font-size: 10pt"> <span id="xdx_904_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zlbqUJx73vad" title="Exercise price per share, Beginning Balance">1.42</span> &#8211; <span id="xdx_90C_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zPREWe00dhz9" title="Exercise price per share, Beginning Balance">4.13</span></span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20220101__20221231_zujLCMriWRub" style="width: 14%; text-align: right" title="Weighted average exercise price, Beginning Balance">2.78</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20220101__20221231_zkBrtwfyHU27" style="text-align: right" title="Number of shares, Granted">981,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-size: 10pt"><span id="xdx_908_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zUiZeTp2GvOe" title="Exercise price per share, Granted">3.55</span> &#8211; <span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zs9BvQEm3Dhf" title="Exercise price per share, Granted">3.61</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220101__20221231_zEDEISGelfh8" style="text-align: right" title="Weighted average exercise price, Granted">3.55</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Cancelled or expired</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_pid_di_c20220101__20221231_zQEJsDyOvzUe" style="text-align: right" title="Number of shares, Cancelled or expired">(13,486</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-size: 10pt"><span id="xdx_90F_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zmAKBPENpqvh" title="Exercise price per share, Cancelled">1.70</span> &#8211; <span id="xdx_90E_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zIbWzooVznr3" title="Exercise price per share, Cancelled">3.61</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20220101__20221231_zoZWoSJzJvea" style="text-align: right" title="Weighted average exercise price, Cancelled or expired">2.32</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Exercised</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20220101__20221231_zRsyChNJxmI1" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares, Exercised">(71,014</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-size: 10pt"><span id="xdx_906_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_z4aOf7fluPw9" title="Exercise price per share, Exercised">1.42</span> &#8211; <span id="xdx_902_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zDiKb9d2loCk" title="Exercise price per share, Exercised">2.44</span></span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20220101__20221231_zLTmUld9uxi7" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted average exercise price, Exercised">1.98</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance, December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_905_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20230101__20231231_zAz28w48DXal" title="Number of shares, Beginning Balance">1,686,000</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-size: 10pt"><span id="xdx_907_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_pid_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_zE5lTgF95Q9" title="Exercise price per share, Beginning Balance">1.70</span> &#8211; <span id="xdx_906_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_pid_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zUa1b6iTY83e" title="Exercise price per share, Beginning Balance">4.13</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20230101__20231231_z5XuehN2nK62" title="Weighted average exercise price, Beginning Balance">3.26</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Cancelled or expired</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_pid_di_c20230101__20231231_zBRf4Udw7241" style="text-align: right" title="Number of shares, Cancelled or expired">(564,000</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-size: 10pt"><span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_zcIYOaqyUYs3" title="Exercise price per share, Cancelled or expired">3.46</span> &#8211; <span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zPdgdCffuco6" title="Exercise price per share, Cancelled or expired">4.13</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20230101__20231231_zKVW2OK6GBvd" style="text-align: right" title="Weighted average exercise price, Cancelled or expired">3.55</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Exercised</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20230101__20231231_znq7Eo1oj6n8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares, Exercised">(8,000</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span id="xdx_90D_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20230101__20231231_zBFkHutqx0M1" title="Exercise price per share, Exercised">1.70</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20230101__20231231_zhZOQgILXPpe" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted average exercise price, Exercised">1.70</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Balance, December 31, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span id="xdx_90A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_pid_c20230101__20231231_zNHRmnI8RAAa" title="Number of shares Exercisable, Ending Balance">1,114,000</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-size: 10pt"><span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_znGuGmy3A8of" title="Exercise price per share, Ending Balance">1.75</span> &#8211; <span id="xdx_90F_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zlwkxpLMzCtb" title="Exercise price per share, Ending Balance">3.61</span></span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20230101__20231231_zsyrRQjJI9zd" title="Weighted average exercise price, Ending Balance">3.13</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Exercisable, December 31, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_pid_c20230101__20231231_z8Ke9jIluI97" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares Exercisable, Ending Balance">754,000</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-size: 10pt"><span id="xdx_909_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_zqClI5NjvhUj" title="Exercise price per share Exercisable, Ending Balance">1.75</span>
&#8211; <span id="xdx_908_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zu6XjxVUBgq7" title="Exercise price per share Exercisable, Ending Balance">3.61</span></span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_c20230101__20231231_z7GfcUcC6vwg" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted average exercise price, Exercisable, Ending Balance">2.93</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AF_z5nLcIZG575e" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
weighted-average remaining contractual life of outstanding options is <span id="xdx_905_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231_zVS4jXOCAS8g" title="Weighted-average remaining contractual life">2.90</span> years.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_892_eus-gaap--ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_zi10yAD4o8T9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair value of each option grant is calculated using the following weighted average assumptions:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B3_zPxe6RWCJlSd" style="display: none">SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS</span></p>


<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 85%">
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left">Expected life &#8211; years</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right"><span id="xdx_907_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20220101__20221231_zAGUb7dMLRwi" title="Expected life - years">3.0</span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Interest rate</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-size: 10pt"><span id="xdx_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zUrNVn9K22nf" title="Interest rate">1.76</span> &#8211; <span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_z2apJgicLEab" title="Interest rate">3.64</span> </span></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Volatility</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-size: 10pt"><span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_z8dJ1GuzjDY1" title="Volatility">66.01</span> - <span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zfMjRaMLDRXk" title="Volatility">69.66</span> </span></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Weighted average fair value of options granted</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-size: 10pt"> <span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zjCKEQ00P5Lg" title="Weighted average fair value of options granted">1.46</span> &#8211; <span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zNobaYpunYHh" title="Weighted average fair value of options granted">1.65</span></span></td><td style="text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A1_z4cZW9cS3189" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2023, the Company granted <span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_dxL_c20230101__20231231__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zgAPLpKR2fq7" title="Stock options granted::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1570">nil</span></span> (2022 &#8211; <span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20220101__20221231__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zZLElZSmmHod" title="Stock options granted">46,000</span>) stock options to consultants and has applied ASC 718
using the Black-Scholes option-pricing model, which resulted in expenses of $<span id="xdx_90B_eus-gaap--StockOptionPlanExpense_dxL_c20230101__20231231__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zVzsJvjjPOea" title="Stock option expense::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1574">nil</span></span> (2022 - $<span id="xdx_90B_eus-gaap--StockOptionPlanExpense_c20220101__20221231__srt--TitleOfIndividualAxis__custom--ConsultantsMember_znOEW8spDCP1" title="Stock option expense">14,850</span>). Options granted in other years resulted
in additional expenses of $<span id="xdx_90A_ecustom--AdditionalExpensesDueToOptionsGranted_c20230101__20231231__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zMlMTKAKnZkk" title="Additional expenses due to options granted">62,241</span> (2022 &#8211; $<span id="xdx_900_ecustom--AdditionalExpensesDueToOptionsGranted_c20220101__20221231__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zNKWiV3g1ML" title="Additional expenses due to options granted">62,187</span>). During the year ended December 31, 2023, employees were granted <span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_dxL_c20230101__20231231__srt--TitleOfIndividualAxis__custom--EmployeesMember_zlzjO11s0cF" title="Stock options granted::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1582">nil</span></span> (2022 &#8211;
<span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20220101__20221231__srt--TitleOfIndividualAxis__custom--EmployeesMember_zXuH06sSKlB9" title="Stock options granted">935,000</span>) stock options, which resulted in expenses of $<span id="xdx_900_eus-gaap--StockOptionPlanExpense_dxL_c20230101__20231231__srt--TitleOfIndividualAxis__custom--EmployeesMember_z6w0Qr8tKbB2" title="Stock option expense::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1586">nil</span></span> (2022 &#8211; $<span id="xdx_908_eus-gaap--StockOptionPlanExpense_c20220101__20221231__srt--TitleOfIndividualAxis__custom--EmployeesMember_z80elCAPJex6" title="Stock option expense">172,731</span>). Options granted in other years resulted in additional
expenses in the amount of $<span id="xdx_901_ecustom--AdditionalExpensesDueToOptionsGranted_c20230101__20231231__srt--TitleOfIndividualAxis__custom--EmployeesMember_zpRWPwi5pkEh" title="Additional expenses due to options granted">328,769</span> for employees during the year ended December 31, 2023 (2022 - $<span id="xdx_908_ecustom--AdditionalExpensesDueToOptionsGranted_c20220101__20221231__srt--TitleOfIndividualAxis__custom--EmployeesMember_z8AKXjQjI7W6" title="Additional expenses due to options granted">149,380</span>). There were <span id="xdx_905_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20230101__20231231__srt--TitleOfIndividualAxis__custom--EmployeesMember_z1jOhKRLx8Td" title="Stock options exercised">8,000</span> employee
and <span id="xdx_902_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_dxL_c20230101__20231231__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zB3cpoaEWnec" title="Stock options exercised::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1596">nil</span></span> consultant stock options exercised during the year ended December 31, 2023 (2022 &#8211; <span id="xdx_90E_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20220101__20221231__srt--TitleOfIndividualAxis__custom--EmployeesMember_zhrqVxEMl05k" title="Stock options exercised">54,500</span> employee; <span id="xdx_906_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20220101__20221231__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zGZxefTgRwQ3" title="Stock options exercised">16,514</span> consultant).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of December 31, 2023, there was approximately $<span id="xdx_900_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_iI_pp0p0_c20231231_z98ab7F3jjM" title="Stock vested compensation non vested">375,351</span> of compensation expense related to non-vested awards. This expense is expected
to be recognized over a weighted average period of <span id="xdx_906_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_dtY_c20230101__20231231_z79Q1wpnDrq5" title="Weighted average period expected to be recognized">2.5</span> years.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
aggregate intrinsic value of vested options outstanding at December 31, 2023 is $<span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_iI_dxL_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zMSEgMC8RkTj" title="Aggregate intrinsic value of vested options::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1606">nil</span></span> (2022 &#8211; $<span id="xdx_90D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_iI_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zjfsn3hjHDK2" title="Aggregate intrinsic value of vested options">69,190</span>). The intrinsic value of options
exercised during the year ended December 31, 2023 was $<span id="xdx_902_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_c20230101__20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_z3UDoSWH9vEk" title="Aggregate intrinsic value of vested options exercised">11,520</span> (2022 - $<span id="xdx_90C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_c20220101__20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zzy4XSZx8HM8" title="Aggregate intrinsic value of vested options exercised">96,989</span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//718/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (l)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-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>38
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496273574176">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CAPITAL STOCK<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_EquityAbstract', window );"><strong>Equity [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_StockholdersEquityNoteDisclosureTextBlock', window );">CAPITAL STOCK</a></td>
<td class="text"><p id="xdx_801_eus-gaap--StockholdersEquityNoteDisclosureTextBlock_zR3XJajiEUt2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>16.
<span id="xdx_82A_zLTx24n9ybQj">CAPITAL STOCK</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2023, <span id="xdx_90A_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_pid_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zfgwGkgXenml" title="Stock options exercised">8,000</span> shares were issued upon the exercise of employee stock options (2022 &#8211; <span id="xdx_90A_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_pid_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zc646MVCWWE3" title="Stock options exercised">54,500</span>) and <span id="xdx_900_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_pid_c20230101__20231231__us-gaap--AwardTypeAxis__custom--ConsultantStockOptionMember_zKHbZI1vQ8Ve" title="Stock options exercised">nil</span>
shares were issued upon the exercise of consultant stock options (2022 &#8211; <span id="xdx_901_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_pid_c20220101__20221231__us-gaap--AwardTypeAxis__custom--ConsultantStockOptionMember_zYQiDZHc6pl4" title="Stock options exercised">16,514</span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2023, the Company issued <span id="xdx_90A_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20230101__20231231_zU7jXuV1aIx9" title="Consultant for services, shares">1,272</span> shares to a consultant for services rendered, resulting in an expense of $<span id="xdx_90E_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_c20230101__20231231_zLtK9Fi7fYjl" title="Consultant for services, value">4,070</span>
on the consolidated statements of income and comprehensive income for the year ended December 31, 2023 (2022 - $<span id="xdx_908_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_dxL_c20220101__20221231_zjTiVArjkcU2" title="Consultant for services, value::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1628">nil</span></span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
the year ended December 31, 2023, the Company announced a special dividend of $<span id="xdx_90A_eus-gaap--DividendsPayableAmountPerShare_iI_pid_c20231231_zZjgupP2vOC2" title="Dividends per share">0.05</span>
per share that was paid on May 16, 2023 to shareholders (2022 - $<span id="xdx_90F_eus-gaap--DividendsPayableAmountPerShare_iI_pid_dxL_c20221231_zBzPhLX4BHGk" title="Dividends per share::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1632">nil</span></span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EquityAbstract</td>
</tr>
<tr>
<td style="padding-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_StockholdersEquityNoteDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-14<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481062/946-235-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481062/946-235-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-6<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480237/815-40-50-6<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(e)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//505/tableOfContent<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-14<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-14<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 16<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-16<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-18<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-18<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-18<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityNoteDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496270834496">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>NON-CONTROLLING INTERESTS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_NoncontrollingInterestAbstract', window );"><strong>Noncontrolling Interest [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_MinorityInterestDisclosureTextBlock', window );">NON-CONTROLLING INTERESTS</a></td>
<td class="text"><p id="xdx_809_eus-gaap--MinorityInterestDisclosureTextBlock_zh34YxiUIWX9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>17.
<span id="xdx_829_z6Keglov2Ty9">NON-CONTROLLING INTERESTS</span> </b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">a<span style="font-variant: small-caps">)
</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ENP Investments is a limited liability corporation
(&#8220;LLC&#8221;) that manufactures and distributes golf, turf and ornamental agriculture products in Mendota, Illinois. The Company
owns a <span id="xdx_905_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zy63Gw4zHmn5" title="Subsidiary company ownership interest rate">65</span>% interest in ENP Investments through its wholly-owned subsidiary NanoChem. An unrelated party (&#8220;NCI&#8221;) owns the
remaining <span id="xdx_90A_eus-gaap--MinorityInterestOwnershipPercentageByParent_iI_pid_dp_uPure_c20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zsrX5Bz8zwDf" title="Related party owner ship percentage">35</span>% interest in ENP Investments. ENP Mendota is a wholly owned subsidiary of ENP Investments. ENP Mendota is a LLC that leases
warehouse space. For financial reporting purposes, the assets, liabilities and earnings of both of the LLC&#8217;s are consolidated into
these financial statements. The NCI&#8217;s ownership interest in ENP Investments is recorded in non-controlling interests in these consolidated
financial statements. The non-controlling interest represents NCI&#8217;s interest in the earnings and equity of ENP Investments. ENP
Investments is allocated to the TPA segment.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ENP
Investments makes cash distributions to its equity owners based on formulas defined within its Ownership Interest Purchase Agreement
dated October 1, 2018. Distributions are defined in the Ownership Interest Purchase Agreement as cash on hand to the extent it exceeds
current and anticipated long-term and short-term needs, including, without limitation, needs for operating expenses, debt service, acquisitions,
reserves, and mandatory distributions, if any.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">From
the effective date of acquisition onward, the minimum distributions requirements under the Ownership Interest Purchase Agreement were
satisfied. The total distribution from the effective date of acquisition onward was $<span id="xdx_90F_eus-gaap--PaymentsToMinorityShareholders_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zWvMv8W3Pgei" title="Partnership distribution to non-controlling interest">3,225,957</span>.</span></p>

<p id="xdx_895_ecustom--ScheduleOfDistributionsTableTextBlock_zQVJq8fOy1Yc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B5_zyuaje2sUzqe" style="display: none">SCHEDULE
OF DISTRIBUTIONS</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Balance, December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_989_eus-gaap--MinorityInterest_iS_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zh3oFgmbYaS" style="width: 16%; text-align: right" title="Distribution to noncontrolling interests, Beginning balance">2,602,843</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Distribution</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_di_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zTjNSyHtMBKf" style="text-align: right" title="Distribution">(689,434</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Non-controlling interest share of income</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_z56Cov3BLDH6" style="border-bottom: Black 1.5pt solid; text-align: right" title="Non-controlling interest share of income">691,625</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance, December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--MinorityInterest_iS_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zcHZphA3KFql" style="text-align: right" title="Distribution to noncontrolling interests, Beginning balance">2,605,034</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Distribution</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_di_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zvfvFV7AuLpf" style="text-align: right" title="Distribution">(719,439</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Non-controlling interest share of income</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zrVxE1MRXEHl" style="border-bottom: Black 1.5pt solid; text-align: right" title="Non-controlling interest share of income">1,015,604</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Balance, December 31, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98C_eus-gaap--MinorityInterest_iE_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zrJe7V01Dg2b" style="border-bottom: Black 1.5pt solid; text-align: right" title="Distribution to noncontrolling interests, Ending balance">2,901,199</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A6_zxRx4GA69no4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2023, the Company had sales of $<span id="xdx_90A_eus-gaap--Revenues_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zcMueXjkLxud" title="Sales">6,811,083</span> (2022 - $<span id="xdx_905_eus-gaap--Revenues_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zTqJKvseLNq1" title="Sales">6,667,815</span>) to the NCI, of which $<span id="xdx_90B_eus-gaap--AccountsReceivableNetCurrent_iI_c20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zWgWtwqqT7dh" title="Accounts receivable">4,225,028</span> is included
within Accounts Receivable as of December 31, 2023 (2022 &#8211; $<span id="xdx_90E_eus-gaap--AccountsReceivableNetCurrent_iI_c20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zdjmr4j9L6L8" title="Accounts receivable">3,634,083</span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>b<span style="font-variant: small-caps">)
</span></b>317 Mendota is a LLC that owns real estate that the Company intends to occupy part of while renting out the excess. The Company
owns a <span id="xdx_90A_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember_zJHSXBdp6iwg" title="Subsidiary company ownership interest rate">80</span>% interest in 317 Mendota and an unrelated party (&#8220;317 NCI&#8221;) owns the remaining <span id="xdx_90F_eus-gaap--MinorityInterestOwnershipPercentageByParent_iI_pid_dp_uPure_c20231231__srt--OwnershipAxis__custom--MendotaLLCMember_zA0FQyvLwcT" title="Related party owner ship percentage">20</span>% interest in 317 Mendota. For
financial reporting purposes, the assets, liabilities and earnings of 317 Mendota are consolidated into these financial statements. The
317 NCI&#8217;s ownership interest in 317 Mendota is recorded in non-controlling interests in these consolidated financial statements.
The non-controlling interest represents 317 NCI&#8217;s interest in the earnings and equity of 317 Mendota. 317 Mendota is allocated
to the TPA segment as that is the intended use of the building.</span></p>

<p id="xdx_895_ecustom--ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock_zlTc967sZkOh" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BB_zM7DCHk7TfEk" style="display: none">SCHEDULE
OF NON CONTROLLING INTEREST RELATED TO ACQUISITION</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance, December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_984_eus-gaap--MinorityInterest_iS_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zlBCS3ehM1Vd" style="text-align: right" title="Distribution to noncontrolling interests, Beginning balance"><span style="-sec-ix-hidden: xdx2ixbrl1672">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 80%">Acquisition</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--PaymentsToAcquireBusinessesAndInterestInAffiliates_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zDSHR01VvBPg" style="width: 16%; text-align: right" title="Distribution to noncontrolling interests, Acquisition">200,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Non-controlling interest share of loss</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--NoncontrollingInterestDecreaseFromDeconsolidation_iN_di_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zKkUckOfun9d" style="text-align: right" title="Distribution to noncontrolling interests, Non-controlling interest share of loss">(35,483</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance, December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_985_eus-gaap--MinorityInterest_iE_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_z4U1PVisbeWb" style="text-align: right" title="Distribution to noncontrolling interests, Ending balance">164,517</td><td style="text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AE_zIsscUYkqx43" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_MinorityInterestDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 noncontrolling interest in consolidated subsidiaries, which could include the name of the subsidiary, the ownership percentage held by the parent, the ownership percentage held by the noncontrolling owners, the amount of the noncontrolling interest, the location of this amount on the balance sheet (when not reported separately), an explanation of the increase or decrease in the amount of the noncontrolling interest, the noncontrolling interest share of the net Income or Loss of the subsidiary, the location of this amount on the income statement (when not reported separately), the nature of the noncontrolling interest such as background information and terms, the amount of the noncontrolling interest represented by preferred stock, a description of the preferred stock, and the dividend requirements of the preferred 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> -Topic 810<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//810/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterestDisclosureTextBlock</td>
</tr>
<tr>
<td style="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_NoncontrollingInterestAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_NoncontrollingInterestAbstract</td>
</tr>
<tr>
<td style="padding-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>40
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496273592832">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_SegmentReportingAbstract', window );"><strong>Segment Reporting [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_SegmentReportingDisclosureTextBlock', window );">SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY</a></td>
<td class="text"><p id="xdx_80E_eus-gaap--SegmentReportingDisclosureTextBlock_zIvq63QpMJY6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>18.
<span id="xdx_82A_zifRyN3EF769">SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company operates in <span id="xdx_905_eus-gaap--NumberOfOperatingSegments_dc_uSegments_c20230101__20231231_zV0zbgXRRCRg" title="Number of operating segments">two</span> segments:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(a)
</b>Energy and water conservation products (as shown under the column heading &#8220;EWCP&#8221; below), which consists of a (i) liquid
swimming pool blankets which save energy and water by inhibiting evaporation from the pool surface, and (ii) food-safe powdered form
of the active ingredient within the liquid blankets and which are designed to be used in still or slow moving drinking water sources.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(b)
</b>Biodegradable polymers, also known as TPA&#8217;s (as shown under the column heading &#8220;BCPA&#8221; below), used by the petroleum,
chemical, utility and mining industries to prevent corrosion and scaling in water piping. This product can also be used in detergents
to increase biodegradability and in agriculture to increase crop yields by enhancing fertilizer uptake.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
third product line is nitrogen conservation products used for the agriculture industry. These products decrease the loss of nitrogen
fertilizer after initial application and allows less fertilizer to be used. These products are made and sold by the Company&#8217;s TPA
division.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
accounting policies of the segments are the same as those described in Note 2, <i>Significant Accounting Policies</i>. The Company evaluates
performance based on profit or loss from operations before income taxes, not including nonrecurring gains and losses and foreign exchange
gains and losses</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s reportable segments are strategic business units that offer different, but synergistic products and services. They are
managed separately because each business requires different technology and marketing strategies.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Year
ended December 31, 2023:</span></p>

<p id="xdx_89A_eus-gaap--ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock_zWZe7s71UT32" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B1_zoA5dWvmVHLb" style="display: none">SCHEDULE
OF REPORTABLE SEGMENTS</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_492_20230101__20231231__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zz4RZo8QEyGh" style="border-bottom: Black 1.5pt solid; text-align: center">EWCP</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_493_20230101__20231231__srt--ProductOrServiceAxis__custom--BCPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zJwM9ZULJ2p4" style="border-bottom: Black 1.5pt solid; text-align: center">BCPA</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49F_20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zKJVGd5ire59" style="border-bottom: Black 1.5pt solid; text-align: center">Consolidated</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zKihmIeUF8Rb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: justify">Sales</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">572,845</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">37,751,961</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">38,324,806</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--InterestExpense_zMKGecgwYOy3" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">387</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">498,279</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">498,666</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--DepreciationNonproduction_zD1WwEHW9bZ3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Depreciation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">17,411</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,668,908</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,686,319</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_zme53CDMLVP1" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Current and deferred income tax recovery (expense)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(35,341</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">168,076</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">132,735</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NetIncomeLoss_zEjRTG3wWeAa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Segment profit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(256,390</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,032,254</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,775,864</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_ecustom--SegmentAssets_zAjUkYu8f7B" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Segment assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,843,123</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">50,627,932</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">55,471,055</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zvZ1QQo6f0d1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Expenditures for segment assets</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1710">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">4,990,675</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">4,990,675</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Year
ended December 31, 2022:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_494_20220101__20221231__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zTRnyC6o5D5e" style="border-bottom: Black 1.5pt solid; text-align: center">EWCP</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20220101__20221231__srt--ProductOrServiceAxis__custom--BCPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zt9kSuCFWpKh" style="border-bottom: Black 1.5pt solid; text-align: center">BCPA</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_492_20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zjtnBmrK6Su6" style="border-bottom: Black 1.5pt solid; text-align: center">Consolidated</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zl0TD0OvNMU8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: justify">Sales</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">528,462</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">45,312,007</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">45,840,469</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--InterestExpense_ztUCU98H7LXa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1718">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">292,949</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">292,949</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--DepreciationNonproduction_zrRFvC6jytj9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Depreciation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">33,876</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,243,555</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,277,431</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_zHuOPguDhmcf" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Current and deferred income tax expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">18,898</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">126,958</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">145,856</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NetIncomeLoss_zoW5VU1vWzYa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Segment profit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(334,525</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,047,754</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,713,229</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_ecustom--SegmentAssets_zD4jWpaAEgvg" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Segment assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,810,091</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">48,777,101</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">51,587,192</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_z7uF1yacUQg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Expenditures for segment assets</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1738">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">1,981,307</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">1,981,307</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A7_zXgnscUEjIIl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_893_eus-gaap--ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_zp2QbVKGSbia" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Sales
by territory are shown below:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BE_zxAQwrJDYMO1" style="display: none">SCHEDULE
OF REVENUE GENERATED IN UNITED STATES AND CANADA</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_492_20230101__20231231_zARgVo60GNM4" style="border-bottom: Black 1.5pt solid; text-align: center">2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20220101__20221231_zAV9pmSbF4Q2" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__country--CA_zSRI6s6oDU46" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%">Canada</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">755,844</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">552,123</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__custom--UnitedStatesandAbroadMember_zBJg9tzwWVwk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">United States and abroad</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">37,568,962</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">45,288,346</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zvM5ZCSIlZaj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Total</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">38,324,806</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">45,840,469</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A3_z4f9ZYW2ay84" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_89C_eus-gaap--ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock_zB044KFQcNxb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s long-lived assets (property, equipment, leaseholds, right of use assets, intangibles, and goodwill) are located in Canada
and the United States as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B7_zseiyHibndUe" style="display: none">SCHEDULE
OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49E_20231231_zBRm5jHTd6di" style="border-bottom: Black 1.5pt solid; text-align: center">2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_498_20221231_zfzSFgjHgw1c" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--CA_zXVHM0eFdOHl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%">Canada</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">142,577</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">150,890</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--US_z7CFYYUTfW82" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">United States</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">17,958,778</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">14,699,896</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--NoncurrentAssets_iI_zVqNCNZk0c28" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Total</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">18,101,355</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">14,850,786</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A1_z0KlznVRexbf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Three
customers accounted for $<span id="xdx_903_eus-gaap--AccountsReceivableNet_iI_c20231231__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__srt--MajorCustomersAxis__custom--ThreeCustomersMember_zpqBMlnQj9lj" title="Accounts receivable, after allowance for credit loss">20,482,798</span> (<span id="xdx_904_ecustom--StockOptionExercisePercent_pid_dp_uPure_c20230101__20231231__srt--MajorCustomersAxis__custom--ThreeCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zqapqDPjOXKj" title="Stock option exercise percent">53</span>%) of sales made in 2023 (2022 - $<span id="xdx_904_eus-gaap--AccountsReceivableNet_iI_c20221231__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__srt--MajorCustomersAxis__custom--ThreeCustomersMember_zYTxTJ6jzm8" title="Accounts receivable, after allowance for credit loss">27,775,616</span> or <span id="xdx_90B_ecustom--StockOptionExercisePercent_pid_dp_uPure_c20220101__20221231__srt--MajorCustomersAxis__custom--ThreeCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_z7WrkLEYrv7j" title="Stock option exercise percent">61</span>%).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-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> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//280/tableOfContent<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 26<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-26<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 34<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-34<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-21<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-21<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>41
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496273866928">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUBSEQUENT EVENTS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_SubsequentEventsAbstract', window );"><strong>Subsequent Events [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_SubsequentEventsTextBlock', window );">SUBSEQUENT EVENTS</a></td>
<td class="text"><p id="xdx_80F_eus-gaap--SubsequentEventsTextBlock_zdE9DlRpL492" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>19.
<span id="xdx_82A_zaLOd6ycYe54">SUBSEQUENT EVENTS</span> </b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in">In January 2024, the Company issued
<span id="xdx_907_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_pid_c20240101__20240131__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zh4y7X1nQnfl" title="Stock option issued upon exercise">15,000</span> shares upon the exercise of consultant stock options.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in">In January 2024, the Company granted
<span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20240101__20240131__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember__srt--TitleOfIndividualAxis__custom--EmployeesMember_zTkZ88YURyZ5" title="Stock option granted">494,000</span> stock options to employees and <span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20240101__20240131__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zXLjxNtcVil7" title="Stock option granted">56,000</span> stock options to consultants.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in">&#160;</p>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
March 2024, the Company terminated its lease in Naperville, IL. All operations are now consolidated in the Peru, IL locations.</span></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_SubsequentEventsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SubsequentEventsAbstract</td>
</tr>
<tr>
<td style="padding-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> -Topic 855<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//855/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483399/855-10-50-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;">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>42
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496274960560">
<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, 2023</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_CashAndCashEquivalentsPolicyTextBlock', window );">Cash and Cash Equivalents</a></td>
<td class="text"><p id="xdx_84C_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_zycQmbBUVMu1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a)
<i><span id="xdx_863_z9jFhvww0eJ4">Cash and Cash Equivalents</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company considers all highly liquid investments purchased with an original or remaining maturity of less than three months at the date
of purchase to be cash equivalents. Cash and cash equivalents are maintained with several financial institutions.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_FSI_TermDepositsPolicyTextBlock', window );">Term Deposits</a></td>
<td class="text"><p id="xdx_843_ecustom--TermDepositsPolicyTextBlock_zCsd82EkMtZ5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b)
<i><span id="xdx_86E_zDHFhn46ydM2">Term Deposits</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has four term deposits that are maintained by commercials banks. The first term deposit is for $<span id="xdx_908_eus-gaap--Deposits_iI_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zSe2x1fDTjwh">680,000</span> and matures in
January 2024. This deposit pays <span id="xdx_907_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zsHT3saNhqS5">5.0</span>% interest and if withdrawn before maturity, the greater of the loss of accrued interest or $<span id="xdx_906_ecustom--MinimumInterestPenalty_iI_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zjHN09je00Rf" title="Minimum interest penalty">150</span>,
plus 1% of the principal shall be levied. The second term deposit is for $<span id="xdx_90D_eus-gaap--Deposits_iI_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--SecondTermMember_zw8dA1VVi3be">300,000 </span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">and
matures in February 2024. Paying <span id="xdx_90F_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--SecondTermMember_zOZjbxGylA84">1.3</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">%
interest, it can be withdrawn by the Company at any point without prior notice or penalty. The third term deposit is for $<span id="xdx_908_eus-gaap--Deposits_iI_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zAMditO0RDwk">710,241</span>, </span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">matures
in May 2024 and pays interest at a rate of <span id="xdx_909_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zIh8a47XxHFh">3.00</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">%.
If withdrawn before maturity, the greater of the loss of accrued interest or $<span id="xdx_90C_ecustom--MinimumInterestPenalty_iI_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zhqDedZewXek" title="Minimum interest penalty">150</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">,
plus 1% of the principal shall be levied. The fourth term deposit is for $<span id="xdx_908_eus-gaap--Deposits_iI_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_zW7vltd8pIjd">1,000,000 </span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">and
matures in May 2024. This deposit pays <span id="xdx_900_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_z7AKLJuh7FTd">3.85</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">%
and if withdrawn before maturity, the greater of the loss of accrued interest or $<span id="xdx_909_ecustom--MinimumInterestPenalty_iI_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_zY96Usv2Fnk6" title="Minimum interest penalty">150</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">,
plus 1% of the principal shall be levied.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_InventoryPolicyTextBlock', window );">Inventories and Cost of Sales</a></td>
<td class="text"><p id="xdx_848_eus-gaap--InventoryPolicyTextBlock_zCLrxwHbBMq4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(c)
<i><span id="xdx_86C_z9DHC5M2MiOg">Inventories and Cost of Sales</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has three major classes of inventory: completed goods, work in progress and raw materials and supplies. In all classes inventories
are stated at the lower of cost and net realizable value. Cost is determined on a first-in, first-out basis or weighted average cost
formula to inventories in different subsidiaries. Cost of sales includes all expenditures incurred in bringing the goods to the point
of sale. Inventory costs and costs of sales include direct costs of the raw material, inbound freight charges, warehousing costs, handling
costs (receiving and purchasing) and utilities and overhead expenses related to the Company&#8217;s manufacturing and processing facilities.
Shipping and handling charges billed to customers are included in revenue (2023 - $<span id="xdx_90A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_znAL8oN2E4nc" title="Sales">522,033</span>; 2022 - $<span id="xdx_90A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zPmy4qxQCylf" title="Sales">433,015</span>). Shipping and handling costs
incurred are included in cost of goods sold (2023 - $<span id="xdx_908_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_z7hmwQD7RIKf" title="Cost of sales">944,811</span>; 2022 - $<span id="xdx_903_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_z0eW0G8k0M7f" title="Cost of sales">913,890</span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</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_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy', window );">Allowance for Doubtful Accounts</a></td>
<td class="text"><p id="xdx_849_eus-gaap--PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy_zqCjsIIwzSF7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(d)
<i><span id="xdx_869_z8CdBlCoUtv6">Allowance for Doubtful Accounts</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company provides an allowance for doubtful accounts when management estimates collectability to be uncertain. Accounts receivable are
continually reviewed to determine which, if any, accounts are doubtful of collection. In making the determination of the appropriate
allowance amount, the Company considers current economic and industry conditions, relationships with each significant customer, overall
customer credit-worthiness and historical experience.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_PropertyPlantAndEquipmentPolicyTextBlock', window );">Property, Equipment, Leaseholds and Intangible Assets</a></td>
<td class="text"><p id="xdx_847_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_zlZM99BklGQ8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(e)
<i><span id="xdx_860_zecH1XuJr7Ge">Property, Equipment, Leaseholds and Intangible Assets</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_898_ecustom--ScheduleOfMethodOfDepreciationTableTextBlock_zVBeFgK8B2Z7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following assets are recorded at cost and depreciated using the methods and annual rates shown below:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BC_zO3YsMi3z765" style="display: none">SCHEDULE OF METHOD OF DEPRECIATION</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; width: 80%; border-collapse: collapse; margin-right: auto">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Computer
    hardware</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90E_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zT4QBkeYUUek" title="Depreciation method used and annual rate">30%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Manufacturing
    equipment</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_908_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zPSeyFrBmyN2" title="Depreciation method used and annual rate">20%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Office
    equipment</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_znJ8hnljVGKk" title="Depreciation method used and annual rate">20%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Boat</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_909_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--BoatMember_zdvHZ2ZdFeU8" title="Depreciation method used and annual rate">20%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Building
    and improvements</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90D_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zuGTqJXw06dj" title="Depreciation method used and annual rate">10%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Trailer</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_907_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TrailerMember_z5c6SDFzPmLa" title="Depreciation method used and annual rate">30%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Automobiles</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_908_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zSE2lmNOLeIl" title="Depreciation method used and annual rate">Straight-line
    over 5 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Patents</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_903_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PatentsMember_zKDlSd0Upm52" title="Depreciation method used and annual rate">Straight-line
    over 17 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Technology</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--TechnologyEquipmentMember_zHfl3DWLmuy" title="Depreciation method used and annual rate">Straight-line
    over 10 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Leasehold
    improvements</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_909_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zHQnps9u9KM9" title="Depreciation method used and annual rate">Straight-line
    over lease term</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Customer
    relationships </span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90F_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--CustomerRelationshipsMember_zYGvPmg3ddp5" title="Depreciation method used and annual rate">Straight-line
    over 15 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Software
    </span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--SoftwareMember_zd7AbxOppGi" title="Depreciation method used and annual rate">Straight-line
    over 3 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  </table>
<p id="xdx_8A4_zwM1WFHdVfRa" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</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_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock', window );">Impairment of Long-Lived Assets</a></td>
<td class="text"><p id="xdx_847_eus-gaap--ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_zAFq2kLTAmqi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(f)
<i><span id="xdx_86F_zxFsW29OLV45">Impairment of Long-Lived Assets</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
accordance with FASB Codification Topic 360, <i>Property, Plant and Equipment</i> (ASC 360), the Company reviews long-lived assets, including,
but not limited to, property, equipment and leaseholds, patents and other assets, for impairment annually or whenever events or changes
in circumstances indicate the carrying amounts of assets may not be recoverable. The carrying value of long-lived assets is assessed
for impairment by evaluating operating performance and future undiscounted cash flows of the underlying assets. If the expected future
cash flows of an asset is less than its carrying value, an impairment measurement is indicated. Impairment charges are recorded to the
extent that an asset&#8217;s carrying value exceeds its fair value. Accordingly, actual results could vary significantly from such estimates.
There were no impairment charges during the periods presented.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock', window );">Foreign Currency</a></td>
<td class="text"><p id="xdx_844_eus-gaap--ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_zdi7ZFTuLfa7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(g)
<i><span id="xdx_869_zKWkhnFukui8">Foreign Currency</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
functional currency of the Company is the U.S. dollar. The functional currency of three of the Company&#8217;s subsidiaries is the Canadian
dollar. The translation of the Canadian dollar to the reporting currency of the Company, the U.S. dollar, is performed for assets and
liabilities using exchange rates in effect at the balance sheet date. Revenue and expense transactions are translated using average exchange
rates prevailing during the year. Translation adjustments arising on conversion of the Company&#8217;s financial statements from the
subsidiary&#8217;s functional currency, Canadian dollars, into the reporting currency, U.S. dollars, are excluded from the determination
of income (loss) and are disclosed as other comprehensive income in the consolidated statements of income and comprehensive income.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Foreign
exchange gains and losses relating to transactions not denominated in the applicable local currency are included in operating income
(loss) if realized during the year and in comprehensive income (loss) if they remain unrealized at the end of the year.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</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_RevenueFromContractWithCustomerPolicyTextBlock', window );">Revenue Recognition</a></td>
<td class="text"><p id="xdx_846_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zC1Fmv7ppdVa" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(h)
<i><span id="xdx_865_zZalEwPd8mOa">Revenue Recognition</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company generates revenue primarily from energy and water conservation products and biodegradable polymers, as further discussed in Note
18.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company follows a five-step model for revenue recognition. The five steps are: (1) identification of the contract(s) with the customer,
(2) identification of the performance obligation(s) in the contract(s), (3) determination of the transaction price, (4) allocation of
the transaction price to the performance obligation, and (5) recognition of revenue when (or as) the performance obligation is satisfied.
The Company has fulfilled its performance obligations when control transfers to the customer, which is generally at the time the product
is shipped since risk of loss is transferred to the purchaser upon delivery to the carrier. For shipments which are free-on-board shipping
point, the Company has elected to account for shipping and handling activities as a fulfillment cost rather than as an additional promised
service and performance obligation.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Since
the Company&#8217;s inception, product returns have been insignificant; therefore, no provision has been established for estimated product
returns.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred
revenues consist of products sold to distributors with payment terms greater than the Company&#8217;s customary business terms due to
lack of credit history or operating in a new market in which the Company has no prior experience. The Company defers the recognition
of revenue until the criteria for revenue recognition has been met and payments become due or cash is received from these distributors.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<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_FSI_StockIssuedInExchangeForServicesPolicyTextBlock', window );">Stock Issued in Exchange for Services</a></td>
<td class="text"><p id="xdx_846_ecustom--StockIssuedInExchangeForServicesPolicyTextBlock_zQ1sqqodYo3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(i)
<i><span id="xdx_866_ziyo4EIkGBdb">Stock Issued in Exchange for Services</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s common stock issued in exchange for services is valued at estimated fair market value based upon trading prices of the
Company&#8217;s common stock on the dates of the stock transactions. The corresponding expense of the services rendered is recognized
over the period that the services are performed.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</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_CompensationRelatedCostsPolicyTextBlock', window );">Stock-based Compensation</a></td>
<td class="text"><p id="xdx_84F_eus-gaap--CompensationRelatedCostsPolicyTextBlock_zm3fhx8wLSMj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(j)
<i><span id="xdx_867_zQihUHSxtFka">Stock-based Compensation</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company recognizes compensation expense for all share-based payments in accordance with FASB Codification Topic 718, <i>Compensation
&#8212; Stock Compensation</i> (ASC 718). Under the fair value recognition provisions of ASC 718, the Company recognizes share-based
compensation expense, net of an estimated forfeiture rate, over the requisite service period of the award.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair value at grant date of stock options is estimated using the Black-Scholes option-pricing model. Compensation expense is recognized
on a straight-line basis over the stock option vesting period based on the estimated number of stock options that are expected to vest.
Shares are issued from treasury upon exercise of stock options.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_ComprehensiveIncomePolicyPolicyTextBlock', window );">Other Comprehensive Income</a></td>
<td class="text"><p id="xdx_84E_eus-gaap--ComprehensiveIncomePolicyPolicyTextBlock_zhETH9DCsXRb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(k)
<i><span id="xdx_864_zZiKZIJERqIl">Other Comprehensive Income</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
comprehensive income refers to revenues, expenses, gains and losses that under generally accepted accounting principles are included
in comprehensive income, but are excluded from net income as these amounts are recorded directly as an adjustment to stockholders&#8217;
equity. The Company&#8217;s other comprehensive income is comprised only of unrealized foreign exchange gains and losses related to the
translation of subsidiaries&#8217; functional currency into the reporting currency.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</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_EarningsPerSharePolicyTextBlock', window );">Income Per Share</a></td>
<td class="text"><p id="xdx_84F_eus-gaap--EarningsPerSharePolicyTextBlock_z31pOn9hOJoc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(l)
<i><span id="xdx_861_zZcstvs2lSf2">Income Per Share</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Basic
earnings per share is computed by dividing income available to common stockholders by the weighted average number of common shares outstanding
in the period. Diluted earnings per share are calculated giving effect to the potential dilution of the exercise of options and warrants.
Common equivalent shares, composed of incremental common shares issuable upon the exercise of stock options and warrants are included
in diluted net income per share to the extent that these shares are dilutive. Common equivalent shares that have an anti-dilutive effect
on net income (loss) per share have been excluded from the calculation of diluted weighted average shares outstanding for the years ended
December 31, 2023 and 2022.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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</a></td>
<td class="text"><p id="xdx_844_eus-gaap--UseOfEstimates_zPrJV4zzeON3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(m)
<i><span id="xdx_86D_zMAJ53TEfp74">Use of Estimates</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States requires
management to make estimates and assumptions that affect the reported amounts of 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 and would impact the results of operations and cash flows.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 35.45pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Estimates
and underlying assumptions are reviewed at each period end. Revisions to accounting estimates are recognized in the period in which the
estimates are revised and in any future periods affected.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Significant
areas requiring the use of management estimates include assumptions and estimates relating to the valuation of goodwill and
intangible assets, valuation of assets acquired at fair value, asset impairment analysis, share-based payments, valuation allowances
for deferred income tax assets, determination of useful lives of property, equipment and leaseholds and intangible assets,
recoverability of accounts receivable, recoverability of investments, discount rates for right of use assets and the costing and
recoverable value of inventory.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</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_FairValueOfFinancialInstrumentsPolicy', window );">Fair Value of Financial Instruments</a></td>
<td class="text"><p id="xdx_84F_eus-gaap--FairValueOfFinancialInstrumentsPolicy_zCKbiw9W3gUe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(n)
<i><span id="xdx_861_z3FaxIoLpJvb">Fair Value of Financial Instruments</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Fair
value is defined as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal
or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date.
Valuation techniques used to measure fair value must maximize the use of observable inputs and minimize the use of unobservable inputs.
The standard describes a fair value hierarchy based on three levels of inputs described below, of which the first two are considered
observable and the last unobservable, that may be used to measure fair value.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
    1 &#8211; Quoted prices in active markets for identical assets or liabilities.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
    2 &#8211; Inputs other than Level 1 that are observable, either directly or indirectly, such as quoted prices for similar assets
    or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable
    market data for substantially the full term of the assets or liabilities.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
    3 &#8212; Unobservable inputs that are supported by little or no market activity which is significant to the fair value of the assets
    or liabilities.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair values of cash, term deposits, accounts receivable, accounts payable, accrued liabilities and the short term line of credit for
all periods presented approximate their respective carrying amounts due to the short term nature of these financial instruments.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair value of the long term debt and lease liabilities for all periods presented approximate their respective carrying amounts due to
these financial instruments being at market rates.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_CommitmentsAndContingenciesPolicyTextBlock', window );">Contingencies</a></td>
<td class="text"><p id="xdx_84B_eus-gaap--CommitmentsAndContingenciesPolicyTextBlock_zO1q5Qas9Ohg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(o)
<i><span id="xdx_86B_z0o73eY1OQPa">Contingencies</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certain
conditions may exist as of the date the consolidated financial statements are issued which may result in a loss to the Company but which
will only be resolved when one or more future events occur or fail to occur. The Company&#8217;s management and its legal counsel assess
such contingent liabilities, and such assessment inherently involves an exercise of judgment. In assessing loss contingencies related
to legal proceedings that are pending against the Company or unasserted claims that may result in such proceedings, the Company&#8217;s
legal counsel evaluates the perceived merits of any legal proceedings or unasserted claims as well as the perceived merits of the amount
of relief sought or expected to be sought therein.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">If
the assessment of a contingency indicates that it is probable that a material loss has been incurred and the amount of the liability
can be estimated, the estimated liability would be accrued in the Company&#8217;s consolidated financial statements. If the assessment
indicates that a potential material loss contingency is not probable, but is reasonably possible, or is probable but cannot be estimated,
then the nature of the contingent liability, together with an estimate of the range of possible loss if determinable and material, would
be disclosed.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Loss
contingencies considered remote are generally not disclosed unless they involve guarantees, in which case the guarantees would be disclosed.
Legal fees associated with loss contingencies are expensed as incurred. The Company is not aware of any contingencies at the date of
these consolidated financial statements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</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 Taxes</a></td>
<td class="text"><p id="xdx_848_eus-gaap--IncomeTaxPolicyTextBlock_zCfPWNbC3537" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(p)
<i><span id="xdx_868_zRKWgeTB6uqa">Income Taxes</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Income
taxes are computed by multiplying the Company&#8217;s taxable net income by the Company&#8217;s effective tax rates. Deferred income
tax assets and liabilities are recognized for the future tax consequences attributable to differences between the consolidated financial
statement carrying amounts of existing assets and liabilities and their respective tax bases, and operating loss carry-forwards, if any.
Deferred income tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which
those temporary differences are expected to be recovered or settled. The effect on deferred income tax assets and liabilities of a change
in tax rates is recognized in income in the period that includes the enactment date. A valuation allowance is provided to reduce the
carrying amount of deferred income tax assets if it is considered more likely than not that some portion, or all, of the deferred income
tax assets will not be realized.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
accordance with FASB Codification Topic 740, <i>Income taxes</i> (ASC 740) under the liability method, it is the Company&#8217;s policy
to provide for uncertain tax positions and the related interest and penalties based upon management&#8217;s assessment of whether a tax
benefit is more likely than not to be sustained upon examination by tax authorities. At December 31, 2023, the Company believes it has
appropriately accounted for any unrecognized tax benefits. To the extent the Company prevails in matters for which a liability for an
unrecognized benefit is established or is required to pay amounts in excess of the liability, the Company&#8217;s effective tax rate
in a given financial statement period may be affected. Interest and penalties associated with the Company&#8217;s tax positions are recorded
as interest expense in the consolidated statements of income and comprehensive income.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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 );">Risk Management</a></td>
<td class="text"><p id="xdx_849_eus-gaap--ConcentrationRiskCreditRisk_zyN75VQ7gh4g" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(q)
<i><span id="xdx_867_zLc9Btx4n2I1">Risk Management</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s credit risk is primarily attributable to its accounts receivable. The amounts presented in the accompanying consolidated
balance sheets are net of allowances for doubtful accounts, estimated by the Company&#8217;s management based on prior experience and
the current economic environment. The Company is exposed to credit-related losses in the event of non-payment by customers. Credit exposure
is minimized by dealing with only credit worthy counterparties.. Revenue for the Company&#8217;s three primary customers totaled $<span id="xdx_908_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zlK2hjD0gND1" title="Sales">20,482,798</span>
(<span id="xdx_903_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zaaB9xAxdoF8" title="Accounts receivable, after allowance for credit loss">53</span>%) for the year ended December 31, 2023 (2022 - $<span id="xdx_90C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zf9GtvZnSwgj" title="Sales">27,775,616</span> or <span id="xdx_903_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_z7vFR6y5thx3" title="Accounts receivable, after allowance for credit loss">61</span>%). Accounts receivable for the Company&#8217;s three primary customers
totaled $<span id="xdx_903_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_z7xqzWiIU5j6" title="Sale">6,561,164</span> (<span id="xdx_90E_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zz5uZIR3fuG2" title="Accounts receivable, after allowance for credit loss, percentage">67</span>%) at December 31, 2023 (2022 - $<span id="xdx_902_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zOqkKntT3LYd" title="Sale">6,124,424</span> or <span id="xdx_90B_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_znlM6IW2Ryxa" title="Accounts receivable, after allowance for credit loss, percentage">65</span>%).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
credit risk on cash is limited because the Company limits its exposure to credit loss by placing its cash with major financial institutions.
The Company maintains cash balances at financial institutions which at times exceed federally insured amounts. The Company has not experienced
any losses in such accounts.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company is exposed to foreign risk to the extent that market value rate fluctuations materially differ for financial assets and liabilities
denominated in foreign currencies.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
order to manage its exposure to foreign exchange risks, the Company is closely monitoring the fluctuations in the foreign currency exchange
rates and the impact on the value of cash, accounts receivable, and accounts payable and accrued liabilities. The Company has not hedged
its exposure to currency fluctuations.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company is exposed to interest rate risk to the extent that the fair value or future cash flows for financial liabilities will
fluctuate as a result of changes in market interest rates. The Company is exposed to interest rate risk on its long-term debt
subject to fixed long-term interest rates.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 24.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
order to manage its exposure to interest rate risk, the Company is closely monitoring fluctuations in market interest risks and will
refinance its long-term debt where possible to obtain more favourable rates.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</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_EquityMethodInvestmentsPolicy', window );">Equity Method Investment</a></td>
<td class="text"><p id="xdx_845_eus-gaap--EquityMethodInvestmentsPolicy_zF3GEOqdAXw2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(r)
<i><span id="xdx_868_zpkYaWkuSg2f">Equity Method Investment</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company accounts for investments using the equity method of accounting if the investment provides the Company the ability to exercise
significant influence, but not control, over the investee. <span id="xdx_903_eus-gaap--EquityMethodInvestmentDescriptionOfPrincipalActivities_c20230101__20231231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--InvestmentMember_z8BhVWPbtCde" title="Equity method investment, description">Significant influence is generally deemed to exist if the Company&#8217;s
ownership interest in the voting stock of the investee ranges between 20% and 50%, although other factors, such as representation on
the investee&#8217;s board of directors, are considered in determining whether the equity method of accounting is appropriate.</span> Under
the equity method of accounting, the investment is initially recorded at cost in the consolidated balance sheets under other assets and
adjusted for dividends received and the Company&#8217;s share of the investee&#8217;s earnings or losses together with other-than-temporary
impairments which are recorded through other income (loss), net in the consolidated statements of operations and comprehensive income
(loss).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 24.5pt; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_GoodwillAndIntangibleAssetsPolicyTextBlock', window );">Goodwill and Intangible Assets</a></td>
<td class="text"><p id="xdx_846_eus-gaap--GoodwillAndIntangibleAssetsPolicyTextBlock_zxVd74izAea8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(s)
<i><span id="xdx_864_zheBWOjblqZ5">Goodwill and Intangible Assets</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Goodwill
represents the excess of the purchase price of an acquired entity over the amounts assigned to the assets acquired and liabilities assumed.
Goodwill is not amortized, but is reviewed for impairment annually or more frequently if certain impairment conditions arise. The Company
performs an annual goodwill impairment review in the fourth quarter of each year at the reporting unit level. The evaluation begins with
a qualitative assessment of the factors that could impact the significant inputs used to estimate fair value. If after performing the
qualitative assessment, it is determined that it is more likely than not that the fair value of a reporting unit is greater than its
carrying amount, including goodwill, then no further analysis is necessary. However, if the results of the qualitative test are unclear,
the Company performs a quantitative test, which involves comparing the fair value of a reporting unit with its carrying amount, including
goodwill. The Company uses an income-based valuation method, determining the present value of future cash flows, to estimate the fair
value of a reporting unit. If the fair value of a reporting unit exceeds its carrying amount, goodwill of the reporting unit is considered
not impaired, and no further analysis is necessary. If the fair value of the reporting unit is less than its carrying amount, goodwill
impairment would be recognized equal to the amount of the carrying value in excess of the reporting unit&#8217;s fair value, limited
to the total amount of goodwill allocated to the reporting unit.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Intangible
assets primarily include trademarks and trade secrets with indefinite lives and customer-relationships with finite lives. Intangible
assets with indefinite lives are not amortized but are tested for impairment on an annual basis, or more frequently if indicators of
impairment are present. Indefinite lived intangible assets are assessed using either a qualitative or a quantitative approach. The qualitative
assessment evaluates factors including macro-economic conditions, industry and company-specific factors, legal and regulatory environments,
and historical company performance in assessing fair value. If it is determined that it is more likely than not that the fair value of
the intangible asset is less than its carrying value, a quantitative test is then performed. Otherwise, no further testing is required.
When using a quantitative approach, the Company compares the fair value of the intangible asset to its carrying amount. If the estimated
fair value of the intangible asset is less than the carrying amount of the intangible asset, impairment is indicated, requiring recognition
of an impairment charge for the differential.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
accordance with FASB Codification Topic 350, <i>Intangibles &#8211; Goodwill and Other, </i>(ASC 350), qualitative assessments of goodwill
and indefinite-lived intangible assets were performed in 2023 and 2022. Based on the results of the assessment, it was determined that
it is more likely than not the reporting unit, customer lists and trademarks had a fair value in excess of their carrying amounts. Accordingly,
no further impairment testing was completed and no impairment charges related to goodwill or indefinite-lived intangibles were recognized
during the year ended December 31, 2023.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Finite-lived
intangible assets are amortized on a straight-line basis over their estimated useful lives. The Company reviews for impairment indicators
of finite-lived intangibles and other long-lived assets as described in the &#8220;Impairment of Long Lived Assets&#8221; significant
accounting policy.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</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_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recent Accounting Pronouncements</a></td>
<td class="text"><p id="xdx_841_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zjgFaftywJb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(t)
<i><span id="xdx_86E_z74U7GcOXlAh">Recent Accounting Pronouncements</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 45.8pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has implemented all applicable new accounting pronouncements that are in effect. Those pronouncements did not have any material
impact on the consolidated financial statements unless otherwise disclosed, and the Company does not believe that there are any other
new accounting pronouncements that have been issued that might have a material impact on its financial position or results of operations.</span></p>
<p id="xdx_8A7_zs0ibXpQSo6d" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_StockIssuedInExchangeForServicesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Stock Issued In Exchange For Services [Policy Text Block]</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;">FSI_StockIssuedInExchangeForServicesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_TermDepositsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Deposits [Policy Text Block]</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;">FSI_TermDepositsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_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> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-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;">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_CommitmentsAndContingenciesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 commitments and contingencies, which may include policies for recognizing and measuring loss and gain contingencies.</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> -Topic 954<br> -SubTopic 450<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480598/954-450-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesPolicyTextBlock</td>
</tr>
<tr>
<td style="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_CompensationRelatedCostsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 salaries, bonuses, incentive awards, postretirement and postemployment benefits granted to employees, including equity-based arrangements; discloses methodologies for measurement, and the bases for recognizing related assets and liabilities and recognizing and reporting compensation expense.</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> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b),(f(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">us-gaap_CompensationRelatedCostsPolicyTextBlock</td>
</tr>
<tr>
<td style="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_ComprehensiveIncomePolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 comprehensive income.</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_ComprehensiveIncomePolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 825<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480981/942-825-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-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;">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_EarningsPerSharePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.</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> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-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;">us-gaap_EarningsPerSharePolicyTextBlock</td>
</tr>
<tr>
<td style="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_EquityMethodInvestmentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 equity method of accounting for investments and other interests. Investment includes, but is not limited to, unconsolidated subsidiary, corporate joint venture, noncontrolling interest in real estate venture, limited partnership, and limited liability company. Information includes, but is not limited to, ownership percentage, reason equity method is or is not considered appropriate, and accounting policy election for distribution received.</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> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 21D<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-21D<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentsPolicy</td>
</tr>
<tr>
<td style="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> -Name Accounting Standards Codification<br> -Section 60<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 820<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482053/820-10-60-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 825<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-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;">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> -Topic 830<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//830/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_GoodwillAndIntangibleAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of 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> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 30<br> -Topic 350<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-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;">us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="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> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.CC)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480091/360-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 4<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482338/360-10-05-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-17<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-25<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-28<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-19<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483489/210-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 330<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482105/912-330-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//330/tableOfContent<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483080/330-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483080/330-10-50-4<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 270<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482989/270-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 estimated allowance for doubtful accounts for premium amounts due from policyholders, insureds, and other insurance entities. May include factors that management considered, such as historical loss experience and current economic and competitive conditions.</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_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy</td>
</tr>
<tr>
<td style="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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-6<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-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;">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_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> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-19<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-18<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-18<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-20<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-20<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-20<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-20<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org//606/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-9<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-12<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>43
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496273871680">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SIGNIFICANT ACCOUNTING POLICIES (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_ScheduleOfMethodOfDepreciationTableTextBlock', window );">SCHEDULE OF METHOD OF DEPRECIATION</a></td>
<td class="text"><p id="xdx_898_ecustom--ScheduleOfMethodOfDepreciationTableTextBlock_zVBeFgK8B2Z7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following assets are recorded at cost and depreciated using the methods and annual rates shown below:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BC_zO3YsMi3z765" style="display: none">SCHEDULE OF METHOD OF DEPRECIATION</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; width: 80%; border-collapse: collapse; margin-right: auto">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Computer
    hardware</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90E_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zT4QBkeYUUek" title="Depreciation method used and annual rate">30%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Manufacturing
    equipment</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_908_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zPSeyFrBmyN2" title="Depreciation method used and annual rate">20%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Office
    equipment</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_znJ8hnljVGKk" title="Depreciation method used and annual rate">20%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Boat</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_909_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--BoatMember_zdvHZ2ZdFeU8" title="Depreciation method used and annual rate">20%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Building
    and improvements</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90D_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zuGTqJXw06dj" title="Depreciation method used and annual rate">10%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Trailer</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_907_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TrailerMember_z5c6SDFzPmLa" title="Depreciation method used and annual rate">30%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Automobiles</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_908_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zSE2lmNOLeIl" title="Depreciation method used and annual rate">Straight-line
    over 5 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Patents</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_903_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PatentsMember_zKDlSd0Upm52" title="Depreciation method used and annual rate">Straight-line
    over 17 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Technology</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--TechnologyEquipmentMember_zHfl3DWLmuy" title="Depreciation method used and annual rate">Straight-line
    over 10 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Leasehold
    improvements</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_909_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zHQnps9u9KM9" title="Depreciation method used and annual rate">Straight-line
    over lease term</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Customer
    relationships </span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90F_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--CustomerRelationshipsMember_zYGvPmg3ddp5" title="Depreciation method used and annual rate">Straight-line
    over 15 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Software
    </span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--SoftwareMember_zd7AbxOppGi" title="Depreciation method used and annual rate">Straight-line
    over 3 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  </table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_ScheduleOfMethodOfDepreciationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule Of Method Of Depreciation [Table Text Block]</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;">FSI_ScheduleOfMethodOfDepreciationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496270700336">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LEASES (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_FSI_DisclosureLeasesAbstract', window );"><strong>Leases</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_FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock', window );">SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY</a></td>
<td class="text"><p id="xdx_894_ecustom--SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock_zlDgH1niMHmk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
table below summarizes the right-of-use asset and lease liability for the years ended December 31, 2023 and 2022:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B5_z1e7VYU7fgl7" style="display: none">SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; font-weight: bold"><span style="text-decoration: underline">Right of Use Assets</span></td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 80%">Balance at December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_989_eus-gaap--OperatingLeaseRightOfUseAsset_iS_pp0p0_c20220101__20221231_zNsx1BRW0I57" style="width: 16%; text-align: right" title="Right of use assets, beginning balance">217,267</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Depreciation</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_pp0p0_di_c20220101__20221231_z7WLA8WA7E7l" style="border-bottom: Black 1.5pt solid; text-align: right" title="Depreciation">(50,045</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance at December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_984_eus-gaap--OperatingLeaseRightOfUseAsset_iS_pp0p0_c20230101__20231231_zHelnaFwUW93" style="text-align: right" title="Right of use assets, beginning balance">167,222</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Depreciation</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_pp0p0_di_c20230101__20231231_zQa8fE2Ku7sd" style="border-bottom: Black 1.5pt solid; text-align: right" title="Depreciation">(51,929</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Balance at December 31, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_986_eus-gaap--OperatingLeaseRightOfUseAsset_iE_pp0p0_c20230101__20231231_zzt6WcVX8F76" style="border-bottom: Black 1.5pt solid; text-align: right" title="Right of use assets, ending balance">115,293</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-decoration: underline; font-weight: bold; text-align: left">Lease Liability</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance at December 31, 2021</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_983_eus-gaap--OperatingLeaseLiability_iS_pp0p0_c20220101__20221231_zYSwCQcucFLb" style="text-align: right" title="Lease liability, beginning balance">217,267</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Lease interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_ecustom--LeaseInterestExpense_pp0p0_c20220101__20221231_zLy6RJyl8xB4" style="text-align: right" title="Lease interest expense">8,566</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Payments</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--OperatingLeasePayments_iN_pp0p0_di_c20220101__20221231_zVqMTVjOuqnd" style="border-bottom: Black 1.5pt solid; text-align: right" title="Payments">(58,611</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance at December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98B_eus-gaap--OperatingLeaseLiability_iS_pp0p0_c20230101__20231231_zu0sQpN316U" style="text-align: right" title="Lease liability, beginning balance">167,222</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Lease interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_ecustom--LeaseInterestExpense_pp0p0_c20230101__20231231_z93S0vJ2v7Zj" style="text-align: right" title="Lease interest expense">6,151</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Payments</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--OperatingLeasePayments_iN_pp0p0_di_c20230101__20231231_zv7Dm90bR8V3" style="border-bottom: Black 1.5pt solid; text-align: right" title="Payments">(58,080</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Balance at December 31, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_986_eus-gaap--OperatingLeaseLiability_iE_pp0p0_c20230101__20231231_zHPlPGsShB65" style="border-bottom: Black 1.5pt solid; text-align: right" title="Lease liability, ending balance">115,293</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Short-term portion</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98A_eus-gaap--OperatingLeaseLiabilityCurrent_iI_pp0p0_c20231231_zRQtKNsaMov6" style="text-align: right" title="Short-term portion">59,520</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Long-term portion</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--OperatingLeaseLiabilityNoncurrent_iI_pp0p0_c20231231_zdme93HyaJ84" style="border-bottom: Black 1.5pt solid; text-align: right" title="Long-term portion">55,773</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Total</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98A_eus-gaap--OperatingLeaseLiability_iI_pp0p0_c20231231_z8sC2hOboJ07" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total">115,293</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </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_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">SCHEDULE OF UNDISCOUNTED RENT PAYMENTS</a></td>
<td class="text"><p id="xdx_892_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_z2oVxzquEZBj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Undiscounted
rent payments are as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B9_zv1hO7Ulz2bb" style="display: none">SCHEDULE OF UNDISCOUNTED RENT PAYMENTS</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 75%; margin-right: auto">
  <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_498_20231231_zLio0l23jKGi" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_pp0p0_maLOLLPz6zC_zAcfWEiDP473" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: justify">2024</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">59,520</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_pp0p0_maLOLLPz6zC_zPlrlgVdc0u8" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 1.5pt">2025</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">61,020</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPz6zC_zlvazT3P1Loc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Total</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">120,540</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_pp0p0_di_zwOAAYUX3pUl" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 1.5pt">Impact of discounting</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(5,247</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40F_eus-gaap--OperatingLeaseLiability_iI_zqhSKh8a5YC5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 1.5pt">Lease liability, December 31, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">115,293</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_DisclosureLeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">FSI_DisclosureLeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Summary Of Right of use Asset And Lease Liability [Table Text Block]</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;">FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.</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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="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>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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496274704944">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ACCOUNTS RECEIVABLE (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_ReceivablesAbstract', window );"><strong>Receivables [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_AccountsReceivableAllowanceForCreditLossTableTextBlock', window );">SCHEDULE OF ACCOUNTS RECEIVABLE</a></td>
<td class="text"><p id="xdx_893_eus-gaap--AccountsReceivableAllowanceForCreditLossTableTextBlock_zeAoTYhZWHs6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BA_zE5q8ZcBERn7" style="display: none">SCHEDULE OF ACCOUNTS RECEIVABLE</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_496_20231231_zm8DqbHSwNtf" style="border-bottom: Black 1.5pt solid; text-align: center">2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20221231_z2OKoYFK4vS7" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--AccountsReceivableGross_iI_pp0p0_maAANRNzPjC_ze81jG1vekNi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Accounts receivable</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">10,133,249</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">9,739,150</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables_iNI_pp0p0_di_msAANRNzPjC_zWuEiPqbMp07" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Allowances for doubtful accounts</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(290,193</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(289,293</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40E_eus-gaap--AccountsAndNotesReceivableNet_iTI_pp0p0_mtAANRNzPjC_z2J93cSIDGqe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Total accounts receivable</span></td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">9,843,056</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">9,449,857</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </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_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> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ReceivablesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ReceivablesAbstract</td>
</tr>
<tr>
<td style="padding-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>46
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496270834496">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INVENTORIES (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [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_ScheduleOfInventoryCurrentTableTextBlock', window );">SCHEDULE OF INVENTORY</a></td>
<td class="text"><p id="xdx_897_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_z9syRiM4Zja5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BF_zfBGRXop59Yg" style="display: none">SCHEDULE OF INVENTORY</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_491_20231231_zziPqIdoKx5c" style="border-bottom: Black 1.5pt solid; text-align: center">2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20221231_z7zDmvqnbiQ4" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--InventoryFinishedGoods_iI_pp0p0_maINzDiN_maINzkLt_z7H9Pt2S84xj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Completed goods</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">2,682,158</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">3,806,646</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--InventoryRawMaterialsAndSupplies_iI_pp0p0_maINzDiN_maINzkLt_z7xQSxrI1nS7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Raw materials and supplies</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">8,452,731</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">10,612,784</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--InventoryNet_iTI_pp0p0_mtINzkLt_zhbuBTa1ahV6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Total inventory</span></td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">11,134,889</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">14,419,430</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </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_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483489/210-10-50-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;">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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496274704944">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>PROPERTY, EQUIPMENT AND LEASEHOLDS (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [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_PropertyPlantAndEquipmentTextBlock', window );">SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS</a></td>
<td class="text"><p id="xdx_892_eus-gaap--PropertyPlantAndEquipmentTextBlock_z9hfDjJ2Smgi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B2_zMp9yJ2oGn3a" style="display: none">SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_484_eus-gaap--PropertyPlantAndEquipmentGross_iI_zJzU5HXXAFA2" style="text-align: center">2023</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_zAEMZ1XPhTWc" style="text-align: center">Accumulated</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zKd45XXpbAPj" style="text-align: center">2023</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Cost</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Depreciation</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Net</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_418_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zW9JorMp6n4f" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: left">Buildings and improvements</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">12,341,605</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">3,896,887</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">8,444,718</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_41A_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zokN7X2dvUW1" style="vertical-align: bottom; background-color: White">
    <td>Automobiles</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">196,255</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">140,040</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">56,215</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41D_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zGl4vhunxxv7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Computer hardware</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">43,493</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">43,123</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">370</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zUOhTK1XZmi1" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Office equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">134,130</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">121,925</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">12,205</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_410_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zApVGlQWcTJc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Manufacturing equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,008,395</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,791,615</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,216,780</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41A_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TrailerMember_zVq6firyuwJ1" style="vertical-align: bottom; background-color: White">
    <td>Trailers</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">9,071</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,164</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">907</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zh6X0yeHvRl8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Land</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">440,592</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0855">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">440,592</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41D_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zBnZ4mM9nZSe" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Leasehold improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">88,872</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">88,872</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0859">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_zl6ntHHjz9R2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Technology</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">103,292</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">103,292</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0862">&#8212;</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20231231_ziuf5yY1TtO4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cost">23,365,705</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98E_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20231231_zyKfrsQoATFb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Accumulated Depreciation">10,193,918</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_985_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20231231_zVTCIt4B15Q8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Property, plant and equipment, net, total">13,171,787</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_48C_eus-gaap--PropertyPlantAndEquipmentGross_iI_zv6fW8nK1csb" style="text-align: center">2022</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_zItwjS92R3J1" style="text-align: center">Accumulated</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zs2glnczE7Ba" style="text-align: center">2022</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Cost</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Depreciation</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Net</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_41A_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_znWKl18C3q65" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: left">Buildings and improvements</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">8,775,629</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">3,310,920</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">5,464,709</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_414_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zD7O8jqZso03" style="vertical-align: bottom; background-color: White">
    <td>Automobiles</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">196,255</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">107,055</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">89,200</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_419_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zKDbEiJLwtI1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Computer hardware</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">43,432</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">42,663</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">769</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41D_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_z1HjNyl9Pgke" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Office equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">133,280</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">112,782</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">20,498</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_410_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zLo1jvYOVoy2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Manufacturing equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,634,063</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,891,736</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,742,327</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_419_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TrailerMember_zv4d8beYz2J7" style="vertical-align: bottom; background-color: White">
    <td>Trailers</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,857</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,592</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,265</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41F_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--BoatMember_z3hozINCuUe2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Boat</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">34,400</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">27,907</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">6,493</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_418_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_ze2KjGHdZkkc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Leasehold improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">88,872</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">88,872</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0892">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_410_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_z39rOWKujXp" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Technology</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">100,860</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">100,860</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0895">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_415_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zRXZzvODK82g" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Land</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">384,027</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0897">&#8212;</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">384,027</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_986_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20221231_zx6MLdIip9m" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cost">18,399,675</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98A_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20221231_zAQpNE9NbSRi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Accumulated Depreciation">8,690,387</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98A_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20221231_zyKr8nRQnx83" style="border-bottom: Black 1.5pt solid; text-align: right" title="Property, plant and equipment, net, total">9,709,288</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </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_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-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_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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-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;">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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496367418736">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>PATENTS (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [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_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock', window );">SCHEDULE OF PATENTS</a></td>
<td class="text"><p id="xdx_895_eus-gaap--ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_z97yVHfaMxH6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B5_zlmIy0GERJT7" style="display: none">SCHEDULE OF PATENTS</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font: small-caps 10pt Times New Roman, Times, Serif">2023</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cost</span></p></td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Accumulated <br/> Amortization</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font: small-caps 10pt Times New Roman, Times, Serif">2023</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net</span></p></td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; padding-bottom: 1.5pt">Patents</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td id="xdx_982_eus-gaap--FiniteLivedPatentsGross_iI_pp0p0_c20231231_z3Hsxnrmdzcb" style="border-bottom: Black 1.5pt solid; width: 14%; text-align: right" title="Patents, cost">200,444</td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td id="xdx_986_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20231231_z73dTGamhpLl" style="border-bottom: Black 1.5pt solid; width: 14%; text-align: right" title="Patents, Accumulated amortization">200,444</td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="width: 2%; font-variant: small-caps; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; font-variant: small-caps; text-align: left">$</td><td id="xdx_986_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pp0p0_c20231231_zp3Y3mOZcjQi" style="border-bottom: Black 1.5pt solid; width: 14%; font-variant: small-caps; text-align: right" title="Patents, net"><span style="-sec-ix-hidden: xdx2ixbrl0920">-</span></td><td style="width: 1%; padding-bottom: 1.5pt; font-variant: small-caps; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font: small-caps 10pt Times New Roman, Times, Serif">2022</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cost</span></p></td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Accumulated <br/> Amortization</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font: small-caps 10pt Times New Roman, Times, Serif">2022</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net</span></p></td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; padding-bottom: 1.5pt">Patents</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td id="xdx_984_eus-gaap--FiniteLivedPatentsGross_iI_pp0p0_c20221231_zdStCAgF5ZWk" style="border-bottom: Black 1.5pt solid; width: 14%; text-align: right" title="Patents, cost">195,725</td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td id="xdx_980_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20221231_zUvjX4mHvnd" style="border-bottom: Black 1.5pt solid; width: 14%; text-align: right" title="Patents, Accumulated amortization">195,725</td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="width: 2%; font-variant: small-caps; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; font-variant: small-caps; text-align: left">$</td><td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pp0p0_c20221231_zEck1WeAQxc4" style="border-bottom: Black 1.5pt solid; width: 14%; font-variant: small-caps; text-align: right" title="Patents, net"><span style="-sec-ix-hidden: xdx2ixbrl0926">-</span></td><td style="width: 1%; padding-bottom: 1.5pt; font-variant: small-caps; text-align: left">&#160;</td></tr>
  </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_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.</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> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-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;">us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock</td>
</tr>
<tr>
<td style="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>49
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496273663968">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>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, 2023</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_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [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_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock', window );">SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS</a></td>
<td class="text"><p id="xdx_890_eus-gaap--ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock_zBJBlXNhDt67" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B0_zaInGLLHi3pe" style="display: none">SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Goodwill</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 80%; padding-bottom: 1.5pt">Balance as of December 31, 2022 and 2023</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; width: 16%; text-align: right"><span id="xdx_90B_eus-gaap--Goodwill_iI_c20221231_zHLp47ZW8RJ7" title="Goodwill"><span id="xdx_90F_eus-gaap--Goodwill_iI_c20231231_zDT39hCgiSd4" title="Goodwill">2,534,275</span></span></td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Indefinite Lived Intangible Assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Balance as of December 31, 2022 and 2023</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span id="xdx_90E_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20221231_zbfl1nJF5Ysl" title="Indefinite lived intangible assets"><span id="xdx_90D_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20231231_z9QiWu1rTzAj" title="Indefinite lived intangible assets">770,000</span></span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Goodwill
relates to the acquisition of ENP Investments. Indefinite lived intangible assets consist of trade secrets and trademarks related to
the acquisition of ENP Investments.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Definite Life Intangible Assets</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 80%">Balance as of December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_986_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iS_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_z1PjpiKMEQ95" style="width: 16%; text-align: right" title="Indefinite lived intangible assets, beginning balance">1,830,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Amortization</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--AmortizationOfIntangibleAssets_iN_pp0p0_di_c20220101__20221231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zffcM9BxdVil" style="border-bottom: Black 1.5pt solid; text-align: right" title="Amortization">(160,000</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance as of December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iS_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zbemGuW7ZXi7" style="text-align: right" title="Indefinite lived intangible assets, beginning balance">1,670,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Amortization</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--AmortizationOfIntangibleAssets_iN_pp0p0_di_c20230101__20231231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zc0Y0olCcFY2" style="border-bottom: Black 1.5pt solid; text-align: right" title="Amortization">(160,000</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Balances as of December 31, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_989_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iE_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zGn1Ec8E8Hqd" style="border-bottom: Black 1.5pt solid; text-align: right" title="Indefinite lived intangible assets, ending balance">1,510,000</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </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_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock', window );">SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE</a></td>
<td class="text"><p id="xdx_891_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_zRuk9xFAUxZe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Estimated
amortization expense over the next five years is as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B3_zy5T7bkoZ7vb" style="display: none">SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: justify">2024</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98A_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_c20231231__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zdujQEwvyUej" style="width: 16%; text-align: right" title="2024">160,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">2025</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_c20231231__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zGdec5kEhNqh" style="text-align: right" title="2025">160,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">2026</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_pp0p0_c20231231__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_z9HzMCmCqSah" style="text-align: right" title="2026">160,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">2027</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_iI_pp0p0_c20231231__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zEEGR8DvvxH2" style="text-align: right" title="2027">160,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 1.5pt">2028</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_iI_pp0p0_c20231231__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zrmAVu8INPji" style="border-bottom: Black 1.5pt solid; text-align: right" title="2028">160,000</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </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_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and intangible assets, which may be broken down by segment or major class.</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> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-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;">us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock</td>
</tr>
<tr>
<td style="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_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived 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> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-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;">us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock</td>
</tr>
<tr>
<td style="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>50
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496270732608">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LONG TERM DEPOSITS (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_FSI_DisclosureLongTermDepositsAbstract', window );"><strong>Long Term Deposits</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_FSI_ScheduleOfLongTermDepositsTableTextBlock', window );">SCHEDULE OF LONG TERM DEPOSITS</a></td>
<td class="text"><p id="xdx_895_ecustom--ScheduleOfLongTermDepositsTableTextBlock_zZo1XJh12nhh" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has security deposits that are long term in nature which consist of damage deposits held by landlords and deposits held by various
vendors for equipment purchases.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B3_zuP9hB5ggUWe" style="display: none">SCHEDULE OF LONG TERM DEPOSITS</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49F_20231231_zX2JxTGtiUF5" style="border-bottom: Black 1.5pt solid; text-align: center">2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_490_20221231_zHOuGk95LWok" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 60%">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--DepositsAssetsNoncurrent_iI_pp0p0" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Long term deposits</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">824,254</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">8,540</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_DisclosureLongTermDepositsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">FSI_DisclosureLongTermDepositsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_ScheduleOfLongTermDepositsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule Of Long Term Deposits [Table Text Block]</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;">FSI_ScheduleOfLongTermDepositsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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>51
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496273029872">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INVESTMENTS (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_dei_LegalEntityAxis=FSI_EnpPeruInvestmentsLlcMember', window );">ENP Peru Investments LLC [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_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock', window );">SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED</a></td>
<td class="text"><p id="xdx_890_eus-gaap--ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_hdei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zQ91xC8p30vg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B3_zu46PcJcgPbd" style="display: none">SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_49D_20220101__20221231_z5jQSYaOJCOd" style="border-bottom: Black 1.5pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--BusinessCombinationConsiderationTransferred1_zct7Ab2Jst9e" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left; padding-bottom: 1.5pt">Purchase consideration</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; width: 16%; text-align: right">506,659</td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Assets acquired:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_iE_z9sw3ADdW2G5" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Cash</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,330</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings_iE_zHSXfFm9u15c" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Building</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,750,000</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand_iE_zh6wPIdzjROf" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Land</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">150,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Liabilities assumed:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_iNE_di_zjAuijmegUFj" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Deferred tax liability</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(174,582</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_404_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt_iE_zmy85SIoX2qf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Long term debt</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(2,849,500</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_404_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_iE_zJpvwzZgxoMk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Total identifiable net assets:</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">883,248</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice_iE_zd7bCJ63OPB3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Excess of assets acquired over consideration</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">376,589</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_ecustom--InvestmentEliminatedUponConsolidation_zdsYV2TJLlQh" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Less investment eliminated upon consolidation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(41,538</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40D_ecustom--GainOnAcquisitionOfSubsidiary_zr7VRlvKN7X4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Gain on acquisition of ENP Peru</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">335,051</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </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_EquityMethodInvestmentsTextBlock', window );">SCHEDULE OF EQUITY METHOD INVESTMENT</a></td>
<td class="text"><p id="xdx_89B_eus-gaap--EquityMethodInvestmentsTextBlock_hdei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zkPG1T5i21M3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.7in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">A
summary of the Company&#8217;s investment follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BD_zZ2KvCnWiJYi" style="display: none">SCHEDULE OF EQUITY METHOD INVESTMENT</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Balance, December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_982_eus-gaap--EquityMethodInvestments_iS_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zZbWdvc6Bezj" style="width: 16%; text-align: right" title="Balance, Beginning">3,822</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Return of equity</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_ecustom--EquityMethodInvestmentReturnOfEquity_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zPK6urRBgBC" style="text-align: right" title="Return of equity">(3,822</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Gain in equity method investment</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zpgAdZQdeEje" style="border-bottom: Black 1.5pt solid; text-align: right" title="Gain in equity method investment">22,642</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance, December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--EquityMethodInvestments_iS_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zKj8bZzQc3T" style="text-align: right" title="Balance, Beginning">22,642</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Return of equity</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_ecustom--EquityMethodInvestmentReturnOfEquity_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zecLsgfoL613" style="text-align: right" title="Return of equity">(8,750</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gain in equity method investment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zkOxS6yt59X8" style="text-align: right" title="Gain in equity method investment">27,646</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Investment eliminated upon consolidation</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_ecustom--InvestmentEliminatedUponConsolidation_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zt5wl7uviFrg" style="border-bottom: Black 1.5pt solid; text-align: right" title="Investment eliminated upon consolidation">(41,538</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Balance, June 30 and December 31, 2023</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98A_eus-gaap--EquityMethodInvestments_iE_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zjDfMNT6ZcZd" style="border-bottom: Black 2.5pt double; text-align: right" title="Balance, Ending"><span style="-sec-ix-hidden: xdx2ixbrl1029">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<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_dei_LegalEntityAxis=FSI_FloridaBasedLLCMember', window );">Florida Based LLC [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_EquityMethodInvestmentsTextBlock', window );">SCHEDULE OF EQUITY METHOD INVESTMENT</a></td>
<td class="text"><p id="xdx_89F_eus-gaap--EquityMethodInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zBcRfXBObzA1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B3_zuFIOZ3V9HFj" style="display: none">SCHEDULE OF EQUITY METHOD INVESTMENT</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Balance, December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_983_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_z0rkB9ryz1Ci" style="width: 16%; text-align: right" title="Balance, Beginning">3,701,368</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gain in equity method investment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zoUnlbcdSon3" style="text-align: right" title="Gain in equity method investment">307,527</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Return of equity</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98C_ecustom--EquityMethodInvestmentReturnOfEquity_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zEzx14YKmsNj" style="border-bottom: Black 1.5pt solid; text-align: right" title="Return of equity">(250,000</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance, December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zgvC9CbHPM26" style="text-align: right" title="Balance, Beginning">3,758,895</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Gain in equity method investment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zwzVumZG65M8" style="text-align: right" title="Gain in equity method investment">505,065</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Return of equity</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_983_ecustom--EquityMethodInvestmentReturnOfEquity_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zXUUKkesFRsa" style="border-bottom: Black 1.5pt solid; text-align: right" title="Return of equity">(200,000</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Balance, December 31, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98D_eus-gaap--EquityMethodInvestments_iE_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zMPvER71W7c1" style="border-bottom: Black 1.5pt solid; text-align: right" title="Balance, Ending">4,063,960</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </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_GainLossOnInvestmentsTextBlock', window );">SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT</a></td>
<td class="text"><p id="xdx_890_eus-gaap--GainLossOnInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_z5OUi1zeuiRi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Summarized
profit and loss information related to the equity accounted investment is as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B6_z14Gjkb1grn1" style="display: none">SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_496_20230101__20231231_zTcwSnJg1Rx4" style="border-bottom: Black 1.5pt solid; text-align: center">2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_492_20220101__20221231_zE64trHLfcn1" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--GainsLossesOnSalesOfInvestmentRealEstate_zeEtqZUK0Yc8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Net sales</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">16,043,468</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">18,103,070</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--RealizedInvestmentGainsLosses_z19s7MbFSff" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gross profit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,668,177</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,204,311</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_ecustom--RealizedInvestmentGainsLossesNet_zZvTEYI0Dfch" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net income</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1,010,128</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">615,055</td><td style="text-align: left">&#160;</td></tr>
  </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_EquityMethodInvestmentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 equity method investments including, but not limited to, name of each investee or group of investments, percentage ownership, difference between recorded amount of an investment and the value of the underlying equity in the net assets, and summarized financial 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> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentsTextBlock</td>
</tr>
<tr>
<td style="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_GainLossOnInvestmentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 realized and unrealized gain (loss) on investment in 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/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(9)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-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;">us-gaap_GainLossOnInvestmentsTextBlock</td>
</tr>
<tr>
<td style="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_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 a material business combination completed during the period, including background, timing, and recognized assets and liabilities. This table does not include leveraged buyouts.</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> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479328/805-10-50-3<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479328/805-10-50-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;">us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock</td>
</tr>
<tr>
<td style="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_dei_LegalEntityAxis=FSI_EnpPeruInvestmentsLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">dei_LegalEntityAxis=FSI_EnpPeruInvestmentsLlcMember</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_dei_LegalEntityAxis=FSI_FloridaBasedLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">dei_LegalEntityAxis=FSI_FloridaBasedLLCMember</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>52
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496275040208">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LONG TERM DEBT (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [Abstract]</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_FSI_ScheduleOfLoanCovenantsTableTextBlock', window );">SCHEDULE OF LOAN COVENANTS</a></td>
<td class="text"><p id="xdx_892_ecustom--ScheduleOfLoanCovenantsTableTextBlock_zfZQ7xY4opDl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of December 31, 2023, Company was in compliance with all loan covenants.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BF_zB4uSIOEzVg2" style="display: none">SCHEDULE OF LOAN COVENANTS</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold">Continuity</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20230101__20231231_zX6yVXGFCuj3" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49F_20220101__20221231_zjqrh6xCIYTh" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LongTermDebt_iS_zXBYVT30kMJ5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%">Balance, January 1</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">6,154,077</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">2,366,598</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--LongTermDebt_iS_zBIFxtuQZyM2" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance, beginning of period</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">6,154,077</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">2,366,598</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_405_eus-gaap--ProceedsFromBankDebt_zExiK14WyNp7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Plus: Proceeds from loans</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,686,682</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,230,798</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_ecustom--ProceedsFromLoanAcquiredFromAcquisition_zHljed4q7b2k" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Plus: Loan acquired with acquisition of ENP Peru</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1242">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,849,500</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--PaymentsForProceedsFromDepositOnLoan_iN_di_z85eZZbKXVk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Less: Payments on loan</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(725,823</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(2,292,819</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_409_eus-gaap--LongTermDebt_iE_zBGFwgnGD793" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Balance, end of period</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">8,114,936</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">6,154,077</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </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_ScheduleOfDebtInstrumentsTextBlock', window );">SCHEDULE OF OUTSTANDING BALANCE LOAN</a></td>
<td class="text"><p id="xdx_898_eus-gaap--ScheduleOfDebtInstrumentsTextBlock_zGbBGM2KvUDe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BC_zwHTpx6lN5tk" style="display: none">SCHEDULE OF OUTSTANDING BALANCE LOAN</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold">Outstanding balance at December 31,</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_495_20231231_ze55pAaqRpB8" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_492_20221231_zD63pKpGTaNh" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember_zEtBhErZlUm3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">a) Long term debt &#8211; Midland States Bank</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1253">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1254">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankOneMember_zgJyMYLV1o43" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">b) Long term debt &#8211; Midland States Bank</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1256">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1257">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember_zZttK3oWHrGi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">c) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">399,269</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">415,430</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustOneMember_zH6ILvH1RCaa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">d) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,004,748</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,632,672</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustTwoMember_zpZnwixB5s36" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">e) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,737,232</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,813,015</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustThreeMember_zIbpKlO4q9xb" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">f) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">250,207</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">256,162</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustFourMember_zZnRRK7TXyk8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">g) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,475,188</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,036,798</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustFiveMember_zHApQNI3pYxg" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">h) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">2,248,292</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1275">&#8212;</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--LongTermDebt_iI_z9jjOTJ1nsj1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Long-term debt</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,114,936</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">6,154,077</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--LongTermDebtCurrent_iNI_di_ztrEdoNI1gq" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Less: current portion</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(1,281,632</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(717,612</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40B_eus-gaap--LongTermDebtNoncurrent_iI_z86H0L5EXiY6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Long-term debt non current</span></td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">6,833,304</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">5,436,465</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_ScheduleOfLoanCovenantsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule of loan covenants [Table Text Block]</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;">FSI_ScheduleOfLoanCovenantsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_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://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69E<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69E<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-3<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-1A<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-3<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482949/835-30-55-8<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 470<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480848/942-470-50-3<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-8<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-6<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496273949840">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [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_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock', window );">SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT)</a></td>
<td class="text"><p id="xdx_895_eus-gaap--ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_znp2yuY0c5w9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
provision for income tax expense (benefit) is comprised of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B4_zcJ3MF1W82dl" style="display: none">SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT)</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_498_20230101__20231231_z0vwBGxN8orj" style="border-bottom: Black 1.5pt solid; text-align: center">2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20220101__20221231_zVn45fy6voPe" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--CurrentFederalTaxExpenseBenefit_maCITEBzvlG_zwcXaZXSE04l" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Current tax, federal</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">753,683</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">1,017,059</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--CurrentStateAndLocalTaxExpenseBenefit_maCITEBzvlG_z2bLX1rTSCNh" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Current tax, state</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">340,952</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">460,098</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--CurrentForeignTaxExpenseBenefit_maCITEBzvlG_ziOkgrSdUhG5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Current tax, foreign</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">151,236</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">216,082</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_ecustom--CurrentTax_iT_pp0p0_mtCITEBzvlG_maCITEBzPIr_zs0SlM9leVdj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Current tax</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,245,871</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,693,239</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_ecustom--IncomeTaxRecovery_iN_pp0p0_di_msCITEBzPIr_zXS7tpvFRl26" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Income tax recovery</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(1,127,689</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(1,476,088</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_404_eus-gaap--CurrentIncomeTaxExpenseBenefit_iT_mtCITEBzPIr_maITEBz5Oq_z7O8oqZeofw9" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Current tax, total</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">118,182</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">217,151</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--DeferredFederalIncomeTaxExpenseBenefit_maDITEBzP63_zi4o3dgIdpFa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Deferred income tax, federal</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(172,763</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(49,088</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--DeferredStateAndLocalIncomeTaxExpenseBenefit_maDITEBzP63_zLOmSjE0BWE1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Deferred income tax, state</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(78,154</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(22,207</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--DeferredForeignIncomeTaxExpenseBenefit_maDITEBzP63_zj0t4MfXLkK" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Deferred income tax, foreign</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1314">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1315">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--DeferredIncomeTaxExpenseBenefit_iT_pp0p0_mtDITEBzP63_maITEBz5Oq_z3sjKsO8DmDa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Deferred income tax, total</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(250,917</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(71,295</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--IncomeTaxExpenseBenefit_iT_pp0p0_mtITEBz5Oq_zusEQq4RKT01" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Total</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(132,735</td><td style="padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">145,856</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </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 RECONCILIATION OF INCOME TAXES</a></td>
<td class="text"><p id="xdx_897_eus-gaap--ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_zX0242aJu7S7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table reconciles the income tax expense at the U.S. Federal statutory rate to income tax expense at the Company&#8217;s effective
tax rates.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; color: red"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B4_zdAA34rfyLK" style="display: none">SCHEDULE OF RECONCILIATION OF INCOME TAXES</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="color: red">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20230101__20231231_zVaamDwkn4ik" style="border-bottom: Black 1.5pt solid; text-align: center">2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_499_20220101__20221231_zqT8qlAhRhSg" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_zSVvkqA84LK4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; color: black; text-align: left">Income before tax</td><td style="width: 2%; color: black">&#160;</td>
    <td style="width: 1%; color: black; text-align: left">$</td><td style="width: 16%; color: black; text-align: right">3,623,250</td><td style="width: 1%; color: black; text-align: left">&#160;</td><td style="width: 2%; color: black">&#160;</td>
    <td style="width: 1%; color: black; text-align: left">$</td><td style="width: 16%; color: black; text-align: right">7,859,085</td><td style="width: 1%; color: black; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_pid_dp_uPure_zFV2ORC57Qxd" style="vertical-align: bottom; background-color: White">
    <td style="color: black; text-align: left; padding-bottom: 1.5pt">US statutory tax rates</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; color: black; text-align: right">30.50</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">%</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; color: black; text-align: right">30.50</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">%</td></tr>
  <tr id="xdx_40E_ecustom--ExpectedIncomeTaxRecovery_zaXM1BMsKeZd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="color: black; text-align: left">Expected income tax</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">1,105,091</td><td style="color: black; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">2,397,021</td><td style="color: black; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--IncomeTaxReconciliationNondeductibleExpense_i_pp0p0" style="vertical-align: bottom; background-color: White">
    <td style="color: black; text-align: left">Non-deductible items</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">362,554</td><td style="color: black; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">(243,167</td><td style="color: black; text-align: left">)</td></tr>
  <tr id="xdx_40F_eus-gaap--IncomeTaxReconciliationOtherAdjustments_i_pp0p0" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="color: black; text-align: left">Change in estimates and other</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">(1,585,427</td><td style="color: black; text-align: left">)</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">(2,004,041</td><td style="color: black; text-align: left">)</td></tr>
  <tr id="xdx_401_eus-gaap--IncomeTaxReconciliationForeignIncomeTaxRateDifferential_i_pp0p0" style="vertical-align: bottom; background-color: White">
    <td style="color: black; text-align: left">Foreign tax rate difference</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">(92,379</td><td style="color: black; text-align: left">)</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">(226,611</td><td style="color: black; text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_i_pp0p0" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="color: black; text-align: left; padding-bottom: 1.5pt">Change in valuation allowance</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; color: black; text-align: right">77,426</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">&#160;</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; color: black; text-align: right">(222,654</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">)</td></tr>
  <tr id="xdx_403_eus-gaap--IncomeTaxExpenseBenefit_i_pp0p0" style="vertical-align: bottom; background-color: White">
    <td style="color: black; text-align: left; padding-bottom: 1.5pt">Total income taxes</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; color: black; text-align: right">(132,735</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">)</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; color: black; text-align: right">145,856</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="color: red">&#160;</td><td style="color: red">&#160;</td>
    <td style="color: red; text-align: left">&#160;</td><td style="color: red; text-align: right">&#160;</td><td style="color: red; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">&#160;</td><td style="color: black; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--CurrentIncomeTaxExpenseBenefit_zgkA0EFkCoqk" style="vertical-align: bottom; background-color: White">
    <td style="color: black; text-align: left">Current income tax expense</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">118,182</td><td style="color: black; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">217,151</td><td style="color: black; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--DeferredIncomeTaxExpenseBenefit_zRyMB2ui9Jt5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="color: black; text-align: left; padding-bottom: 1.5pt">Deferred tax recovery</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; color: black; text-align: right">(250,917</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">)</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; color: black; text-align: right">(71,295</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">)</td></tr>
  <tr id="xdx_40D_eus-gaap--IncomeTaxExpenseBenefit_zcy3LjuqRCNb" style="vertical-align: bottom; background-color: White">
    <td style="color: black; text-align: left; padding-bottom: 1.5pt">Total income tax expense (recovery)</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; color: black; text-align: right">(132,735</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">)</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; color: black; text-align: right">145,856</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">&#160;</td></tr>
  </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_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock', window );">SCHEDULE OF DEFERRED TAX ASSETS (LIABILITIES)</a></td>
<td class="text"><p id="xdx_895_eus-gaap--ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_zuRx1qHwucRa" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred
taxes reflect the tax effects of temporary differences between the carrying amounts of assets and liabilities for financial reporting
purposes. Deferred tax assets (liabilities) at December 31, 2023 and 2022 are comprised of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B3_zODjV05YqsU6" style="display: none">SCHEDULE OF DEFERRED TAX ASSETS (LIABILITIES)</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="color: black">Canada</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">&#160;</td><td style="color: black; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">&#160;</td><td style="color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 60%; color: black; text-align: left">Non capital loss carryforwards</td><td style="width: 2%; color: black">&#160;</td>
    <td style="width: 1%; color: black; text-align: left">$</td><td id="xdx_98B_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_iI_pp0p0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zXRGeL9UGiO3" style="width: 16%; color: black; text-align: right" title="Non capital loss carryforwards">855,176</td><td style="width: 1%; color: black; text-align: left">&#160;</td><td style="width: 2%; color: black">&#160;</td>
    <td style="width: 1%; color: black; text-align: left">$</td><td id="xdx_98F_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_iI_pp0p0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zLHWtCk27G95" style="width: 16%; color: black; text-align: right" title="Non capital loss carryforwards">891,954</td><td style="width: 1%; color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; color: black; text-align: left">Intangible assets</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--DeferredTaxAssetsGoodwillAndIntangibleAssets_iI_pp0p0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_za8pVqvYUWXa" style="color: black; text-align: right" title="Intangible assets"><span style="-sec-ix-hidden: xdx2ixbrl1368">-</span></td><td style="color: black; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--DeferredTaxAssetsGoodwillAndIntangibleAssets_iI_pp0p0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zV0uFYptlw4j" style="color: black; text-align: right" title="Intangible assets"><span style="-sec-ix-hidden: xdx2ixbrl1370">-</span></td><td style="color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; color: black; text-align: left; padding-bottom: 1.5pt">Property, equipment and leaseholds</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td id="xdx_98D_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipment_iI_pp0p0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zdGNjqDKz5X1" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Property, equipment and leaseholds">30,916</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">&#160;</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td id="xdx_98C_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipment_iI_pp0p0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zDu7tLZuNJhk" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Property, equipment and leaseholds">47,279</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="color: black">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--DeferredTaxAssetsGross_iI_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zf17Jnh3wPcl" style="color: black; text-align: right" title="Deferred tax assets gross">886,092</td><td style="color: black; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--DeferredTaxAssetsGross_iI_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zc3kF18Pgkc5" style="color: black; text-align: right" title="Deferred tax assets gross">939,233</td><td style="color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; color: black; text-align: left; padding-bottom: 1.5pt">Valuation allowance</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--DeferredTaxAssetsValuationAllowance_iNI_pp0p0_di_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zRzDS3LjDmIf" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Valuation Allowance">(886,092</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">)</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--DeferredTaxAssetsValuationAllowance_iNI_pp0p0_di_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zG4vHB20Ze9i" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Valuation Allowance">(939,233</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; color: black; text-align: left; padding-bottom: 1.5pt">Net deferred tax asset</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">$</td><td id="xdx_98D_eus-gaap--DeferredTaxAssetsNet_iI_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_z7PbWzPSzogh" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Net deferred tax asset"><span style="-sec-ix-hidden: xdx2ixbrl1384">-</span></td><td style="padding-bottom: 1.5pt; color: black; text-align: left">&#160;</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">$</td><td id="xdx_989_eus-gaap--DeferredTaxAssetsNet_iI_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zovlEcYdq5z2" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Net deferred tax asset"><span style="-sec-ix-hidden: xdx2ixbrl1386">-</span></td><td style="padding-bottom: 1.5pt; color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="color: black">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">&#160;</td><td style="color: black; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">&#160;</td><td style="color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="color: black">US</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">&#160;</td><td style="color: black; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td style="color: black; text-align: right">&#160;</td><td style="color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="color: black; padding-bottom: 1.5pt">&#160;</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; color: black; text-align: right">2023</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">&#160;</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; color: black; text-align: right">2022</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; color: black; text-align: left">Net operating loss carryforwards</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">$</td><td id="xdx_98B_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_iI_pdp0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zuA6HUy4Vb12" style="color: black; text-align: right" title="Net operating loss carryforwards"><span style="-sec-ix-hidden: xdx2ixbrl1388">-</span></td><td style="color: black; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">$</td><td id="xdx_984_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_iI_pdp0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zVr3cPcNwvg1" style="color: black; text-align: right" title="Net operating loss carryforwards"><span style="-sec-ix-hidden: xdx2ixbrl1390">-</span></td><td style="color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; color: black; text-align: left">Intangible assets</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--DeferredTaxAssetsGoodwillAndIntangibleAssets_iI_pdp0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zV5lJBysEuz3" style="color: black; text-align: right" title="Intangible assets">(11,346</td><td style="color: black; text-align: left">)</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--DeferredTaxAssetsGoodwillAndIntangibleAssets_iI_pdp0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zmbpG8GkacWk" style="color: black; text-align: right" title="Intangible assets">(6,070</td><td style="color: black; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; color: black">Investments</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--DeferredTaxAssetsInvestments_iNI_pp0p0_di_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zNIWHhTsXF7i" style="color: black; text-align: right" title="Investments"><span style="-sec-ix-hidden: xdx2ixbrl1396">-</span></td><td style="color: black; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--DeferredTaxAssetsInvestments_iNI_pp0p0_di_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zRwfs6y0HLwa" style="color: black; text-align: right" title="Investments">(7,676</td><td style="color: black; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; color: black; text-align: left">Property, equipment and leaseholds</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_98F_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipmentOne_iNI_pp0p0_di_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zE7sPkrTeKx" style="color: black; text-align: right" title="Property, equipment and leaseholds">(248,701</td><td style="color: black; text-align: left">)</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_988_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipmentOne_iNI_pp0p0_di_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zd83pEvMGMla" style="color: black; text-align: right" title="Property, equipment and leaseholds">(486,713</td><td style="color: black; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; color: black; text-align: left">Property, equipment and leaseholds</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_986_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipment_iI_pp0p0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zI5Xx0JzKdId" style="color: black; text-align: right" title="Property, equipment and leaseholds">284,794</td><td style="color: black; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_981_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipment_iI_pp0p0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zS4ucoxqPHVj" style="color: black; text-align: right" title="Property, equipment and leaseholds">274,289</td><td style="color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; color: black; text-align: left">Financial instruments</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--DeferredTaxAssetsDerivativeInstruments_iI_pp0p0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zjVnoDATpoxd" style="color: black; text-align: right" title="Financial instruments"><span style="-sec-ix-hidden: xdx2ixbrl1408">-</span></td><td style="color: black; text-align: left">&#160;</td><td style="color: black">&#160;</td>
    <td style="color: black; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--DeferredTaxAssetsDerivativeInstruments_iI_pp0p0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zxnPPf0BzkEd" style="color: black; text-align: right" title="Financial instruments"><span style="-sec-ix-hidden: xdx2ixbrl1410">-</span></td><td style="color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; color: black; text-align: left; padding-bottom: 1.5pt">Deferred tax asset not recognized</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td id="xdx_98B_ecustom--DeferredTaxAssetNotRecognized_iI_pp0p0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zNQKy6UUk0J5" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Deferred tax asset not recognized"><span style="-sec-ix-hidden: xdx2ixbrl1412">-</span></td><td style="padding-bottom: 1.5pt; color: black; text-align: left">&#160;</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">&#160;</td><td id="xdx_980_ecustom--DeferredTaxAssetNotRecognized_iI_pp0p0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zhayezuX0C63" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Deferred tax asset not recognized"><span style="-sec-ix-hidden: xdx2ixbrl1414">-</span></td><td style="padding-bottom: 1.5pt; color: black; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; color: black; text-align: left; padding-bottom: 1.5pt">Net deferred tax asset (liability)</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">$</td><td id="xdx_98C_eus-gaap--DeferredTaxAssetsNet_iI_pp0p0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zDfFqCEfyGz5" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Net deferred tax asset">24,747</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">&#160;</td><td style="color: black; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left">$</td><td id="xdx_987_eus-gaap--DeferredTaxLiabilities_iNI_pp0p0_di_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zXiaKJ85Tsgd" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Net deferred tax liability">(226,170</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">)</td></tr>
  </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_FSI_ScheduleOfNonOperatingLossCarryforwardsTableTextBlock', window );">SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS</a></td>
<td class="text"><p id="xdx_89B_ecustom--ScheduleOfNonOperatingLossCarryforwardsTableTextBlock_zICUdGIqjP7f" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B0_zYj08sqpz05a" style="display: none">SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 50%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: right">Loss</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: right">2030</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--OperatingLossCarryforwards_iI_c20231231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyTaxYearMember_z9Vtagg8HGW2" style="width: 16%; text-align: right" title="Total">407,947</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right">2031</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--OperatingLossCarryforwards_iI_c20231231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyOneYearMember_zsXfzMPi8jKk" style="text-align: right" title="Total">941,856</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: right">2032</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--OperatingLossCarryforwards_iI_c20231231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyTwoYearMember_zPE6KGlso7xc" style="text-align: right" title="Total">615,878</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right">2037</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--OperatingLossCarryforwards_iI_c20231231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtySevenYearMember_zSCfVs98lyoe" style="text-align: right" title="Total">1,692,555</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: right">2039</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--OperatingLossCarryforwards_iI_c20231231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyNineYearMember_zaXSPK4Gqcv2" style="text-align: right" title="Total">48,048</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right; padding-bottom: 1.5pt">2040</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--OperatingLossCarryforwards_iI_c20231231__us-gaap--TaxPeriodAxis__custom--TwoThousandFourtyYearMember_zbPc3PtPXGV2" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total">11,871</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: center; padding-bottom: 1.5pt">Total</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--OperatingLossCarryforwards_iI_c20231231_zgwwiDN33yM4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total">3,718,155</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_ScheduleOfNonOperatingLossCarryforwardsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule of nonoperating loss carryforwards [Table Text Block]</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;">FSI_ScheduleOfNonOperatingLossCarryforwardsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Paragraph 9<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-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;">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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Paragraph 12<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496275053824">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME PER SHARE (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [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_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">SCHEDULE OF BASIC AND DILUTED LOSS PER SHARE</a></td>
<td class="text"><p id="xdx_896_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zG7NyYScyDV" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 35.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company presents both basic and diluted income per share on the face of its consolidated statements of income. Basic and diluted income
per share are calculated as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 35.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BD_zPPG2ZFXsC1i" style="display: none">SCHEDULE OF BASIC AND DILUTED LOSS PER SHARE</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_491_20230101__20231231_zHt17frmXL12" style="border-bottom: Black 1.5pt solid; text-align: center">2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20220101__20221231_zvDJZqAkPVMk" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--NetIncomeLoss_i_pp0p0" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Net income attributable to controlling interest</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">2,775,864</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">7,021,604</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Weighted average common shares outstanding:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_pid_zZqo7BFqzTGk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Basic</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">12,434,886</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">12,379,316</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_pid_zSfaMxIZ09V8" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Diluted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">12,489,467</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">12,466,415</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net income per common share attributable to controlling interest:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--EarningsPerShareBasic_zDc6xc7ms4Ra" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Basic</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">0.22</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">0.57</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--EarningsPerShareDiluted_z7guU2MzeMOc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt">Diluted</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">0.22</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">0.56</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </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_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock', window );">SCHEDULE OF ANTI-DILUTIVE OPTIONS</a></td>
<td class="text"><p id="xdx_890_eus-gaap--ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_zQvbX5UKcTtc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BD_znbh1KPoDwN9" style="display: none">SCHEDULE OF ANTI-DILUTIVE OPTIONS</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49E_20230101__20231231_zBzY3f4LgpT2" style="border-bottom: Black 1.5pt solid; text-align: center">2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_498_20220101__20221231_zPCPCMDHkd2i" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 60%">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_i_pdd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Anti-dilutive options</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">740,000</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">1,304,000</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </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_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-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_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive securities.</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> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-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;">us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="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_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> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-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;">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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496274486256">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCK OPTIONS (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-Based Payment Arrangement [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_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">SCHEDULE OF STOCK OPTION ACTIVITIES</a></td>
<td class="text"><p id="xdx_895_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_z3jDVfiVt1be" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes the Company&#8217;s stock option activities for the years ended December 31, 2023 and 2022:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B6_zAxzstzN5Czb" style="display: none">SCHEDULE OF STOCK OPTION ACTIVITIES</span></p>


<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"><p style="margin: 0pt">Number of</p>
                                                                                <p style="margin: 0pt">shares</p></td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Exercise <br/>price per share</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Weighted <br/>average <br/>exercise price</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td colspan="2" style="font-size: 12pt">&#160;</td><td style="font-size: 12pt">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td colspan="2" style="font-size: 12pt">&#160;</td><td style="font-size: 12pt">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td colspan="2" style="font-size: 12pt">&#160;</td><td style="font-size: 12pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%">Balance, December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20220101__20221231_zgZBkQBt6ZFe" style="width: 14%; text-align: right" title="Number of shares, Beginning Balance">789,500</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><span style="font-size: 10pt"> <span id="xdx_904_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zlbqUJx73vad" title="Exercise price per share, Beginning Balance">1.42</span> &#8211; <span id="xdx_90C_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zPREWe00dhz9" title="Exercise price per share, Beginning Balance">4.13</span></span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20220101__20221231_zujLCMriWRub" style="width: 14%; text-align: right" title="Weighted average exercise price, Beginning Balance">2.78</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20220101__20221231_zkBrtwfyHU27" style="text-align: right" title="Number of shares, Granted">981,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-size: 10pt"><span id="xdx_908_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zUiZeTp2GvOe" title="Exercise price per share, Granted">3.55</span> &#8211; <span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zs9BvQEm3Dhf" title="Exercise price per share, Granted">3.61</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220101__20221231_zEDEISGelfh8" style="text-align: right" title="Weighted average exercise price, Granted">3.55</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Cancelled or expired</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_pid_di_c20220101__20221231_zQEJsDyOvzUe" style="text-align: right" title="Number of shares, Cancelled or expired">(13,486</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-size: 10pt"><span id="xdx_90F_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zmAKBPENpqvh" title="Exercise price per share, Cancelled">1.70</span> &#8211; <span id="xdx_90E_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zIbWzooVznr3" title="Exercise price per share, Cancelled">3.61</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20220101__20221231_zoZWoSJzJvea" style="text-align: right" title="Weighted average exercise price, Cancelled or expired">2.32</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Exercised</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20220101__20221231_zRsyChNJxmI1" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares, Exercised">(71,014</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-size: 10pt"><span id="xdx_906_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_z4aOf7fluPw9" title="Exercise price per share, Exercised">1.42</span> &#8211; <span id="xdx_902_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zDiKb9d2loCk" title="Exercise price per share, Exercised">2.44</span></span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20220101__20221231_zLTmUld9uxi7" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted average exercise price, Exercised">1.98</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance, December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_905_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20230101__20231231_zAz28w48DXal" title="Number of shares, Beginning Balance">1,686,000</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-size: 10pt"><span id="xdx_907_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_pid_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_zE5lTgF95Q9" title="Exercise price per share, Beginning Balance">1.70</span> &#8211; <span id="xdx_906_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_pid_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zUa1b6iTY83e" title="Exercise price per share, Beginning Balance">4.13</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20230101__20231231_z5XuehN2nK62" title="Weighted average exercise price, Beginning Balance">3.26</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Cancelled or expired</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_pid_di_c20230101__20231231_zBRf4Udw7241" style="text-align: right" title="Number of shares, Cancelled or expired">(564,000</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-size: 10pt"><span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_zcIYOaqyUYs3" title="Exercise price per share, Cancelled or expired">3.46</span> &#8211; <span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zPdgdCffuco6" title="Exercise price per share, Cancelled or expired">4.13</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20230101__20231231_zKVW2OK6GBvd" style="text-align: right" title="Weighted average exercise price, Cancelled or expired">3.55</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Exercised</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20230101__20231231_znq7Eo1oj6n8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares, Exercised">(8,000</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span id="xdx_90D_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20230101__20231231_zBFkHutqx0M1" title="Exercise price per share, Exercised">1.70</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20230101__20231231_zhZOQgILXPpe" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted average exercise price, Exercised">1.70</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Balance, December 31, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span id="xdx_90A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_pid_c20230101__20231231_zNHRmnI8RAAa" title="Number of shares Exercisable, Ending Balance">1,114,000</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-size: 10pt"><span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_znGuGmy3A8of" title="Exercise price per share, Ending Balance">1.75</span> &#8211; <span id="xdx_90F_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zlwkxpLMzCtb" title="Exercise price per share, Ending Balance">3.61</span></span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20230101__20231231_zsyrRQjJI9zd" title="Weighted average exercise price, Ending Balance">3.13</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Exercisable, December 31, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_pid_c20230101__20231231_z8Ke9jIluI97" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares Exercisable, Ending Balance">754,000</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-size: 10pt"><span id="xdx_909_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_zqClI5NjvhUj" title="Exercise price per share Exercisable, Ending Balance">1.75</span>
&#8211; <span id="xdx_908_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zu6XjxVUBgq7" title="Exercise price per share Exercisable, Ending Balance">3.61</span></span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_c20230101__20231231_z7GfcUcC6vwg" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted average exercise price, Exercisable, Ending Balance">2.93</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </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_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock', window );">SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS</a></td>
<td class="text"><p id="xdx_892_eus-gaap--ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_zi10yAD4o8T9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair value of each option grant is calculated using the following weighted average assumptions:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B3_zPxe6RWCJlSd" style="display: none">SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS</span></p>


<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 85%">
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left">Expected life &#8211; years</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right"><span id="xdx_907_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20220101__20221231_zAGUb7dMLRwi" title="Expected life - years">3.0</span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Interest rate</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-size: 10pt"><span id="xdx_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zUrNVn9K22nf" title="Interest rate">1.76</span> &#8211; <span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_z2apJgicLEab" title="Interest rate">3.64</span> </span></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Volatility</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-size: 10pt"><span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_z8dJ1GuzjDY1" title="Volatility">66.01</span> - <span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zfMjRaMLDRXk" title="Volatility">69.66</span> </span></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Weighted average fair value of options granted</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-size: 10pt"> <span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zjCKEQ00P5Lg" title="Weighted average fair value of options granted">1.46</span> &#8211; <span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zNobaYpunYHh" title="Weighted average fair value of options granted">1.65</span></span></td><td style="text-align: left">&#160;</td></tr>
  </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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-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_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> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">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> -Topic 718<br> -SubTopic 10<br> -Subparagraph (f)(2)<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496275003600">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>NON-CONTROLLING INTERESTS (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_NoncontrollingInterestAbstract', window );"><strong>Noncontrolling Interest [Abstract]</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_FSI_ScheduleOfDistributionsTableTextBlock', window );">SCHEDULE OF DISTRIBUTIONS</a></td>
<td class="text"><p id="xdx_895_ecustom--ScheduleOfDistributionsTableTextBlock_zQVJq8fOy1Yc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B5_zyuaje2sUzqe" style="display: none">SCHEDULE
OF DISTRIBUTIONS</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Balance, December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_989_eus-gaap--MinorityInterest_iS_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zh3oFgmbYaS" style="width: 16%; text-align: right" title="Distribution to noncontrolling interests, Beginning balance">2,602,843</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Distribution</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_di_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zTjNSyHtMBKf" style="text-align: right" title="Distribution">(689,434</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Non-controlling interest share of income</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_z56Cov3BLDH6" style="border-bottom: Black 1.5pt solid; text-align: right" title="Non-controlling interest share of income">691,625</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance, December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--MinorityInterest_iS_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zcHZphA3KFql" style="text-align: right" title="Distribution to noncontrolling interests, Beginning balance">2,605,034</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Distribution</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_di_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zvfvFV7AuLpf" style="text-align: right" title="Distribution">(719,439</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Non-controlling interest share of income</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zrVxE1MRXEHl" style="border-bottom: Black 1.5pt solid; text-align: right" title="Non-controlling interest share of income">1,015,604</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Balance, December 31, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98C_eus-gaap--MinorityInterest_iE_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zrJe7V01Dg2b" style="border-bottom: Black 1.5pt solid; text-align: right" title="Distribution to noncontrolling interests, Ending balance">2,901,199</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </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_FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock', window );">SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION</a></td>
<td class="text"><p id="xdx_895_ecustom--ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock_zlTc967sZkOh" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BB_zM7DCHk7TfEk" style="display: none">SCHEDULE
OF NON CONTROLLING INTEREST RELATED TO ACQUISITION</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance, December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_984_eus-gaap--MinorityInterest_iS_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zlBCS3ehM1Vd" style="text-align: right" title="Distribution to noncontrolling interests, Beginning balance"><span style="-sec-ix-hidden: xdx2ixbrl1672">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 80%">Acquisition</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--PaymentsToAcquireBusinessesAndInterestInAffiliates_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zDSHR01VvBPg" style="width: 16%; text-align: right" title="Distribution to noncontrolling interests, Acquisition">200,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Non-controlling interest share of loss</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--NoncontrollingInterestDecreaseFromDeconsolidation_iN_di_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zKkUckOfun9d" style="text-align: right" title="Distribution to noncontrolling interests, Non-controlling interest share of loss">(35,483</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance, December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_985_eus-gaap--MinorityInterest_iE_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_z4U1PVisbeWb" style="text-align: right" title="Distribution to noncontrolling interests, Ending balance">164,517</td><td style="text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_ScheduleOfDistributionsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule of distributions [Table Text Block]</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;">FSI_ScheduleOfDistributionsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule of noncontrolling interest related to acquisition [Table Text Block]</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;">FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_NoncontrollingInterestAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_NoncontrollingInterestAbstract</td>
</tr>
<tr>
<td style="padding-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>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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496274550928">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_SegmentReportingAbstract', window );"><strong>Segment Reporting [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_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock', window );">SCHEDULE OF REPORTABLE SEGMENTS</a></td>
<td class="text"><p id="xdx_89A_eus-gaap--ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock_zWZe7s71UT32" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B1_zoA5dWvmVHLb" style="display: none">SCHEDULE
OF REPORTABLE SEGMENTS</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_492_20230101__20231231__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zz4RZo8QEyGh" style="border-bottom: Black 1.5pt solid; text-align: center">EWCP</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_493_20230101__20231231__srt--ProductOrServiceAxis__custom--BCPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zJwM9ZULJ2p4" style="border-bottom: Black 1.5pt solid; text-align: center">BCPA</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49F_20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zKJVGd5ire59" style="border-bottom: Black 1.5pt solid; text-align: center">Consolidated</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zKihmIeUF8Rb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: justify">Sales</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">572,845</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">37,751,961</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">38,324,806</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--InterestExpense_zMKGecgwYOy3" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">387</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">498,279</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">498,666</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--DepreciationNonproduction_zD1WwEHW9bZ3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Depreciation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">17,411</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,668,908</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,686,319</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_zme53CDMLVP1" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Current and deferred income tax recovery (expense)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(35,341</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">168,076</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">132,735</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NetIncomeLoss_zEjRTG3wWeAa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Segment profit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(256,390</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,032,254</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,775,864</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_ecustom--SegmentAssets_zAjUkYu8f7B" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Segment assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,843,123</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">50,627,932</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">55,471,055</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zvZ1QQo6f0d1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Expenditures for segment assets</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1710">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">4,990,675</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">4,990,675</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Year
ended December 31, 2022:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_494_20220101__20221231__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zTRnyC6o5D5e" style="border-bottom: Black 1.5pt solid; text-align: center">EWCP</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20220101__20221231__srt--ProductOrServiceAxis__custom--BCPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zt9kSuCFWpKh" style="border-bottom: Black 1.5pt solid; text-align: center">BCPA</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_492_20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zjtnBmrK6Su6" style="border-bottom: Black 1.5pt solid; text-align: center">Consolidated</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zl0TD0OvNMU8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: justify">Sales</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">528,462</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">45,312,007</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">45,840,469</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--InterestExpense_ztUCU98H7LXa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1718">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">292,949</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">292,949</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--DepreciationNonproduction_zrRFvC6jytj9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Depreciation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">33,876</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,243,555</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,277,431</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_zHuOPguDhmcf" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Current and deferred income tax expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">18,898</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">126,958</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">145,856</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NetIncomeLoss_zoW5VU1vWzYa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Segment profit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(334,525</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,047,754</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,713,229</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_ecustom--SegmentAssets_zD4jWpaAEgvg" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Segment assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,810,091</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">48,777,101</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">51,587,192</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_z7uF1yacUQg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Expenditures for segment assets</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1738">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">1,981,307</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">1,981,307</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </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_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock', window );">SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA</a></td>
<td class="text"><p id="xdx_893_eus-gaap--ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_zp2QbVKGSbia" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Sales
by territory are shown below:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BE_zxAQwrJDYMO1" style="display: none">SCHEDULE
OF REVENUE GENERATED IN UNITED STATES AND CANADA</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_492_20230101__20231231_zARgVo60GNM4" style="border-bottom: Black 1.5pt solid; text-align: center">2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20220101__20221231_zAV9pmSbF4Q2" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__country--CA_zSRI6s6oDU46" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%">Canada</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">755,844</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">552,123</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__custom--UnitedStatesandAbroadMember_zBJg9tzwWVwk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">United States and abroad</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">37,568,962</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">45,288,346</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zvM5ZCSIlZaj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Total</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">38,324,806</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">45,840,469</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </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_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock', window );">SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE</a></td>
<td class="text"><p id="xdx_89C_eus-gaap--ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock_zB044KFQcNxb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s long-lived assets (property, equipment, leaseholds, right of use assets, intangibles, and goodwill) are located in Canada
and the United States as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B7_zseiyHibndUe" style="display: none">SCHEDULE
OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49E_20231231_zBRm5jHTd6di" style="border-bottom: Black 1.5pt solid; text-align: center">2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_498_20221231_zfzSFgjHgw1c" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--CA_zXVHM0eFdOHl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%">Canada</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">142,577</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">150,890</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--US_z7CFYYUTfW82" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">United States</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">17,958,778</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">14,699,896</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--NoncurrentAssets_iI_zVqNCNZk0c28" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Total</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">18,101,355</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">14,850,786</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </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_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> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 names of foreign countries in which material long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets are located, and amount of such long-lived assets located in that country or foreign geographic area.</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> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock</td>
</tr>
<tr>
<td style="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_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 names of foreign countries from which revenue is material and the amount of revenue from external customers attributed to those countries. An entity may also provide subtotals of geographic information about groups of countries.</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> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-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;">us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock</td>
</tr>
<tr>
<td style="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_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-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>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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496274864304">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BASIS OF PRESENTATION (Details Narrative)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</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_srt_OwnershipAxis=FSI_MendotaLLCMember', window );">317 Mendota LLC [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_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest', window );">Subsidiary company ownership interest rate</a></td>
<td class="nump">80.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_OwnershipAxis=FSI_MendotaLLCMember', window );">317 Mendota LLC [Member] | Unrelated Party [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_MinorityInterestOwnershipPercentageByNoncontrollingOwners', window );">Noncontrolling interest percentage</a></td>
<td class="nump">20.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_OwnershipAxis=FSI_ENPInvestmentsLLCAndENPMendotaMember', window );">ENP Investments LLC and ENP Mendota [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_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest', window );">Subsidiary company ownership interest rate</a></td>
<td class="nump">65.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_OwnershipAxis=FSI_ENPPeruMember', window );">ENP Peru [Member]</a></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_FSI_IncreaseDecreaseInSharePercentage', window );">Increase decrease in share percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">91.67%<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_FSI_RemainingInvestmentOwnedPercentage', window );">Remaining investment owned percentage</a></td>
<td class="nump">8.33%<span></span>
</td>
<td class="nump">8.33%<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=FSI_ENPPeruMember', window );">ENP Peru [Member] | Unrelated Party [Member]</a></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_FSI_IncreaseDecreaseInSharePercentage', window );">Increase decrease in share percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">50.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=FSI_ENPInvestmentsAndENPMendotaMember', window );">ENP Investments And 317 ENP Mendota [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_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest', window );">Subsidiary company ownership interest rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">65.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_IncreaseDecreaseInSharePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Increase decrease in share percentage.</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;">FSI_IncreaseDecreaseInSharePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_RemainingInvestmentOwnedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 investment owned percentage.</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;">FSI_RemainingInvestmentOwnedPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_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_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 units or percentage investment held in the subsidiary by the limited liability company or limited partnership.</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_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest</td>
</tr>
<tr>
<td style="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_srt_OwnershipAxis=FSI_MendotaLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_MendotaLLCMember</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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_UnrelatedPartyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_UnrelatedPartyMember</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=FSI_ENPInvestmentsLLCAndENPMendotaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_ENPInvestmentsLLCAndENPMendotaMember</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=FSI_ENPPeruMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_ENPPeruMember</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=FSI_ENPInvestmentsAndENPMendotaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_ENPInvestmentsAndENPMendotaMember</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>59
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496277354144">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF METHOD OF DEPRECIATION (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_ComputerEquipmentMember', window );">Computer Equipment [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_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></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_FSI_DepreciationMethodUsedAndAnnualRate', window );">Depreciation method used and annual rate</a></td>
<td class="text">30%
    Declining balance<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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</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_FSI_DepreciationMethodUsedAndAnnualRate', window );">Depreciation method used and annual rate</a></td>
<td class="text">20%
    Declining balance<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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></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_FSI_DepreciationMethodUsedAndAnnualRate', window );">Depreciation method used and annual rate</a></td>
<td class="text">20%
    Declining balance<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=FSI_BoatMember', window );">Boat [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_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</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_FSI_DepreciationMethodUsedAndAnnualRate', window );">Depreciation method used and annual rate</a></td>
<td class="text">20%
    Declining balance<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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></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_FSI_DepreciationMethodUsedAndAnnualRate', window );">Depreciation method used and annual rate</a></td>
<td class="text">10%
    Declining balance<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=FSI_TrailerMember', window );">Trailer [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_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</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_FSI_DepreciationMethodUsedAndAnnualRate', window );">Depreciation method used and annual rate</a></td>
<td class="text">30%
    Declining balance<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_AutomobilesMember', window );">Automobiles [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_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></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_FSI_DepreciationMethodUsedAndAnnualRate', window );">Depreciation method used and annual rate</a></td>
<td class="text">Straight-line
    over 5 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_PatentsMember', window );">Patents [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_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</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_FSI_DepreciationMethodUsedAndAnnualRate', window );">Depreciation method used and annual rate</a></td>
<td class="text">Straight-line
    over 17 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_TechnologyEquipmentMember', window );">Technology Equipment [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_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></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_FSI_DepreciationMethodUsedAndAnnualRate', window );">Depreciation method used and annual rate</a></td>
<td class="text">Straight-line
    over 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_LeaseholdImprovementsMember', window );">Leasehold Improvements [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_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</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_FSI_DepreciationMethodUsedAndAnnualRate', window );">Depreciation method used and annual rate</a></td>
<td class="text">Straight-line
    over lease term<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_CustomerRelationshipsMember', window );">Customer Relationships [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_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></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_FSI_DepreciationMethodUsedAndAnnualRate', window );">Depreciation method used and annual rate</a></td>
<td class="text">Straight-line
    over 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=FSI_SoftwareMember', window );">Software [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_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</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_FSI_DepreciationMethodUsedAndAnnualRate', window );">Depreciation method used and annual rate</a></td>
<td class="text">Straight-line
    over 3 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_DepreciationMethodUsedAndAnnualRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Depreciation method used and annual rate.</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;">FSI_DepreciationMethodUsedAndAnnualRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ComputerEquipmentMember</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=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=FSI_BoatMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_BoatMember</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=FSI_TrailerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_TrailerMember</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_AutomobilesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AutomobilesMember</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_PatentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PatentsMember</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_TechnologyEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TechnologyEquipmentMember</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_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CustomerRelationshipsMember</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=FSI_SoftwareMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_SoftwareMember</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>60
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496273367568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SIGNIFICANT ACCOUNTING POLICIES (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</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_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sale</a></td>
<td class="nump">$ 38,324,806<span></span>
</td>
<td class="nump">$ 45,840,469<span></span>
</td>
</tr>
<tr class="re">
<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 );">Cost of sales</a></td>
<td class="nump">$ 27,987,451<span></span>
</td>
<td class="nump">31,971,596<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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_InvestmentMember', window );">Investment [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_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</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_EquityMethodInvestmentDescriptionOfPrincipalActivities', window );">Equity method investment, description</a></td>
<td class="text">Significant influence is generally deemed to exist if the Company&#8217;s
ownership interest in the voting stock of the investee ranges between 20% and 50%, although other factors, such as representation on
the investee&#8217;s board of directors, are considered in determining whether the equity method of accounting is appropriate.<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=FSI_ThreePrimaryCustomersMember', window );">Three Primary Customers [Member] | Revenue from Contract with Customer Benchmark [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_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sale</a></td>
<td class="nump">$ 20,482,798<span></span>
</td>
<td class="nump">$ 27,775,616<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_FSI_ConcentrationRiskThresholdPercentage', window );">Accounts receivable, after allowance for credit loss, percentage</a></td>
<td class="nump">53.00%<span></span>
</td>
<td class="nump">61.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=FSI_ThreePrimaryCustomersMember', window );">Three Primary Customers [Member] | Accounts Receivable [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_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sale</a></td>
<td class="nump">$ 6,561,164<span></span>
</td>
<td class="nump">$ 6,124,424<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_FSI_ConcentrationRiskThresholdPercentage', window );">Accounts receivable, after allowance for credit loss, percentage</a></td>
<td class="nump">67.00%<span></span>
</td>
<td class="nump">65.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_ProductOrServiceAxis=us-gaap_ShippingAndHandlingMember', window );">Shipping and Handling [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_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sale</a></td>
<td class="nump">$ 522,033<span></span>
</td>
<td class="nump">$ 433,015<span></span>
</td>
</tr>
<tr class="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 );">Cost of sales</a></td>
<td class="nump">944,811<span></span>
</td>
<td class="nump">$ 913,890<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_ShortTermDebtTypeAxis=FSI_FirstTermMember', window );">First Term [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_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</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_Deposits', window );">Deposits</a></td>
<td class="nump">$ 680,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_DebtInstrumentInterestRateStatedPercentage', window );">Debt Instrument, Interest Rate, Stated Percentage</a></td>
<td class="nump">5.00%<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_FSI_MinimumInterestPenalty', window );">Minimum interest penalty</a></td>
<td class="nump">$ 150<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_ShortTermDebtTypeAxis=FSI_SecondTermMember', window );">Second Term [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_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</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_Deposits', window );">Deposits</a></td>
<td class="nump">$ 300,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_DebtInstrumentInterestRateStatedPercentage', window );">Debt Instrument, Interest Rate, Stated Percentage</a></td>
<td class="nump">1.30%<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_ShortTermDebtTypeAxis=FSI_ThirdTermMember', window );">Third Term [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_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</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_Deposits', window );">Deposits</a></td>
<td class="nump">$ 710,241<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_DebtInstrumentInterestRateStatedPercentage', window );">Debt Instrument, Interest Rate, Stated Percentage</a></td>
<td class="nump">3.00%<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_FSI_MinimumInterestPenalty', window );">Minimum interest penalty</a></td>
<td class="nump">$ 150<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_ShortTermDebtTypeAxis=FSI_FourthTermMember', window );">Fourth Term [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_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</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_Deposits', window );">Deposits</a></td>
<td class="nump">$ 1,000,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_DebtInstrumentInterestRateStatedPercentage', window );">Debt Instrument, Interest Rate, Stated Percentage</a></td>
<td class="nump">3.85%<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_FSI_MinimumInterestPenalty', window );">Minimum interest penalty</a></td>
<td class="nump">$ 150<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_FSI_ConcentrationRiskThresholdPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Concentration Risk Threshold Percentage.</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;">FSI_ConcentrationRiskThresholdPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_MinimumInterestPenalty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">FSI_MinimumInterestPenalty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_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> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-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;">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_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</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> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="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_Deposits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of all deposit liabilities held by the entity, including foreign and domestic, interest and noninterest bearing; may include demand deposits, saving deposits, Negotiable Order of Withdrawal (NOW) and time deposits among others.</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> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.12)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-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;">us-gaap_Deposits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_EquityMethodInvestmentDescriptionOfPrincipalActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 description of the principal activities of an investee accounted for under the equity 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;">us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities</td>
</tr>
<tr>
<td style="padding-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_ProductInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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;">us-gaap_ProductInformationLineItems</td>
</tr>
<tr>
<td style="padding-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_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> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_InvestmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_InvestmentMember</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=FSI_ThreePrimaryCustomersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_ThreePrimaryCustomersMember</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_RevenueFromContractWithCustomerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RevenueFromContractWithCustomerMember</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_srt_ProductOrServiceAxis=us-gaap_ShippingAndHandlingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=us-gaap_ShippingAndHandlingMember</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_ShortTermDebtTypeAxis=FSI_FirstTermMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ShortTermDebtTypeAxis=FSI_FirstTermMember</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_ShortTermDebtTypeAxis=FSI_SecondTermMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ShortTermDebtTypeAxis=FSI_SecondTermMember</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_ShortTermDebtTypeAxis=FSI_ThirdTermMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ShortTermDebtTypeAxis=FSI_ThirdTermMember</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_ShortTermDebtTypeAxis=FSI_FourthTermMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ShortTermDebtTypeAxis=FSI_FourthTermMember</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>61
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496274640928">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</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_FSI_DisclosureLeasesAbstract', window );"><strong>Leases</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_OperatingLeaseRightOfUseAsset', window );">Right of use assets, beginning balance</a></td>
<td class="nump">$ 167,222<span></span>
</td>
<td class="nump">$ 217,267<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense', window );">Depreciation</a></td>
<td class="num">(51,929)<span></span>
</td>
<td class="num">(50,045)<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Right of use assets, ending balance</a></td>
<td class="nump">115,293<span></span>
</td>
<td class="nump">167,222<span></span>
</td>
</tr>
<tr class="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 );">Lease liability, beginning balance</a></td>
<td class="nump">167,222<span></span>
</td>
<td class="nump">217,267<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_FSI_LeaseInterestExpense', window );">Lease interest expense</a></td>
<td class="nump">6,151<span></span>
</td>
<td class="nump">8,566<span></span>
</td>
</tr>
<tr class="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 );">Payments</a></td>
<td class="num">(58,080)<span></span>
</td>
<td class="num">(58,611)<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Lease liability, ending balance</a></td>
<td class="nump">115,293<span></span>
</td>
<td class="nump">167,222<span></span>
</td>
</tr>
<tr class="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 );">Short-term portion</a></td>
<td class="nump">59,520<span></span>
</td>
<td class="nump">58,080<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Long-term portion</a></td>
<td class="nump">55,773<span></span>
</td>
<td class="nump">109,142<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="nump">$ 115,293<span></span>
</td>
<td class="nump">$ 167,222<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_DisclosureLeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">FSI_DisclosureLeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_LeaseInterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Lease interest 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;">FSI_LeaseInterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-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;">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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-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;">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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-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;">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_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-5<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-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;">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_OperatingLeaseRightOfUseAssetAmortizationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 periodic reduction over lease term of carrying amount of right-of-use asset 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/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>62
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496265102064">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF UNDISCOUNTED RENT PAYMENTS (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</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_FSI_DisclosureLeasesAbstract', window );"><strong>Leases</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_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2024</a></td>
<td class="nump">$ 59,520<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_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2025</a></td>
<td class="nump">61,020<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_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total</a></td>
<td class="nump">120,540<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_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Impact of discounting</a></td>
<td class="num">(5,247)<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_OperatingLeaseLiability', window );">Lease liability, December 31, 2023</a></td>
<td class="nump">$ 115,293<span></span>
</td>
<td class="nump">$ 167,222<span></span>
</td>
<td class="nump">$ 217,267<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_DisclosureLeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">FSI_DisclosureLeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-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;">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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496277423504">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>LEASES (Details Narrative)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</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_FSI_DisclosureLeasesAbstract', window );"><strong>Leases</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_LesseeOperatingLeaseDiscountRate', window );">Operating leases discount rate</a></td>
<td class="nump">5.50%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_DisclosureLeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">FSI_DisclosureLeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_LesseeOperatingLeaseDiscountRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Discount rate used by lessee to determine present value of operating lease payments.</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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseDiscountRate</td>
</tr>
<tr>
<td style="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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>64
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496273566144">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF ACCOUNTS RECEIVABLE (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</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_ReceivablesAbstract', window );"><strong>Receivables [Abstract]</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_AccountsReceivableGross', window );">Accounts receivable</a></td>
<td class="nump">$ 10,133,249<span></span>
</td>
<td class="nump">$ 9,739,150<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables', window );">Allowances for doubtful accounts</a></td>
<td class="num">(290,193)<span></span>
</td>
<td class="num">(289,293)<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_AccountsAndNotesReceivableNet', window );">Total accounts receivable</a></td>
<td class="nump">$ 9,843,056<span></span>
</td>
<td class="nump">$ 9,449,857<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_AccountsAndNotesReceivableNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 accounts and financing receivable. Includes, but is not limited to, notes and loan 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> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-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;">us-gaap_AccountsAndNotesReceivableNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-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;">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_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 valuation allowance as of the balance sheet date to reduce the gross amount of receivables to estimated net realizable value, which would be presented in parentheses on the face of the balance sheet.</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> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ReceivablesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ReceivablesAbstract</td>
</tr>
<tr>
<td style="padding-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>65
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496273977584">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF INVENTORY (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</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_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</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_InventoryFinishedGoods', window );">Completed goods</a></td>
<td class="nump">$ 2,682,158<span></span>
</td>
<td class="nump">$ 3,806,646<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryRawMaterialsAndSupplies', window );">Raw materials and supplies</a></td>
<td class="nump">8,452,731<span></span>
</td>
<td class="nump">10,612,784<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 inventory</a></td>
<td class="nump">$ 11,134,889<span></span>
</td>
<td class="nump">$ 14,419,430<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_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_InventoryFinishedGoods">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 valuation and LIFO reserves of completed merchandise or goods expected to be sold 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/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_InventoryFinishedGoods</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">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_InventoryRawMaterialsAndSupplies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 unprocessed materials to be used in manufacturing or production process and supplies that will be consumed.</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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_InventoryRawMaterialsAndSupplies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>66
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496272320592">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</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_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</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_PropertyPlantAndEquipmentGross', window );">Cost</a></td>
<td class="nump">$ 23,365,705<span></span>
</td>
<td class="nump">$ 18,399,675<span></span>
</td>
</tr>
<tr class="re">
<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="nump">10,193,918<span></span>
</td>
<td class="nump">8,690,387<span></span>
</td>
</tr>
<tr class="ro">
<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, plant and equipment, net, total</a></td>
<td class="nump">13,171,787<span></span>
</td>
<td class="nump">9,709,288<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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</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_PropertyPlantAndEquipmentGross', window );">Cost</a></td>
<td class="nump">12,341,605<span></span>
</td>
<td class="nump">8,775,629<span></span>
</td>
</tr>
<tr class="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="nump">3,896,887<span></span>
</td>
<td class="nump">3,310,920<span></span>
</td>
</tr>
<tr class="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, plant and equipment, net, total</a></td>
<td class="nump">8,444,718<span></span>
</td>
<td class="nump">5,464,709<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_AutomobilesMember', window );">Automobiles [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_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</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_PropertyPlantAndEquipmentGross', window );">Cost</a></td>
<td class="nump">196,255<span></span>
</td>
<td class="nump">196,255<span></span>
</td>
</tr>
<tr class="re">
<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="nump">140,040<span></span>
</td>
<td class="nump">107,055<span></span>
</td>
</tr>
<tr class="ro">
<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, plant and equipment, net, total</a></td>
<td class="nump">56,215<span></span>
</td>
<td class="nump">89,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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerEquipmentMember', window );">Computer Equipment [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_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</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_PropertyPlantAndEquipmentGross', window );">Cost</a></td>
<td class="nump">43,493<span></span>
</td>
<td class="nump">43,432<span></span>
</td>
</tr>
<tr class="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="nump">43,123<span></span>
</td>
<td class="nump">42,663<span></span>
</td>
</tr>
<tr class="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, plant and equipment, net, total</a></td>
<td class="nump">370<span></span>
</td>
<td class="nump">769<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_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</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_PropertyPlantAndEquipmentGross', window );">Cost</a></td>
<td class="nump">134,130<span></span>
</td>
<td class="nump">133,280<span></span>
</td>
</tr>
<tr class="re">
<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="nump">121,925<span></span>
</td>
<td class="nump">112,782<span></span>
</td>
</tr>
<tr class="ro">
<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, plant and equipment, net, total</a></td>
<td class="nump">12,205<span></span>
</td>
<td class="nump">20,498<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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</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_PropertyPlantAndEquipmentGross', window );">Cost</a></td>
<td class="nump">10,008,395<span></span>
</td>
<td class="nump">8,634,063<span></span>
</td>
</tr>
<tr class="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="nump">5,791,615<span></span>
</td>
<td class="nump">4,891,736<span></span>
</td>
</tr>
<tr class="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, plant and equipment, net, total</a></td>
<td class="nump">4,216,780<span></span>
</td>
<td class="nump">3,742,327<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=FSI_TrailerMember', window );">Trailer [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_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</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_PropertyPlantAndEquipmentGross', window );">Cost</a></td>
<td class="nump">9,071<span></span>
</td>
<td class="nump">8,857<span></span>
</td>
</tr>
<tr class="re">
<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="nump">8,164<span></span>
</td>
<td class="nump">7,592<span></span>
</td>
</tr>
<tr class="ro">
<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, plant and equipment, net, total</a></td>
<td class="nump">907<span></span>
</td>
<td class="nump">1,265<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_LandMember', window );">Land [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_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</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_PropertyPlantAndEquipmentGross', window );">Cost</a></td>
<td class="nump">440,592<span></span>
</td>
<td class="nump">384,027<span></span>
</td>
</tr>
<tr class="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="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="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, plant and equipment, net, total</a></td>
<td class="nump">440,592<span></span>
</td>
<td class="nump">384,027<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_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</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_PropertyPlantAndEquipmentGross', window );">Cost</a></td>
<td class="nump">88,872<span></span>
</td>
<td class="nump">88,872<span></span>
</td>
</tr>
<tr class="re">
<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="nump">88,872<span></span>
</td>
<td class="nump">88,872<span></span>
</td>
</tr>
<tr class="ro">
<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, plant and equipment, net, total</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <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_DevelopedTechnologyRightsMember', window );">Developed Technology Rights [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_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</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_PropertyPlantAndEquipmentGross', window );">Cost</a></td>
<td class="nump">103,292<span></span>
</td>
<td class="nump">100,860<span></span>
</td>
</tr>
<tr class="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="nump">103,292<span></span>
</td>
<td class="nump">100,860<span></span>
</td>
</tr>
<tr class="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, plant and equipment, net, total</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <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=FSI_BoatMember', window );">Boat [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_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</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_PropertyPlantAndEquipmentGross', window );">Cost</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">34,400<span></span>
</td>
</tr>
<tr class="re">
<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="text">&#160;<span></span>
</td>
<td class="nump">27,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_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net, total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,493<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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-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;">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> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-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;">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_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-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_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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480842/942-360-50-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;">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_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_AutomobilesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AutomobilesMember</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_ComputerEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ComputerEquipmentMember</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_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=FSI_TrailerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_TrailerMember</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_LandMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LandMember</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_DevelopedTechnologyRightsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DevelopedTechnologyRightsMember</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=FSI_BoatMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_BoatMember</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>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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496363309856">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>PROPERTY, EQUIPMENT AND LEASEHOLDS (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</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_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [Abstract]</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_Depreciation', window );">Depreciation</a></td>
<td class="nump">$ 1,526,319<span></span>
</td>
<td class="nump">$ 1,103,732<span></span>
</td>
</tr>
<tr class="re">
<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 );">Sale of assets</a></td>
<td class="nump">$ 4,589<span></span>
</td>
<td class="text"> <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_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-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;">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_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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-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>68
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496273949840">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF PATENTS (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</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_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</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_FiniteLivedPatentsGross', window );">Patents, cost</a></td>
<td class="nump">$ 200,444<span></span>
</td>
<td class="nump">$ 195,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_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Patents, Accumulated amortization</a></td>
<td class="nump">200,444<span></span>
</td>
<td class="nump">195,725<span></span>
</td>
</tr>
<tr class="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 );">Patents, net</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <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_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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-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;">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_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> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483154/926-20-50-5<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-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;">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_FiniteLivedPatentsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 carrying amount before accumulated amortization as of the balance sheet date of the costs pertaining to the exclusive legal rights granted to the owner of the patent to exploit an invention or a process for a period of time specified by law. Such costs may have been expended to directly apply and receive patent rights, or to acquire such rights.</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> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-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;">us-gaap_FiniteLivedPatentsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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>69
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496274342368">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</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_Goodwill', window );">Goodwill</a></td>
<td class="nump">$ 2,534,275<span></span>
</td>
<td class="nump">$ 2,534,275<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill', window );">Indefinite lived intangible assets</a></td>
<td class="nump">770,000<span></span>
</td>
<td class="nump">770,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_IndefiniteLivedIntangibleAssetsExcludingGoodwill', window );">Indefinite lived intangible assets, beginning balance</a></td>
<td class="nump">770,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_AmortizationOfIntangibleAssets', window );">Amortization</a></td>
<td class="num">(160,000)<span></span>
</td>
<td class="num">(160,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_IndefiniteLivedIntangibleAssetsExcludingGoodwill', window );">Indefinite lived intangible assets, ending balance</a></td>
<td class="nump">770,000<span></span>
</td>
<td class="nump">770,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_dei_LegalEntityAxis=FSI_EnPInvestmentsCorporationLLCMember', window );">ENP Investments Limited Liability Corporation (LLC) [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_IndefiniteLivedIntangibleAssetsExcludingGoodwill', window );">Indefinite lived intangible assets</a></td>
<td class="nump">1,510,000<span></span>
</td>
<td class="nump">1,670,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_IndefiniteLivedIntangibleAssetsExcludingGoodwill', window );">Indefinite lived intangible assets, beginning balance</a></td>
<td class="nump">1,670,000<span></span>
</td>
<td class="nump">1,830,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_AmortizationOfIntangibleAssets', window );">Amortization</a></td>
<td class="num">(160,000)<span></span>
</td>
<td class="num">(160,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_IndefiniteLivedIntangibleAssetsExcludingGoodwill', window );">Indefinite lived intangible assets, ending balance</a></td>
<td class="nump">$ 1,510,000<span></span>
</td>
<td class="nump">$ 1,670,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_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482686/350-30-45-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-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;">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_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/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482598/350-20-45-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-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;">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_IndefiniteLivedIntangibleAssetsExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 assets, excluding financial assets and goodwill, lacking physical substance and having 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> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-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;">us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_dei_LegalEntityAxis=FSI_EnPInvestmentsCorporationLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">dei_LegalEntityAxis=FSI_EnPInvestmentsCorporationLLCMember</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>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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496269715712">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>PATENTS (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</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_AmortizationOfIntangibleAssets', window );">Amount of amortization</a></td>
<td class="nump">$ 160,000<span></span>
</td>
<td class="nump">$ 160,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_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_PatentsMember', window );">Patents [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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</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_AmortizationOfIntangibleAssets', window );">Amount of amortization</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 13,699<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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482686/350-30-45-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-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;">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_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483154/926-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="padding-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_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_PatentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PatentsMember</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>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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496272723456">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (Details) - Finite-Lived Intangible Assets [Member]<br></strong></div></th>
<th class="th">
<div>Dec. 31, 2023 </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_ImpairmentEffectsOnEarningsPerShareLineItems', window );"><strong>Impairment Effects on Earnings Per Share [Line Items]</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_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">2024</a></td>
<td class="nump">$ 160,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_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">2025</a></td>
<td class="nump">160,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_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">2026</a></td>
<td class="nump">160,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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour', window );">2027</a></td>
<td class="nump">160,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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive', window );">2028</a></td>
<td class="nump">$ 160,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_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> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-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;">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> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-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;">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> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-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;">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> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-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;">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> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-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;">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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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;">us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems</td>
</tr>
<tr>
<td style="padding-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_FairValueByAssetClassAxis=us-gaap_FiniteLivedIntangibleAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FairValueByAssetClassAxis=us-gaap_FiniteLivedIntangibleAssetsMember</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>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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496271634752">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>GOODWILL AND INTANGIBLE ASSETS (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</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_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</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_AmortizationOfIntangibleAssets', window );">Amortization</a></td>
<td class="nump">$ 160,000<span></span>
</td>
<td class="nump">$ 160,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_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482686/350-30-45-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-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;">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_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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>73
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496357473648">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF LONG TERM DEPOSITS (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</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_FSI_DisclosureLongTermDepositsAbstract', window );"><strong>Long Term Deposits</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_DepositsAssetsNoncurrent', window );">Long term deposits</a></td>
<td class="nump">$ 824,254<span></span>
</td>
<td class="nump">$ 8,540<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_DisclosureLongTermDepositsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">FSI_DisclosureLongTermDepositsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_DepositsAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of amounts transferred to third parties for security purposes that are expected to be returned or applied towards payment 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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_DepositsAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>74
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496363523296">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</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_EquityMethodInvestmentsAndJointVenturesAbstract', window );"><strong>Equity Method Investments and Joint Ventures [Abstract]</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_BusinessCombinationConsiderationTransferred1', window );">Purchase consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 506,659<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents', window );">Cash</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,330<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings', window );">Building</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,750,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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand', window );">Land</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">150,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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities', window );">Deferred tax liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(174,582)<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_FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt', window );">Long term debt</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,849,500)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets', window );">Total identifiable net assets:</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">883,248<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_FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice', window );">Excess of assets acquired over consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">376,589<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_FSI_InvestmentEliminatedUponConsolidation', window );">Less investment eliminated upon consolidation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(41,538)<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_FSI_GainOnAcquisitionOfSubsidiary', window );">Gain on acquisition of ENP Peru</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 335,051<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Business combination recognized identifiable assets acquired and liabilities assumed less purchase price.</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;">FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Business combination recognized identifiable assets acquired and liabilities assumed long term debt.</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;">FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_GainOnAcquisitionOfSubsidiary">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gain on acquisition of subsidiary.</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;">FSI_GainOnAcquisitionOfSubsidiary</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_InvestmentEliminatedUponConsolidation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Investment eliminated upon consolidation.</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;">FSI_InvestmentEliminatedUponConsolidation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 8<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479637/805-30-30-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479581/805-30-50-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 7<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479637/805-30-30-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 assets 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> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-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;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 facility held for productive use including, but not limited to, office, production, storage and distribution facilities, 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> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-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;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, acquired at the acquisition date. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</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> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-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;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-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;">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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 real estate 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> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-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;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_EquityMethodInvestmentsAndJointVenturesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EquityMethodInvestmentsAndJointVenturesAbstract</td>
</tr>
<tr>
<td style="padding-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>75
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496363332608">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF EQUITY METHOD INVESTMENT (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</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_EquityMethodInvestments', window );">Balance, Beginning</a></td>
<td class="nump">$ 5,458,895<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_FSI_InvestmentEliminatedUponConsolidation', window );">Investment eliminated upon consolidation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (41,538)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestments', window );">Balance, Ending</a></td>
<td class="nump">6,033,960<span></span>
</td>
<td class="nump">5,458,895<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_dei_LegalEntityAxis=FSI_EnpPeruInvestmentsLlcMember', window );">ENP Peru Investments LLC [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_EquityMethodInvestments', window );">Balance, Beginning</a></td>
<td class="nump">22,642<span></span>
</td>
<td class="nump">3,822<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_FSI_EquityMethodInvestmentReturnOfEquity', window );">Return of equity</a></td>
<td class="num">(8,750)<span></span>
</td>
<td class="num">(3,822)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal', window );">Gain in equity method investment</a></td>
<td class="nump">27,646<span></span>
</td>
<td class="nump">22,642<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_FSI_InvestmentEliminatedUponConsolidation', window );">Investment eliminated upon consolidation</a></td>
<td class="num">(41,538)<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_EquityMethodInvestments', window );">Balance, Ending</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">22,642<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_dei_LegalEntityAxis=FSI_FloridaBasedLLCMember', window );">Florida Based LLC [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_EquityMethodInvestments', window );">Balance, Beginning</a></td>
<td class="nump">3,758,895<span></span>
</td>
<td class="nump">3,701,368<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_FSI_EquityMethodInvestmentReturnOfEquity', window );">Return of equity</a></td>
<td class="num">(200,000)<span></span>
</td>
<td class="num">(250,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_EquityMethodInvestmentRealizedGainLossOnDisposal', window );">Gain in equity method investment</a></td>
<td class="nump">505,065<span></span>
</td>
<td class="nump">307,527<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestments', window );">Balance, Ending</a></td>
<td class="nump">$ 4,063,960<span></span>
</td>
<td class="nump">$ 3,758,895<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_EquityMethodInvestmentReturnOfEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Return of equity.</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;">FSI_EquityMethodInvestmentReturnOfEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_InvestmentEliminatedUponConsolidation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Investment eliminated upon consolidation.</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;">FSI_InvestmentEliminatedUponConsolidation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_EquityMethodInvestmentRealizedGainLossOnDisposal">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 an equity method investment.</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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(7)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(9)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-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;">us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_EquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 item represents the carrying amount on the entity's balance sheet of its investment in common stock of an equity method investee. This is not an indicator of the fair value of the investment, rather it is the initial cost adjusted for the entity's share of earnings and losses of the investee, adjusted for any distributions (dividends) and other than temporary impairment (OTTI) losses 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> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481664/323-10-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_dei_LegalEntityAxis=FSI_EnpPeruInvestmentsLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">dei_LegalEntityAxis=FSI_EnpPeruInvestmentsLlcMember</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_dei_LegalEntityAxis=FSI_FloridaBasedLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">dei_LegalEntityAxis=FSI_FloridaBasedLLCMember</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>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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496274514768">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</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_EquityMethodInvestmentsAndJointVenturesAbstract', window );"><strong>Equity Method Investments and Joint Ventures [Abstract]</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_GainsLossesOnSalesOfInvestmentRealEstate', window );">Net sales</a></td>
<td class="nump">$ 16,043,468<span></span>
</td>
<td class="nump">$ 18,103,070<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RealizedInvestmentGainsLosses', window );">Gross profit</a></td>
<td class="nump">4,668,177<span></span>
</td>
<td class="nump">4,204,311<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_FSI_RealizedInvestmentGainsLossesNet', window );">Net income</a></td>
<td class="nump">$ 1,010,128<span></span>
</td>
<td class="nump">$ 615,055<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_RealizedInvestmentGainsLossesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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.</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;">FSI_RealizedInvestmentGainsLossesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_EquityMethodInvestmentsAndJointVenturesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EquityMethodInvestmentsAndJointVenturesAbstract</td>
</tr>
<tr>
<td style="padding-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_GainsLossesOnSalesOfInvestmentRealEstate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 gain (loss) resulting from sales and other disposals of real estate owned for investment purposes.</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> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(7)(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(7)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(9)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(14)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -SubTopic 360<br> -Topic 944<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479638/944-360-45-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -SubTopic 360<br> -Topic 944<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479638/944-360-45-4<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 360<br> -Topic 944<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479607/944-360-50-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;">us-gaap_GainsLossesOnSalesOfInvestmentRealEstate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_RealizedInvestmentGainsLosses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 realized gain (loss) on investment.</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> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(3)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-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;">us-gaap_RealizedInvestmentGainsLosses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>77
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496276111488">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INVESTMENTS (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">1 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</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>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Apr. 30, 2023</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 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_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method Investments [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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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 );">Purchase 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="nump">$ 506,659<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_Cash', window );">Cash</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">$ 5,017,583<span></span>
</td>
<td class="nump">6,115,099<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_Investments', window );">Investment</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"> <span></span>
</td>
<td class="nump">200,000<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>
</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_FSI_DebtInstrumentMaturityMonthYear', window );">Debt maturity</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">2023-12<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_PaymentsToAcquireInvestments', window );">Payments to Acquire Investments</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">470,000<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_dei_LegalEntityAxis=FSI_AppliedHoldingCorpMember', window );">Applied Holding Corp [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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method Investments [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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_Investments', window );">Investment</a></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="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_dei_LegalEntityAxis=FSI_TrioOpportunityCorpMember', window );">Trio Opportunity Corp [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_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method Investments [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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_Investments', window );">Investment</a></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="nump">$ 470,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_dei_LegalEntityAxis=FSI_TrioOpportunityCorpMember', window );">Trio Opportunity Corp [Member] | Common Class B [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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method Investments [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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_StockIssuedDuringPeriodSharesNewIssues', window );">Common stock issued, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">97,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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharePrice', window );">Share price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10.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>
<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_dei_LegalEntityAxis=FSI_FloridaBasedLLCMember', window );">Florida Based LLC [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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method Investments [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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_Revenues', window );">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="nump">10,260,870<span></span>
</td>
<td class="nump">12,938,735<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_AccountsReceivableNet', window );">Accounts receivable related parties</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,073,813<span></span>
</td>
<td class="nump">$ 2,423,285<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_dei_LegalEntityAxis=FSI_LygosIncMember', window );">Lygos 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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method Investments [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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_Investments', window );">Investment</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,000,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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireInvestments', window );">Payments to Acquire Investments</a></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="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>
</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=FSI_ENPPeruMember', window );">ENP Peru [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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method Investments [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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_BusinessCombinationConsiderationTransferred1', window );">Purchase consideration</a></td>
<td class="nump">$ 506,659<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_Cash', window );">Cash</a></td>
<td class="nump">$ 259,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>
<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=FSI_EnpnvestmentsLlcMember', window );">ENP Investments LLC [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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method Investments [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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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 );">Non-controlling interest percentage</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">35.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_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_EnpPeruInvestmentsLlcMember', window );">ENP Peru Investments LLC [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_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method Investments [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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_EquityMethodInvestmentOwnershipPercentage', window );">Ownership percentage</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">50.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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_NanoChemMember', window );">Nano Chem [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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method Investments [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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_EquityMethodInvestmentOwnershipPercentage', window );">Ownership percentage</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">41.67%<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_FSI_AdditionalEquityMethodInvestmentOwnershipPercentage', window );">Additional equity method investment ownership percentage</a></td>
<td class="nump">50.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>
<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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_ENPInvestmentsLLCMember', window );">ENP Investments, LLC [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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method Investments [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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_EquityMethodInvestmentOwnershipPercentage', window );">Ownership percentage</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">8.33%<span></span>
</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">8.33%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8.33%<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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_FloridaBasedLLCMember', window );">Florida Based LLC [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_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method Investments [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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_EquityMethodInvestmentOwnershipPercentage', window );">Ownership percentage</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">50.00%<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_FSI_AdditionalEquityMethodInvestmentOwnershipPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 equity method investment ownership percentage.</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;">FSI_AdditionalEquityMethodInvestmentOwnershipPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_DebtInstrumentMaturityMonthYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">FSI_DebtInstrumentMaturityMonthYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearMonthItemType</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_AccountsReceivableNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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.</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> -Topic 946<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480833/946-310-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(5)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481058/954-310-45-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;">us-gaap_AccountsReceivableNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 8<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479637/805-30-30-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479581/805-30-50-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 7<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479637/805-30-30-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_Cash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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. 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://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480555/946-210-45-21<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 210<br> -Topic 946<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480555/946-210-45-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Cash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_EquityMethodInvestmentOwnershipPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 ownership of common stock or equity participation in the investee accounted for under the equity method of accounting.</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> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentOwnershipPercentage</td>
</tr>
<tr>
<td style="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_Investments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 investments.</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> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(1)(h))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-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;">us-gaap_Investments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_PaymentsToAcquireInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 all investments (debt, security, other) 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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-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;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ScheduleOfEquityMethodInvestmentsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEquityMethodInvestmentsLineItems</td>
</tr>
<tr>
<td style="padding-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_SharePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Price of a single share of a number of saleable stocks of a company.</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_SharePrice</td>
</tr>
<tr>
<td style="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_StockIssuedDuringPeriodSharesNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 stock issued 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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_StockIssuedDuringPeriodSharesNewIssues</td>
</tr>
<tr>
<td style="padding-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_dei_LegalEntityAxis=FSI_AppliedHoldingCorpMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">dei_LegalEntityAxis=FSI_AppliedHoldingCorpMember</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_dei_LegalEntityAxis=FSI_TrioOpportunityCorpMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">dei_LegalEntityAxis=FSI_TrioOpportunityCorpMember</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_StatementClassOfStockAxis=us-gaap_CommonClassBMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementClassOfStockAxis=us-gaap_CommonClassBMember</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_dei_LegalEntityAxis=FSI_FloridaBasedLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">dei_LegalEntityAxis=FSI_FloridaBasedLLCMember</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_dei_LegalEntityAxis=FSI_LygosIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">dei_LegalEntityAxis=FSI_LygosIncMember</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=FSI_ENPPeruMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_ENPPeruMember</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=FSI_EnpnvestmentsLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_EnpnvestmentsLlcMember</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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_EnpPeruInvestmentsLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_EnpPeruInvestmentsLlcMember</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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_NanoChemMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_NanoChemMember</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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_ENPInvestmentsLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_ENPInvestmentsLLCMember</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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_FloridaBasedLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_FloridaBasedLLCMember</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>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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496272564528">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SHORT-TERM LINE OF CREDIT (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2023</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_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [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_us-gaap_LinesOfCreditCurrent', window );">Line of credit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,810,479<span></span>
</td>
<td class="nump">$ 2,818,591<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_LineOfCreditFacilityAxis=FSI_StockYardAndBankMember', window );">Stock Yard And Bank One [Member] | 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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [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="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_LoanGuaranteedRate', window );">Loan guaranteed rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">35.00%<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_LinesOfCreditCurrent', window );">Line of credit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,575,000<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_LineOfCreditFacilityAxis=FSI_StockYardAndBankMember', window );">Stock Yard And Bank One [Member] | New Agreement [Member] | NanoChem Solutions 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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [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="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_LoanGuaranteedRate', window );">Loan guaranteed rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">65.00%<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_LinesOfCreditCurrent', window );">Line of credit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,925,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_ShortTermBorrowings', window );">Short term borrowings</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,810,479<span></span>
</td>
<td class="nump">$ 2,477,794<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_LineOfCreditFacilityAxis=FSI_StockYardAndBankMember', window );">Stock Yard And Bank One [Member] | Midland States Bank [Member] | New Agreement [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_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [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_us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity', window );">Line of Credit Facility, Current Borrowing Capacity</a></td>
<td class="nump">$ 500,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_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Aggregate amount of revolving line of credit</a></td>
<td class="nump">$ 4,500,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_FSI_PercentageOfForeignAccountsReceivableOfInventory', window );">Percentage of foreign accounts receivable of inventory</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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Debt face amount</a></td>
<td class="nump">$ 2,000,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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8.50%<span></span>
</td>
<td class="nump">7.50%<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_LineOfCreditFacilityAxis=FSI_StockBankMember', window );">Stock Bank [Member] | New Agreement [Member] | NanoChem Solutions Inc [Member] | Revolving Credit Facility [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_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [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="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="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 340,797<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_LineOfCreditFacilityAxis=FSI_StockBankMember', window );">Stock Bank [Member] | Midland States Bank [Member] | New Agreement [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_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [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_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Aggregate amount of revolving line of credit</a></td>
<td class="nump">$ 4,000,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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_PercentageOfForeignAccountsReceivableOfInventory', window );">Percentage of foreign accounts receivable of inventory</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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Debt face amount</a></td>
<td class="nump">$ 2,000,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_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8.50%<span></span>
</td>
<td class="nump">7.50%<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_FSI_EligiblePercentageOfDomesticAccountsReceivable', window );">Eligible percentage of domestic accounts receivable</a></td>
<td class="nump">80.00%<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_FSI_EligiblePercentageOfDomesticAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Eligible percentage of domestic accounts receivable.</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;">FSI_EligiblePercentageOfDomesticAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_LoanGuaranteedRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Loan guaranteed rate.</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;">FSI_LoanGuaranteedRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_PercentageOfForeignAccountsReceivableOfInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 foreign accounts receivable of inventory.</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;">FSI_PercentageOfForeignAccountsReceivableOfInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_DebtInstrumentFaceAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 (par) amount of debt instrument at time of issuance.</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> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482900/835-30-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-2<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482949/835-30-55-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentFaceAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</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> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="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_LineOfCreditFacilityCurrentBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 borrowing capacity under the credit facility considering any current restrictions on the amount that could be borrowed (for example, borrowings may be limited by the amount of current assets), but without considering any 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> -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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LineOfCreditFacilityLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-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;">us-gaap_LineOfCreditFacilityLineItems</td>
</tr>
<tr>
<td style="padding-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_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> -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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">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_LinesOfCreditCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-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;">us-gaap_LinesOfCreditCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">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_LineOfCreditFacilityAxis=FSI_StockYardAndBankMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LineOfCreditFacilityAxis=FSI_StockYardAndBankMember</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_NoncontrollingInterestMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_NoncontrollingInterestMember</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_TypeOfArrangementAxis=FSI_NewAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=FSI_NewAgreementMember</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_dei_LegalEntityAxis=FSI_NanoChemSolutionIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">dei_LegalEntityAxis=FSI_NanoChemSolutionIncMember</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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_MidlandStatesBankMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_MidlandStatesBankMember</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_LineOfCreditFacilityAxis=FSI_StockBankMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LineOfCreditFacilityAxis=FSI_StockBankMember</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>79
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496368320880">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF LOAN COVENANTS (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</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_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [Abstract]</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_LongTermDebt', window );">Balance, beginning of period</a></td>
<td class="nump">$ 6,154,077<span></span>
</td>
<td class="nump">$ 2,366,598<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromBankDebt', window );">Plus: Proceeds from loans</a></td>
<td class="nump">2,686,682<span></span>
</td>
<td class="nump">3,230,798<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_FSI_ProceedsFromLoanAcquiredFromAcquisition', window );">Plus: Loan acquired with acquisition of ENP Peru</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">2,849,500<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForProceedsFromDepositOnLoan', window );">Less: Payments on loan</a></td>
<td class="num">(725,823)<span></span>
</td>
<td class="num">(2,292,819)<span></span>
</td>
</tr>
<tr class="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 );">Balance, end of period</a></td>
<td class="nump">$ 8,114,936<span></span>
</td>
<td class="nump">$ 6,154,077<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_ProceedsFromLoanAcquiredFromAcquisition">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Proceeds from loan acquired from acquisition.</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;">FSI_ProceedsFromLoanAcquiredFromAcquisition</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_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, after deduction of 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_PaymentsForProceedsFromDepositOnLoan">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 cash inflow or outflow from resulting from payment, receipt or drawdown of cash deposit to guarantee a loan 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> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Subparagraph (c)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForProceedsFromDepositOnLoan</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProceedsFromBankDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 bank borrowing 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> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromBankDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>80
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496272424496">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF OUTSTANDING BALANCE LOAN (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</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_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure [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_us-gaap_LongTermDebt', window );">Long-term debt</a></td>
<td class="nump">$ 8,114,936<span></span>
</td>
<td class="nump">$ 6,154,077<span></span>
</td>
<td class="nump">$ 2,366,598<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="num">(1,281,632)<span></span>
</td>
<td class="num">(717,612)<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_LongTermDebtNoncurrent', window );">Long-term debt non current</a></td>
<td class="nump">6,833,304<span></span>
</td>
<td class="nump">5,436,465<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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_MidlandStatesBankMember', window );">Midland States Bank [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_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure [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="re">
<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</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_MidlandStatesBankOneMember', window );">Midland States Bank One [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_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure [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_us-gaap_LongTermDebt', window );">Long-term debt</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustMember', window );">Stock Yards Bank &amp; Trust [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_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure [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="re">
<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</a></td>
<td class="nump">399,269<span></span>
</td>
<td class="nump">415,430<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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustOneMember', window );">Stock Yards Bank Trust One [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_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure [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_us-gaap_LongTermDebt', window );">Long-term debt</a></td>
<td class="nump">1,004,748<span></span>
</td>
<td class="nump">1,632,672<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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustTwoMember', window );">Stock Yards Bank Trust Two [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_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure [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="re">
<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</a></td>
<td class="nump">2,737,232<span></span>
</td>
<td class="nump">2,813,015<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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustThreeMember', window );">Stock Yards Bank Trust Three [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_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure [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_us-gaap_LongTermDebt', window );">Long-term debt</a></td>
<td class="nump">250,207<span></span>
</td>
<td class="nump">256,162<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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustFourMember', window );">Stock Yards Bank Trust Four [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_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure [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="re">
<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</a></td>
<td class="nump">1,475,188<span></span>
</td>
<td class="nump">1,036,798<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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustFiveMember', window );">Stock Yards Bank Trust Five [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_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure [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_us-gaap_LongTermDebt', window );">Long-term debt</a></td>
<td class="nump">$ 2,248,292<span></span>
</td>
<td class="text"> <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_DefinedBenefitPlanDisclosureLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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;">us-gaap_DefinedBenefitPlanDisclosureLineItems</td>
</tr>
<tr>
<td style="padding-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_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, after deduction of 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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 deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as current. 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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">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_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, after deduction of 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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_MidlandStatesBankMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_MidlandStatesBankMember</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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_MidlandStatesBankOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_MidlandStatesBankOneMember</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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustMember</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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustOneMember</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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustTwoMember</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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustThreeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustThreeMember</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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustFourMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustFourMember</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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustFiveMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustFiveMember</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>81
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496266782512">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LONG TERM DEBT (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">1 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Oct. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Jun. 30, 2023</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_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [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>
<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_InterestExpense', window );">Interest expense</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">$ 498,666<span></span>
</td>
<td class="nump">$ 292,949<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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_MidlandBankMember', window );">Midland Bank [Member] | NanoChem Solutions 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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [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>
<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_DebtInstrumentFaceAmount', window );">Debt instrument face amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 894,253<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_InterestExpenseDebt', window );">Interest expense 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"> <span></span>
</td>
<td class="nump">5,816<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_DebtDefaultLongtermDebtAmount', window );">Debt Long term debt amount</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"> <span></span>
</td>
<td class="text"> <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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_MidlandBankMember', window );">Midland Bank [Member] | NanoChem Solutions Inc [Member] | Prime Rate [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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [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>
<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_DebtInstrumentInterestRateStatedPercentage', window );">Debt instrument interest rate stated percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3.85%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustMember', window );">Stock Yards Bank &amp; Trust [Member] | ENP Realty LLC [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_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [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>
<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_DebtInstrumentTerm', window );">Debt instrument term</a></td>
<td class="text">3 years<span></span>
</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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustMember', window );">Stock Yards Bank &amp; Trust [Member] | ENP Realty LLC [Member] | Prime Rate [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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [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>
<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_DebtInstrumentInterestRateStatedPercentage', window );">Debt instrument interest rate stated percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.35%<span></span>
</td>
<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_DebtInstrumentAxis=FSI_TermLoanMember', window );">Term Loan [Member] | Nano Chem [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_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [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>
<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_DebtInstrumentFaceAmount', window );">Debt instrument face amount</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,000,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_DebtInstrumentInterestRateStatedPercentage', window );">Debt instrument interest rate stated percentage</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">6.50%<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_InterestExpenseDebt', window );">Interest expense 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="nump">67,397<span></span>
</td>
<td class="nump">$ 23,632<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_DebtDefaultLongtermDebtAmount', window );">Debt Long term debt amount</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">1,475,188<span></span>
</td>
<td class="nump">1,036,798<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_DebtInstrumentAxis=FSI_TermLoanMember', window );">Term Loan [Member] | Mendota [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_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [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>
<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_DebtInstrumentFaceAmount', window );">Debt instrument face amount</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">$ 3,240,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_InterestExpenseDebt', window );">Interest expense 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="nump">95,396<span></span>
</td>
<td class="text"> <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_DebtDefaultLongtermDebtAmount', window );">Debt Long term debt amount</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,248,292<span></span>
</td>
<td class="text"> <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_DebtInstrumentAxis=FSI_TermLoanMember', window );">Term Loan [Member] | Midland Bank [Member] | NanoChem Solutions 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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [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>
<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_DebtInstrumentFaceAmount', window );">Debt instrument face amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,980,947<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtInstrumentInterestRateStatedPercentage', window );">Debt instrument interest rate stated percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">65.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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentTerm', window );">Debt instrument term</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>
<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_InterestExpenseDebt', window );">Interest expense 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"> <span></span>
</td>
<td class="nump">30,334<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_DebtDefaultLongtermDebtAmount', window );">Debt Long term debt amount</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"> <span></span>
</td>
<td class="text"> <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_DebtInstrumentAxis=FSI_TermLoanMember', window );">Term Loan [Member] | Midland Bank [Member] | NanoChem Solutions Inc [Member] | Prime Rate [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_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [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>
<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_DebtInstrumentInterestRateStatedPercentage', window );">Debt instrument interest rate stated percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3.85%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtInstrumentAxis=FSI_TermLoanMember', window );">Term Loan [Member] | Midland Bank [Member] | ENP Mendota, LLC [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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [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>
<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_DebtInstrumentFaceAmount', window );">Debt instrument face amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 450,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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Debt instrument interest rate stated percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentTerm', window );">Debt instrument term</a></td>
<td class="text">&#160;<span></span>
</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>
<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_InterestExpenseDebt', window );">Interest expense 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="nump">17,911<span></span>
</td>
<td class="nump">17,107<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_DebtDefaultLongtermDebtAmount', window );">Debt Long term debt amount</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">399,269<span></span>
</td>
<td class="nump">415,430<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_DebtInstrumentAxis=FSI_TermLoanMember', window );">Term Loan [Member] | Midland Bank [Member] | Nano Chem [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_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [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>
<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_DebtInstrumentFaceAmount', window );">Debt instrument face amount</a></td>
<td class="nump">$ 1,935,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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Debt instrument interest rate stated percentage</a></td>
<td class="nump">4.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>
<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_InterestExpenseDebt', window );">Interest expense 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="nump">66,957<span></span>
</td>
<td class="nump">45,113<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_DebtDefaultLongtermDebtAmount', window );">Debt Long term debt amount</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">1,004,747<span></span>
</td>
<td class="nump">1,632,672<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_DebtInstrumentAxis=FSI_TermLoanMember', window );">Term Loan [Member] | Midland Bank [Member] | ENP Peru Investments [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_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [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>
<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_DebtInstrumentFaceAmount', window );">Debt instrument face amount</a></td>
<td class="nump">$ 259,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">250,207<span></span>
</td>
<td class="nump">256,162<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_DebtInstrumentInterestRateStatedPercentage', window );">Debt instrument interest rate stated percentage</a></td>
<td class="nump">65.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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentTerm', window );">Debt instrument term</a></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>
<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_InterestExpenseDebt', window );">Interest expense 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="nump">13,877<span></span>
</td>
<td class="nump">7,077<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_DebtInstrumentAxis=FSI_TermLoanMember', window );">Term Loan [Member] | Midland Bank [Member] | ENP Peru Investments [Member] | Prime Rate [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_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [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>
<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_DebtInstrumentInterestRateStatedPercentage', window );">Debt instrument interest rate stated percentage</a></td>
<td class="nump">5.40%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtInstrumentAxis=FSI_TermLoanMember', window );">Term Loan [Member] | Midland Bank [Member] | ENP Peru One [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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [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>
<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_DebtInstrumentFaceAmount', window );">Debt instrument face amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,000,000<span></span>
</td>
<td class="nump">2,737,232<span></span>
</td>
<td class="nump">2,813,015<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_DebtInstrumentTerm', window );">Debt instrument term</a></td>
<td class="text">&#160;<span></span>
</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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LoansPayable', window );">First mortgage</a></td>
<td class="nump">$ 2,849,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 122,544<span></span>
</td>
<td class="nump">$ 62,679<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_DebtInstrumentAxis=FSI_TermLoanMember', window );">Term Loan [Member] | Midland Bank [Member] | ENP Peru One [Member] | Prime Rate [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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [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>
<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_DebtInstrumentInterestRateStatedPercentage', window );">Debt instrument interest rate stated percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.35%<span></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_DebtDefaultLongtermDebtAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 outstanding long-term debt or borrowing associated with any securities or credit agreement for which there has been a default in principal, interest, sinking fund, or redemption provisions, or any breach of covenant that existed at the end of the period and subsequently has not been cured.</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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-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;">us-gaap_DebtDefaultLongtermDebtAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DebtInstrumentFaceAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 (par) amount of debt instrument at time of issuance.</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> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482900/835-30-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-2<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482949/835-30-55-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentFaceAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</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> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="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_DebtInstrumentTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 time between issuance and maturity of debt instrument, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</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_DebtInstrumentTerm</td>
</tr>
<tr>
<td style="padding-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_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/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483013/835-20-50-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;">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_InterestExpenseDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for 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/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69E<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69E<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69F<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69F<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.8)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpenseDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LoansPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Including the current and noncurrent portions, aggregate carrying value as of the balance sheet date of loans payable (with maturities initially 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> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-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;">us-gaap_LoansPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ShortTermDebtLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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;">us-gaap_ShortTermDebtLineItems</td>
</tr>
<tr>
<td style="padding-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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_MidlandBankMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_MidlandBankMember</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_dei_LegalEntityAxis=FSI_NanoChemSolutionsIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">dei_LegalEntityAxis=FSI_NanoChemSolutionsIncMember</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_PrimeRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PrimeRateMember</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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustMember</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_dei_LegalEntityAxis=FSI_EnpRealtyLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">dei_LegalEntityAxis=FSI_EnpRealtyLLCMember</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=FSI_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_DebtInstrumentAxis=FSI_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_dei_LegalEntityAxis=FSI_NanoChemMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">dei_LegalEntityAxis=FSI_NanoChemMember</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_dei_LegalEntityAxis=FSI_MendotaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">dei_LegalEntityAxis=FSI_MendotaMember</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_dei_LegalEntityAxis=FSI_ENPMendotaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">dei_LegalEntityAxis=FSI_ENPMendotaMember</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_dei_LegalEntityAxis=FSI_ENPPeruInvestmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">dei_LegalEntityAxis=FSI_ENPPeruInvestmentsMember</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_dei_LegalEntityAxis=FSI_ENPPeruOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">dei_LegalEntityAxis=FSI_ENPPeruOneMember</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>82
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496277218704">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT) (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</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_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</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_CurrentFederalTaxExpenseBenefit', window );">Current tax, federal</a></td>
<td class="nump">$ 753,683<span></span>
</td>
<td class="nump">$ 1,017,059<span></span>
</td>
</tr>
<tr class="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 );">Current tax, state</a></td>
<td class="nump">340,952<span></span>
</td>
<td class="nump">460,098<span></span>
</td>
</tr>
<tr class="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 );">Current tax, foreign</a></td>
<td class="nump">151,236<span></span>
</td>
<td class="nump">216,082<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_FSI_CurrentTax', window );">Current tax</a></td>
<td class="nump">1,245,871<span></span>
</td>
<td class="nump">1,693,239<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_FSI_IncomeTaxRecovery', window );">Income tax recovery</a></td>
<td class="num">(1,127,689)<span></span>
</td>
<td class="num">(1,476,088)<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 tax, total</a></td>
<td class="nump">118,182<span></span>
</td>
<td class="nump">217,151<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Deferred income tax, federal</a></td>
<td class="num">(172,763)<span></span>
</td>
<td class="num">(49,088)<span></span>
</td>
</tr>
<tr class="re">
<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 );">Deferred income tax, state</a></td>
<td class="num">(78,154)<span></span>
</td>
<td class="num">(22,207)<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Deferred income tax, foreign</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <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_DeferredIncomeTaxExpenseBenefit', window );">Deferred income tax, total</a></td>
<td class="num">(250,917)<span></span>
</td>
<td class="num">(71,295)<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 );">Total</a></td>
<td class="num">$ (132,735)<span></span>
</td>
<td class="nump">$ 145,856<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_CurrentTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Current tax.</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;">FSI_CurrentTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_IncomeTaxRecovery">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Income tax recovery.</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;">FSI_IncomeTaxRecovery</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-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;">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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-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;">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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-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;">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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-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;">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_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-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;">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_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_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> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-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;">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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>83
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496274114064">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF RECONCILIATION OF INCOME TAXES (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</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_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before tax</a></td>
<td class="nump">$ 3,623,250<span></span>
</td>
<td class="nump">$ 7,859,085<span></span>
</td>
</tr>
<tr class="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 );">US statutory tax rates</a></td>
<td class="nump">30.50%<span></span>
</td>
<td class="nump">30.50%<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_FSI_ExpectedIncomeTaxRecovery', window );">Expected income tax</a></td>
<td class="nump">$ 1,105,091<span></span>
</td>
<td class="nump">$ 2,397,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_IncomeTaxReconciliationNondeductibleExpense', window );">Non-deductible items</a></td>
<td class="nump">362,554<span></span>
</td>
<td class="num">(243,167)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationOtherAdjustments', window );">Change in estimates and other</a></td>
<td class="num">(1,585,427)<span></span>
</td>
<td class="num">(2,004,041)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential', window );">Foreign tax rate difference</a></td>
<td class="num">(92,379)<span></span>
</td>
<td class="num">(226,611)<span></span>
</td>
</tr>
<tr class="ro">
<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="nump">77,426<span></span>
</td>
<td class="num">(222,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_IncomeTaxExpenseBenefit', window );">Total income tax expense (recovery)</a></td>
<td class="num">(132,735)<span></span>
</td>
<td class="nump">145,856<span></span>
</td>
</tr>
<tr class="ro">
<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</a></td>
<td class="nump">118,182<span></span>
</td>
<td class="nump">217,151<span></span>
</td>
</tr>
<tr class="re">
<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 tax recovery</a></td>
<td class="num">$ (250,917)<span></span>
</td>
<td class="num">$ (71,295)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_ExpectedIncomeTaxRecovery">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 income tax recovery.</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;">FSI_ExpectedIncomeTaxRecovery</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-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;">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_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> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -SubTopic 20<br> -Topic 940<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481913/940-20-25-1<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-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;">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_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_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> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-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;">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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 foreign income 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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncomeTaxReconciliationNondeductibleExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 nondeductible expenses.</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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationNondeductibleExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncomeTaxReconciliationOtherAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationOtherAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>84
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496384141536">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF DEFERRED TAX ASSETS (LIABILITIES) (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</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_IncomeTaxAuthorityNameAxis=us-gaap_CanadaRevenueAgencyMember', window );">Canada Revenue Agency [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_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [Line Items]</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_DeferredTaxAssetsOperatingLossCarryforwards', window );">Net operating loss carryforwards</a></td>
<td class="nump">$ 855,176<span></span>
</td>
<td class="nump">$ 891,954<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets', window );">Intangible assets</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <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_FSI_DeferredTaxAssetsPropertyPlantsAndEquipment', window );">Property, equipment and leaseholds</a></td>
<td class="nump">30,916<span></span>
</td>
<td class="nump">47,279<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsGross', window );">Deferred tax assets gross</a></td>
<td class="nump">886,092<span></span>
</td>
<td class="nump">939,233<span></span>
</td>
</tr>
<tr class="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">(886,092)<span></span>
</td>
<td class="num">(939,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_DeferredTaxAssetsNet', window );">Net deferred tax asset</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <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_IncomeTaxAuthorityNameAxis=us-gaap_InternalRevenueServiceIRSMember', window );">Internal Revenue Service (IRS) [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_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [Line Items]</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_DeferredTaxAssetsOperatingLossCarryforwards', window );">Net operating loss carryforwards</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets', window );">Intangible assets</a></td>
<td class="num">(11,346)<span></span>
</td>
<td class="num">(6,070)<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_FSI_DeferredTaxAssetsPropertyPlantsAndEquipment', window );">Property, equipment and leaseholds</a></td>
<td class="nump">284,794<span></span>
</td>
<td class="nump">274,289<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Net deferred tax asset</a></td>
<td class="nump">24,747<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_DeferredTaxAssetsInvestments', window );">Investments</a></td>
<td class="text"> <span></span>
</td>
<td class="num">(7,676)<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_FSI_DeferredTaxAssetsPropertyPlantsAndEquipmentOne', window );">Property, equipment and leaseholds</a></td>
<td class="num">(248,701)<span></span>
</td>
<td class="num">(486,713)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsDerivativeInstruments', window );">Financial instruments</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <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_FSI_DeferredTaxAssetNotRecognized', window );">Deferred tax asset not recognized</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<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 liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (226,170)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_DeferredTaxAssetNotRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Deferred tax asset not recognized.</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;">FSI_DeferredTaxAssetNotRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_DeferredTaxAssetsPropertyPlantsAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Deferred tax assets property plants and 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;">FSI_DeferredTaxAssetsPropertyPlantsAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_DeferredTaxAssetsPropertyPlantsAndEquipmentOne">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Deferred tax assets property plants and 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;">FSI_DeferredTaxAssetsPropertyPlantsAndEquipmentOne</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_DeferredTaxAssetsDerivativeInstruments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 derivative instruments.</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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsDerivativeInstruments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DeferredTaxAssetsGoodwillAndIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 intangible 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;">us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DeferredTaxAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-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;">us-gaap_DeferredTaxAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DeferredTaxAssetsInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 investments (excludes investments in subsidiaries and equity method investments).</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_DeferredTaxAssetsInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-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;">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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-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;">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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_OperatingLossCarryforwardsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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;">us-gaap_OperatingLossCarryforwardsLineItems</td>
</tr>
<tr>
<td style="padding-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_IncomeTaxAuthorityNameAxis=us-gaap_CanadaRevenueAgencyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeTaxAuthorityNameAxis=us-gaap_CanadaRevenueAgencyMember</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_IncomeTaxAuthorityNameAxis=us-gaap_InternalRevenueServiceIRSMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeTaxAuthorityNameAxis=us-gaap_InternalRevenueServiceIRSMember</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>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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496272964192">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS (Details)<br></strong></div></th>
<th class="th">
<div>Dec. 31, 2023 </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_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [Line Items]</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_OperatingLossCarryforwards', window );">Total</a></td>
<td class="nump">$ 3,718,155<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_TaxPeriodAxis=FSI_TwoThousandThirtyTaxYearMember', window );">2030 [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_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [Line Items]</strong></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_OperatingLossCarryforwards', window );">Total</a></td>
<td class="nump">407,947<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_TaxPeriodAxis=FSI_TwoThousandThirtyOneYearMember', window );">2031 [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_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [Line Items]</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_OperatingLossCarryforwards', window );">Total</a></td>
<td class="nump">941,856<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_TaxPeriodAxis=FSI_TwoThousandThirtyTwoYearMember', window );">2032 [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_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [Line Items]</strong></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_OperatingLossCarryforwards', window );">Total</a></td>
<td class="nump">615,878<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_TaxPeriodAxis=FSI_TwoThousandThirtySevenYearMember', window );">2037 [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_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [Line Items]</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_OperatingLossCarryforwards', window );">Total</a></td>
<td class="nump">1,692,555<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_TaxPeriodAxis=FSI_TwoThousandThirtyNineYearMember', window );">2039 [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_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [Line Items]</strong></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_OperatingLossCarryforwards', window );">Total</a></td>
<td class="nump">48,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_TaxPeriodAxis=FSI_TwoThousandFourtyYearMember', window );">2040 [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_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [Line Items]</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_OperatingLossCarryforwards', window );">Total</a></td>
<td class="nump">$ 11,871<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_OperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 operating loss 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> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OperatingLossCarryforwardsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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;">us-gaap_OperatingLossCarryforwardsLineItems</td>
</tr>
<tr>
<td style="padding-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_TaxPeriodAxis=FSI_TwoThousandThirtyTaxYearMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TaxPeriodAxis=FSI_TwoThousandThirtyTaxYearMember</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_TaxPeriodAxis=FSI_TwoThousandThirtyOneYearMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TaxPeriodAxis=FSI_TwoThousandThirtyOneYearMember</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_TaxPeriodAxis=FSI_TwoThousandThirtyTwoYearMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TaxPeriodAxis=FSI_TwoThousandThirtyTwoYearMember</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_TaxPeriodAxis=FSI_TwoThousandThirtySevenYearMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TaxPeriodAxis=FSI_TwoThousandThirtySevenYearMember</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_TaxPeriodAxis=FSI_TwoThousandThirtyNineYearMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TaxPeriodAxis=FSI_TwoThousandThirtyNineYearMember</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_TaxPeriodAxis=FSI_TwoThousandFourtyYearMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TaxPeriodAxis=FSI_TwoThousandFourtyYearMember</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>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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496274178992">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</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_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [Line Items]</strong></a></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_FSI_IncomeTaxRecovery', window );">Current income tax expense</a></td>
<td class="nump">$ 1,127,689<span></span>
</td>
<td class="nump">$ 1,476,088<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="nump">3,718,155<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_IncomeTaxAuthorityNameAxis=us-gaap_CanadaRevenueAgencyMember', window );">Canada Revenue Agency [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_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [Line Items]</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_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="nump">$ 3,718,155<span></span>
</td>
<td class="nump">$ 3,878,060<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_IncomeTaxRecovery">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Income tax recovery.</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;">FSI_IncomeTaxRecovery</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_OperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 operating loss 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> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OperatingLossCarryforwardsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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;">us-gaap_OperatingLossCarryforwardsLineItems</td>
</tr>
<tr>
<td style="padding-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_IncomeTaxAuthorityNameAxis=us-gaap_CanadaRevenueAgencyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeTaxAuthorityNameAxis=us-gaap_CanadaRevenueAgencyMember</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>87
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496274267168">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF BASIC AND DILUTED LOSS PER SHARE (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</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_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</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_NetIncomeLoss', window );">Net income attributable to controlling interest</a></td>
<td class="nump">$ 2,775,864<span></span>
</td>
<td class="nump">$ 7,021,604<span></span>
</td>
</tr>
<tr class="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 );">Basic</a></td>
<td class="nump">12,434,886<span></span>
</td>
<td class="nump">12,379,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_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted</a></td>
<td class="nump">12,489,467<span></span>
</td>
<td class="nump">12,466,415<span></span>
</td>
</tr>
<tr class="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 );">Basic</a></td>
<td class="nump">$ 0.22<span></span>
</td>
<td class="nump">$ 0.57<span></span>
</td>
</tr>
<tr class="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 );">Diluted</a></td>
<td class="nump">$ 0.22<span></span>
</td>
<td class="nump">$ 0.56<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_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-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_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> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-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;">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> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>88
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496273944512">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF ANTI-DILUTIVE OPTIONS (Details) - shares<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</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_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Anti-dilutive options</a></td>
<td class="nump">740,000<span></span>
</td>
<td class="nump">1,304,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_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> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-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;">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_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-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>89
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496273553888">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>INCOME PER SHARE (Details Narrative) - Canada Revenue Agency [Member] - shares<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</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_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [Line Items]</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_PreferredStockSharesIssued', window );">Preferred stock, shares issued</a></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_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding</a></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_OperatingLossCarryforwardsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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;">us-gaap_OperatingLossCarryforwardsLineItems</td>
</tr>
<tr>
<td style="padding-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_PreferredStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.</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> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_PreferredStockSharesIssued</td>
</tr>
<tr>
<td style="padding-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_PreferredStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.</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> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_PreferredStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-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_IncomeTaxAuthorityNameAxis=us-gaap_CanadaRevenueAgencyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeTaxAuthorityNameAxis=us-gaap_CanadaRevenueAgencyMember</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>90
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496272746336">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF STOCK OPTION ACTIVITIES (Details) - $ / shares<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Number of shares, Beginning Balance</a></td>
<td class="nump">1,686,000<span></span>
</td>
<td class="nump">789,500<span></span>
</td>
</tr>
<tr class="re">
<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 );">Weighted average exercise price, Beginning Balance</a></td>
<td class="nump">$ 3.26<span></span>
</td>
<td class="nump">$ 2.78<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Number of shares, Granted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">981,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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Weighted average exercise price, Granted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.55<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod', window );">Number of shares, Cancelled or expired</a></td>
<td class="num">(564,000)<span></span>
</td>
<td class="num">(13,486)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice', window );">Weighted average exercise price, Cancelled or expired</a></td>
<td class="nump">$ 3.55<span></span>
</td>
<td class="nump">$ 2.32<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Number of shares, Exercised</a></td>
<td class="num">(8,000)<span></span>
</td>
<td class="num">(71,014)<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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice', window );">Exercise price per share, Exercised</a></td>
<td class="nump">$ 1.70<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 );">Weighted average exercise price, Exercised</a></td>
<td class="nump">$ 1.70<span></span>
</td>
<td class="nump">$ 1.98<span></span>
</td>
</tr>
<tr class="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 );">Number of shares Exercisable, Ending Balance</a></td>
<td class="nump">1,114,000<span></span>
</td>
<td class="nump">1,686,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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Weighted average exercise price, Ending Balance</a></td>
<td class="nump">$ 3.13<span></span>
</td>
<td class="nump">$ 3.26<span></span>
</td>
</tr>
<tr class="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 );">Number of shares Exercisable, Ending Balance</a></td>
<td class="nump">754,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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice', window );">Weighted average exercise price, Exercisable, Ending Balance</a></td>
<td class="nump">$ 2.93<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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice', window );">Exercise price per share, Beginning Balance</a></td>
<td class="nump">1.70<span></span>
</td>
<td class="nump">1.42<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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice', window );">Exercise price per share, Granted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3.55<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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice', window );">Exercise price per share, Cancelled or expired</a></td>
<td class="nump">3.46<span></span>
</td>
<td class="nump">1.70<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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice', window );">Exercise price per share, Exercised</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.42<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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice', window );">Exercise price per share, Ending Balance</a></td>
<td class="nump">1.75<span></span>
</td>
<td class="nump">1.70<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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice', window );">Exercise price per share Exercisable, Ending Balance</a></td>
<td class="nump">1.75<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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice', window );">Exercise price per share, Beginning Balance</a></td>
<td class="nump">4.13<span></span>
</td>
<td class="nump">4.13<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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice', window );">Exercise price per share, Granted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3.61<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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice', window );">Exercise price per share, Cancelled or expired</a></td>
<td class="nump">4.13<span></span>
</td>
<td class="nump">3.61<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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice', window );">Exercise price per share, Exercised</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2.44<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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice', window );">Exercise price per share, Ending Balance</a></td>
<td class="nump">3.61<span></span>
</td>
<td class="nump">$ 4.13<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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice', window );">Exercise price per share Exercisable, Ending Balance</a></td>
<td class="nump">$ 3.61<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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cancelled or expired, Exercise price per share.</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;">FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Exercised, Exercise price per share.</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;">FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Exercise price per share, Granted.</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;">FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Exercise price per share.</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;">FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Exercise price per share.</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;">FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-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_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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 presentations that combine terminations, 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 or that expired.</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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of options that were either forfeited or expired.</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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="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_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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">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_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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">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_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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">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_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">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>
<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>91
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496382147424">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2022 </div>
<div>$ / shares</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</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_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected life - years</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_srt_RangeAxis=srt_MinimumMember', window );">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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate', window );">Interest rate</a></td>
<td class="nump">1.76%<span></span>
</td>
</tr>
<tr class="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 );">Volatility</a></td>
<td class="nump">66.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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted average fair value of options granted</a></td>
<td class="nump">$ 1.46<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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate', window );">Interest rate</a></td>
<td class="nump">3.64%<span></span>
</td>
</tr>
<tr class="re">
<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 );">Volatility</a></td>
<td class="nump">69.66%<span></span>
</td>
</tr>
<tr class="ro">
<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 fair value of options granted</a></td>
<td class="nump">$ 1.65<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_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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-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_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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">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_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>92
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496272311200">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCK OPTIONS (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</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_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems', window );"><strong>Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [Line Items]</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_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage', window );">Options granted percentage</a></td>
<td class="nump">100.00%<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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1', window );">Vested term</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_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod', window );">Options maximum granted term</a></td>
<td class="text">5 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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Weighted-average remaining contractual life</a></td>
<td class="text">2 years 10 months 24 days<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Stock options granted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">981,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_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Stock options exercised</a></td>
<td class="nump">8,000<span></span>
</td>
<td class="nump">71,014<span></span>
</td>
</tr>
<tr class="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 );">Stock vested compensation non vested</a></td>
<td class="nump">$ 375,351<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 );">Weighted average period expected to be recognized</a></td>
<td class="text">2 years 6 months<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_IncomeTaxAuthorityNameAxis=us-gaap_CanadaRevenueAgencyMember', window );">Canada Revenue Agency [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_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems', window );"><strong>Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [Line Items]</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue', window );">Aggregate intrinsic value of vested options</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 69,190<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested', window );">Aggregate intrinsic value of vested options exercised</a></td>
<td class="nump">$ 11,520<span></span>
</td>
<td class="nump">$ 96,989<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=FSI_ConsultantsMember', window );">Consultants [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_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems', window );"><strong>Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [Line Items]</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Stock options granted</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">46,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_StockOptionPlanExpense', window );">Stock option expense</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 14,850<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_FSI_AdditionalExpensesDueToOptionsGranted', window );">Additional expenses due to options granted</a></td>
<td class="nump">$ 62,241<span></span>
</td>
<td class="nump">$ 62,187<span></span>
</td>
</tr>
<tr class="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 );">Stock options exercised</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">16,514<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=FSI_EmployeesMember', window );">Employees [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_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems', window );"><strong>Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [Line Items]</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Stock options granted</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">935,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_StockOptionPlanExpense', window );">Stock option expense</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 172,731<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_FSI_AdditionalExpensesDueToOptionsGranted', window );">Additional expenses due to options granted</a></td>
<td class="nump">$ 328,769<span></span>
</td>
<td class="nump">$ 149,380<span></span>
</td>
</tr>
<tr class="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 );">Stock options exercised</a></td>
<td class="nump">8,000<span></span>
</td>
<td class="nump">54,500<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_AdditionalExpensesDueToOptionsGranted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 expenses due to options granted.</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;">FSI_AdditionalExpensesDueToOptionsGranted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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;">us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems</td>
</tr>
<tr>
<td style="padding-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_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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">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_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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 current fair value of underlying stock exceeds exercise price of fully vested and expected to vest exercisable or convertible options. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 vesting of 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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage</td>
</tr>
<tr>
<td style="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_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Intrinsic value of vested 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>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_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">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_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> -Topic 718<br> -SubTopic 10<br> -Subparagraph (e)(1)<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockOptionPlanExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockOptionPlanExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncomeTaxAuthorityNameAxis=us-gaap_CanadaRevenueAgencyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeTaxAuthorityNameAxis=us-gaap_CanadaRevenueAgencyMember</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_TitleOfIndividualAxis=FSI_ConsultantsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_ConsultantsMember</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_TitleOfIndividualAxis=FSI_EmployeesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_EmployeesMember</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>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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496363328656">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CAPITAL STOCK (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</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_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Stock options exercised</a></td>
<td class="nump">8,000<span></span>
</td>
<td class="nump">71,014<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesIssuedForServices', window );">Consultant for services, shares</a></td>
<td class="nump">1,272<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_StockIssuedDuringPeriodValueIssuedForServices', window );">Consultant for services, value</a></td>
<td class="nump">$ 4,070<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendsPayableAmountPerShare', window );">Dividends per share</a></td>
<td class="nump">$ 0.05<span></span>
</td>
<td class="text"> <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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</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_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Stock options exercised</a></td>
<td class="nump">8,000<span></span>
</td>
<td class="nump">54,500<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=FSI_ConsultantStockOptionMember', window );">Consultant Stock Option [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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</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_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Stock options exercised</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16,514<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_DividendsPayableAmountPerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 per share amount of a dividend declared, but not paid, as of the financial reporting 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> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsPayableAmountPerShare</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-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_StockIssuedDuringPeriodSharesIssuedForServices">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 in lieu of cash for services contributed to the entity. Number of shares includes, but is not limited to, shares issued for services contributed by vendors and founders.</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_StockIssuedDuringPeriodSharesIssuedForServices</td>
</tr>
<tr>
<td style="padding-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_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueIssuedForServices">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 in lieu of cash for services contributed to the entity. Value of the stock issued includes, but is not limited to, services contributed by vendors and founders.</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_StockIssuedDuringPeriodValueIssuedForServices</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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=FSI_ConsultantStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_ConsultantStockOptionMember</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>94
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496274016064">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF DISTRIBUTIONS (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems', window );"><strong>Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [Line Items]</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_MinorityInterest', window );">Distribution to noncontrolling interests, Beginning balance</a></td>
<td class="nump">$ 2,605,034<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_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders', window );">Distribution</a></td>
<td class="num">(719,439)<span></span>
</td>
<td class="num">$ (689,434)<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Non-controlling interest share of income</a></td>
<td class="nump">980,121<span></span>
</td>
<td class="nump">691,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_MinorityInterest', window );">Distribution to noncontrolling interests, Ending balance</a></td>
<td class="nump">3,065,716<span></span>
</td>
<td class="nump">2,605,034<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=FSI_ENPInvestmentsLLCMember', window );">ENP Investments, LLC [Member] | Ownership Interest Purchase Agreement [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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems', window );"><strong>Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [Line Items]</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_MinorityInterest', window );">Distribution to noncontrolling interests, Beginning balance</a></td>
<td class="nump">2,605,034<span></span>
</td>
<td class="nump">2,602,843<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders', window );">Distribution</a></td>
<td class="num">(719,439)<span></span>
</td>
<td class="num">(689,434)<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Non-controlling interest share of income</a></td>
<td class="nump">1,015,604<span></span>
</td>
<td class="nump">691,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_MinorityInterest', window );">Distribution to noncontrolling interests, Ending balance</a></td>
<td class="nump">$ 2,901,199<span></span>
</td>
<td class="nump">$ 2,605,034<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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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;">us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems</td>
</tr>
<tr>
<td style="padding-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_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>Amount of equity (deficit) attributable to noncontrolling interest. Excludes temporary 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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">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_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 balance from payment of dividends or other distributions by the non-wholly owned subsidiary or partially owned entity, included in the consolidation of the parent entity, to the noncontrolling interest holders.</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> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-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;">us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4J<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_srt_OwnershipAxis=FSI_ENPInvestmentsLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_ENPInvestmentsLLCMember</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_TypeOfArrangementAxis=FSI_OwnershipInterestPurchaseAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=FSI_OwnershipInterestPurchaseAgreementMember</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>95
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496273940704">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2023 </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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems', window );"><strong>Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [Line Items]</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_MinorityInterest', window );">Distribution to noncontrolling interests, Beginning balance</a></td>
<td class="nump">$ 2,605,034<span></span>
</td>
</tr>
<tr class="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 );">Distribution to noncontrolling interests, Ending balance</a></td>
<td class="nump">3,065,716<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=FSI_MendotaLLCMember', window );">317 Mendota LLC [Member] | Ownership Interest Purchase Agreement [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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems', window );"><strong>Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [Line Items]</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_MinorityInterest', window );">Distribution to noncontrolling interests, Beginning balance</a></td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates', window );">Distribution to noncontrolling interests, Acquisition</a></td>
<td class="nump">200,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_NoncontrollingInterestDecreaseFromDeconsolidation', window );">Distribution to noncontrolling interests, Non-controlling interest share of loss</a></td>
<td class="num">(35,483)<span></span>
</td>
</tr>
<tr class="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 );">Distribution to noncontrolling interests, Ending balance</a></td>
<td class="nump">$ 164,517<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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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;">us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems</td>
</tr>
<tr>
<td style="padding-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_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>Amount of equity (deficit) attributable to noncontrolling interest. Excludes temporary 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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">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_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> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(2)<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_PaymentsToAcquireBusinessesAndInterestInAffiliates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 controlling interest in another entity or an entity that is related to it but not strictly controlled (for example, an unconsolidated subsidiary, affiliate, joint venture or equity method investment).</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> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OwnershipAxis=FSI_MendotaLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_MendotaLLCMember</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_TypeOfArrangementAxis=FSI_OwnershipInterestPurchaseAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TypeOfArrangementAxis=FSI_OwnershipInterestPurchaseAgreementMember</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>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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496273167616">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>NON-CONTROLLING INTERESTS (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems', window );"><strong>Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [Line Items]</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_PaymentsToMinorityShareholders', window );">Partnership distribution to non-controlling interest</a></td>
<td class="nump">$ 719,439<span></span>
</td>
<td class="nump">$ 689,434<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="nump">$ 9,843,056<span></span>
</td>
<td class="nump">9,449,857<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=FSI_ENPInvestmentsLLCMember', window );">ENP Investments, LLC [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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems', window );"><strong>Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [Line Items]</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_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest', window );">Subsidiary company ownership interest rate</a></td>
<td class="nump">65.00%<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_MinorityInterestOwnershipPercentageByParent', window );">Related party owner ship percentage</a></td>
<td class="nump">35.00%<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_PaymentsToMinorityShareholders', window );">Partnership distribution to non-controlling interest</a></td>
<td class="nump">$ 3,225,957<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_Revenues', window );">Sales</a></td>
<td class="nump">6,811,083<span></span>
</td>
<td class="nump">6,667,815<span></span>
</td>
</tr>
<tr class="ro">
<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</a></td>
<td class="nump">$ 4,225,028<span></span>
</td>
<td class="nump">$ 3,634,083<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=FSI_MendotaLLCMember', window );">317 Mendota LLC [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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems', window );"><strong>Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [Line Items]</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_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest', window );">Subsidiary company ownership interest rate</a></td>
<td class="nump">80.00%<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_MinorityInterestOwnershipPercentageByParent', window );">Related party owner ship percentage</a></td>
<td class="nump">20.00%<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_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> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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;">us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems</td>
</tr>
<tr>
<td style="padding-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_MinorityInterestOwnershipPercentageByParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 parent entity's interest in net assets of the subsidiary, expressed as a percentage.</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_MinorityInterestOwnershipPercentageByParent</td>
</tr>
<tr>
<td style="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_PaymentsToMinorityShareholders">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 a noncontrolling interest. Includes, but not limited to, reduction of noncontrolling interest ownership. Excludes dividends paid 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToMinorityShareholders</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-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;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 units or percentage investment held in the subsidiary by the limited liability company or limited partnership.</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_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest</td>
</tr>
<tr>
<td style="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_srt_OwnershipAxis=FSI_ENPInvestmentsLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_ENPInvestmentsLLCMember</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=FSI_MendotaLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_MendotaLLCMember</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>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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496273191280">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF REPORTABLE SEGMENTS (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</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_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="nump">$ 38,324,806<span></span>
</td>
<td class="nump">$ 45,840,469<span></span>
</td>
</tr>
<tr class="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="nump">498,666<span></span>
</td>
<td class="nump">292,949<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Current and deferred income tax expense</a></td>
<td class="num">(132,735)<span></span>
</td>
<td class="nump">145,856<span></span>
</td>
</tr>
<tr class="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 );">Segment profit</a></td>
<td class="nump">2,775,864<span></span>
</td>
<td class="nump">7,021,604<span></span>
</td>
</tr>
<tr class="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 segment assets</a></td>
<td class="num">(4,990,675)<span></span>
</td>
<td class="num">(1,981,307)<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=FSI_SegmentMember', window );">Segment [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_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="nump">38,324,806<span></span>
</td>
<td class="nump">45,840,469<span></span>
</td>
</tr>
<tr class="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="nump">498,666<span></span>
</td>
<td class="nump">292,949<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationNonproduction', window );">Depreciation</a></td>
<td class="nump">1,686,319<span></span>
</td>
<td class="nump">1,277,431<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Current and deferred income tax expense</a></td>
<td class="nump">132,735<span></span>
</td>
<td class="nump">145,856<span></span>
</td>
</tr>
<tr class="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 );">Segment profit</a></td>
<td class="nump">2,775,864<span></span>
</td>
<td class="nump">7,713,229<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_FSI_SegmentAssets', window );">Segment assets</a></td>
<td class="nump">55,471,055<span></span>
</td>
<td class="nump">51,587,192<span></span>
</td>
</tr>
<tr class="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 );">Expenditures for segment assets</a></td>
<td class="nump">4,990,675<span></span>
</td>
<td class="nump">1,981,307<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=FSI_EWCPMember', window );">EWCP [Member] | Segment [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_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="nump">572,845<span></span>
</td>
<td class="nump">528,462<span></span>
</td>
</tr>
<tr class="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="nump">387<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationNonproduction', window );">Depreciation</a></td>
<td class="nump">17,411<span></span>
</td>
<td class="nump">33,876<span></span>
</td>
</tr>
<tr class="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 );">Current and deferred income tax expense</a></td>
<td class="num">(35,341)<span></span>
</td>
<td class="nump">18,898<span></span>
</td>
</tr>
<tr class="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 );">Segment profit</a></td>
<td class="num">(256,390)<span></span>
</td>
<td class="num">(334,525)<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_FSI_SegmentAssets', window );">Segment assets</a></td>
<td class="nump">4,843,123<span></span>
</td>
<td class="nump">2,810,091<span></span>
</td>
</tr>
<tr class="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 segment assets</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <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=FSI_BCPAMember', window );">BCPA [Member] | Segment [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_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="nump">37,751,961<span></span>
</td>
<td class="nump">45,312,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_InterestExpense', window );">Interest expense</a></td>
<td class="nump">498,279<span></span>
</td>
<td class="nump">292,949<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationNonproduction', window );">Depreciation</a></td>
<td class="nump">1,668,908<span></span>
</td>
<td class="nump">1,243,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_IncomeTaxExpenseBenefit', window );">Current and deferred income tax expense</a></td>
<td class="nump">168,076<span></span>
</td>
<td class="nump">126,958<span></span>
</td>
</tr>
<tr class="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 );">Segment profit</a></td>
<td class="nump">3,032,254<span></span>
</td>
<td class="nump">8,047,754<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_FSI_SegmentAssets', window );">Segment assets</a></td>
<td class="nump">50,627,932<span></span>
</td>
<td class="nump">48,777,101<span></span>
</td>
</tr>
<tr class="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 );">Expenditures for segment assets</a></td>
<td class="nump">$ 4,990,675<span></span>
</td>
<td class="nump">$ 1,981,307<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_SegmentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Segment 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;">FSI_SegmentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_DepreciationNonproduction">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 expense recognized in the current period that allocates the cost of nonproduction tangible assets over their useful lives.</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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-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;">us-gaap_DepreciationNonproduction</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_EntityWideInformationRevenueFromExternalCustomerLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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;">us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems</td>
</tr>
<tr>
<td style="padding-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_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> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-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;">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/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483013/835-20-50-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;">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_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-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;">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_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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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=FSI_SegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_SegmentMember</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=FSI_EWCPMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_EWCPMember</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=FSI_BCPAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_BCPAMember</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>98
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496277297232">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived Assets [Line Items]</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total</a></td>
<td class="nump">$ 38,324,806<span></span>
</td>
<td class="nump">$ 45,840,469<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_StatementGeographicalAxis=country_CA', window );">CANADA</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived Assets [Line Items]</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total</a></td>
<td class="nump">755,844<span></span>
</td>
<td class="nump">552,123<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_StatementGeographicalAxis=FSI_UnitedStatesandAbroadMember', window );">United States and Abroad [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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived Assets [Line Items]</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total</a></td>
<td class="nump">$ 37,568,962<span></span>
</td>
<td class="nump">$ 45,288,346<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> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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;">us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems</td>
</tr>
<tr>
<td style="padding-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_srt_StatementGeographicalAxis=country_CA">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CA</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=FSI_UnitedStatesandAbroadMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_UnitedStatesandAbroadMember</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>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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496274371568">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived Assets [Line Items]</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_NoncurrentAssets', window );">Total</a></td>
<td class="nump">$ 18,101,355<span></span>
</td>
<td class="nump">$ 14,850,786<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_StatementGeographicalAxis=country_CA', window );">CANADA</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived Assets [Line Items]</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_NoncurrentAssets', window );">Total</a></td>
<td class="nump">142,577<span></span>
</td>
<td class="nump">150,890<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_StatementGeographicalAxis=country_US', window );">UNITED STATES</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived Assets [Line Items]</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_NoncurrentAssets', window );">Total</a></td>
<td class="nump">$ 17,958,778<span></span>
</td>
<td class="nump">$ 14,699,896<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_NoncurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and 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/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncurrentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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;">us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems</td>
</tr>
<tr>
<td style="padding-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_srt_StatementGeographicalAxis=country_CA">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CA</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>100
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496274921296">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Details Narrative)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($) </div>
<div>Segments</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_EntityWideRevenueMajorCustomerLineItems', window );"><strong>Revenue, Major Customer [Line Items]</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_NumberOfOperatingSegments', window );">Number of operating segments | Segments</a></td>
<td class="nump">2<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] | Three Customers [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_EntityWideRevenueMajorCustomerLineItems', window );"><strong>Revenue, Major Customer [Line Items]</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_AccountsReceivableNet', window );">Accounts receivable, after allowance for credit loss | $</a></td>
<td class="nump">$ 20,482,798<span></span>
</td>
<td class="nump">$ 27,775,616<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_FSI_StockOptionExercisePercent', window );">Stock option exercise percent</a></td>
<td class="nump">53.00%<span></span>
</td>
<td class="nump">61.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_StockOptionExercisePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Stock option exercise percent</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;">FSI_StockOptionExercisePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_AccountsReceivableNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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.</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> -Topic 946<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480833/946-310-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(5)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481058/954-310-45-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;">us-gaap_AccountsReceivableNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_EntityWideRevenueMajorCustomerLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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;">us-gaap_EntityWideRevenueMajorCustomerLineItems</td>
</tr>
<tr>
<td style="padding-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_NumberOfOperatingSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues.</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> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-18<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfOperatingSegments</td>
</tr>
<tr>
<td style="padding-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_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_srt_MajorCustomersAxis=FSI_ThreeCustomersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_ThreeCustomersMember</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>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.24.1</span><table class="report" border="0" cellspacing="2" id="idm140496277234624">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUBSEQUENT EVENTS (Details Narrative) - shares<br></strong></div></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</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_SubsequentEventLineItems', window );"><strong>Subsequent Event [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_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Stock option granted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">981,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_srt_TitleOfIndividualAxis=FSI_ConsultantsMember', window );">Consultants [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_SubsequentEventLineItems', window );"><strong>Subsequent Event [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="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 );">Stock option granted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">46,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_srt_TitleOfIndividualAxis=FSI_EmployeesMember', window );">Employees [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_SubsequentEventLineItems', window );"><strong>Subsequent Event [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_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Stock option granted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">935,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_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember', window );">Subsequent Event [Member] | Consultants [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_SubsequentEventLineItems', window );"><strong>Subsequent Event [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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues', window );">Stock option issued upon exercise</a></td>
<td class="nump">15,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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Stock option granted</a></td>
<td class="nump">56,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_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember', window );">Subsequent Event [Member] | Employees [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_SubsequentEventLineItems', window );"><strong>Subsequent Event [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="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 );">Stock option granted</a></td>
<td class="nump">494,000<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_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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">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_StockIssuedDuringPeriodSharesNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 stock issued 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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_StockIssuedDuringPeriodSharesNewIssues</td>
</tr>
<tr>
<td style="padding-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_SubsequentEventLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event.</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> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481674/830-30-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483399/855-10-50-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;">us-gaap_SubsequentEventLineItems</td>
</tr>
<tr>
<td style="padding-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_srt_TitleOfIndividualAxis=FSI_ConsultantsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_ConsultantsMember</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_TitleOfIndividualAxis=FSI_EmployeesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_EmployeesMember</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_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember</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>EXCEL
<SEQUENCE>102
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
MSB  9P"_WQK(H/V%>TO7O96=_0=02P,$%     @ 0(6!6+,@Q_"Y @  AP@
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
MW$JK8<7;PTY$13+GXB)54CHB73N6LE1XDC =N4B#^.GK#:BP(&&@\KA[;YB
MF9S*0^PHHPGUR!OQ1</\^MID=[I$I0EDAXM8\JDTUPYT<1^^Z,@O&@;89X"
M;KOR.2O)2N-IB"+$XDJX\^O:21DIYKN!(Z]H&%@?ZSM8@J:!$K_,ND)]R$&0
MF.IVI1L"^1.J(9"/JG<IQ1CDT6BJ'J%9DL91[%$_PHP&X0%I]$XWMF@[GG6R
M ;R5Z:) U2:NBE3P2$W5(G:*R<BW(D86T3",O@#>LB;?H.)<T-!8,>$L!-<N
M35GBNY,CCV@82/_4T%L%,Y&+E#1QRT'$C(I4"$^V9"-X6!@\7[M.TE35KB[R
M8:%B*IE+ECB.TNFF1\P$BU+E$3GRAX7Y WT7<*?UJL-0(IFC#C&+$NZA(QN!
MP\+ ^6:+LK %GHD80A"IG'H(,TMCFGBTC9QA8<[<;HKMUD,9YM*#B4A.LPQF
MQKU]"!L9P\*,N=DUC:[S!]@=^2:KU^CV8"Y&SJ"6.)FTO4@$2SQ*/7F<C;1A
M8=I<9TNRU(M@,1%V@5?B!.W-71K11'GO] @C%H;15V.!E>99+0ISF9) )Q7+
M:3I'#*6B2OA:/3;2AX7I,_9217]\@,IT8<+2%#+GM$1"#!.H[*'7\,@<L</"
MV/DU*VIBZKZ3[CKJK&VU/734:!O-7,A 4Y].%0<O^ZSE]#BB$58L#*M#1$5?
MO P'8$,\-,(#<JD$U4<DIUTW8L<%%<S3-O&17CQ,KX-BN!-W!30DY0/9Z'))
M])^[PCY (/M6(!A%^!K_P_[E+OXX]#2Q)POQD7\\S+]C2^/?$-R%&Z5<1=/5
MA=EQQKBG\>8C!?E3;5=_U+?0*]/HO5!BLQ^H6)=V''C-G H7,4Q4G$;*4YCQ
MDX/)9YU,@L#C,1CE^/)XV5/)_\>Q)!^AR\/0_:"A^VCT\F2"H$7)#=3[#VCP
M"%>A\*/3-(O8)10J&,\TC?SE3QQ7]D6"/94;(#%W 7I&*5!I6BY@AEW?[-VJ
M(VMYF+6_ZZ-8V C$;C1Y@.X$5>L2%$ ;IVJ:/A'#).EVK:<RX"-J>1BU)VHS
M:YMBL;/9 G!F#:E-?9:;VC:F+ <6#SD(K1JX2]FS5$6438^H,$.94LE\*V7$
M,0_C.! *%@8:A7(.W5F2Q$I.JW7$,(D8;%(?T$8$\S""]VD)*B#2;C)(I*\7
M65OD;PXI2N I:G"J3O1$;YFSZ#&KV%,'B9'!XJFCRZGD95'NK%X^(7KO]@G1
MJ%4LH]-_GDTK1KZ*,%^_][]R0E;,( ]F:TWJ7;6 >*"JZWKCKLCK(FL/LX&&
M@X"5"2Z4<G[:P2QYDG+J*9W%"&$1AO#S SG,$1J*2UT(1:5"3M,^;BFEH)[]
M+$9 BS"@/T'J;#K5)[^X#OO['-7\HI1^*6^/8S_Y]3!,Z3&7H:$B/R*BW$ ,
M@]P0(Y9%&,O?ZD9G9?%?6&GKK@1_79JV?=-5XEWU5ZQKDA^Z^_[(,\N]1TL"
M:7JA@Y@>WB!F9SR*?,VQ&($MGM,<8^L,58LQ6TK)I^TQ8IA(!5L\\@@>F2W"
MS+Y!I))7/RE&Z3LOM=%8G@MMS# $;3%"6X2AC<;R''SC2PGCMY*Q4ZTBAC)-
M:<RG <U/GBBI=+/N'[1I0=&NML-#&<=/CP_SO.\?89E\?DW/;X9'<D8WPQ-"
MOV7-NJA;4NH5N(S>)J"J&1ZZ&=Y8L^V?6UD8:TW5O]SH;*F;S@"^7QF [/Y-
M=X'CHT]7?P%02P,$%     @ 0(6!6)*[QQX'"0  >2D  !@   !X;"]W;W)K
M<VAE971S+W-H965T-2YX;6RUFFMSV[H1AO\*1CW3<6:BB+CPYMJ:2>2D]4R2
MXXE[VL\4"5EH*$('I'SIK^^"E 2) "$[HWZQ+7D!OHO+/KL@KIZD^EDO.6_0
M\ZJLZNO1LFG6EY-)G2_Y*JL_R#6OX#\+J599 Q_5PZ1>*YX5;:-5.2%!$$U6
MF:A&TZOVNSLUO9*;IA05OU.HWJQ6F7KYQ$OY=#W"H]T7/\3#LM%?3*97Z^R!
MW_/FC_6=@D^3?2^%6/&J%K)"BB^N1Q_QY2QL&[06_Q+\J3[X&VE7YE+^U!]N
MB^M1H!7QDN>-[B*#7X]\QLM2]P0Z_MQV.MH_4S<\_'O7^Y?6>7!FGM5\)LM_
MBZ)97H^2$2KX(MN4S0_Y] ^^=2C4_>6RK-N?Z*FSC=@(Y9NZD:MM8U"P$E7W
M.WO>#L1! QP--"#;!J3?8.@)=-N MHYVREJW;K(FFUXI^824MH;>]!_MV+2M
MP1M1Z6F\;Q3\5T"[9CJ352U+460-+]!] []@CIH:R06:9?42?8%YKM$8_7%_
M@RY^>W<U:>"ANNDDWS[@4_< ,O  3- W637+&GVN"EX<=S !M7O)9"?Y$_'V
M>,/S#XCB]X@$A#H$S5[?G'CDT/T(TK8_.M#?[VNNLD94#]V2%(W@M6N8NEZ8
MNQ>]6R_K=9;SZQ%LQYJK1SZ:_O4O. K^YG+Q3)T=.<SV#C-?[]/O$%Q$E<L5
M1Q!&4+/DZ(5GRN5SUU'8=J0#RN.4QF&8)N'5Y/'0'=LNCC$E)-W;'2D-]TI#
M[]1\+/X#.ZA;T(V$J)/+*A<E1Y5Q ;[7GW)8[)<N%\)S3MN9.CL:C&@_&)%W
MVNX;F?]L0UZ!P'/@0)WI2.IRNNLI.IRW- R2H#=M+K,4L\0]:_%>:.P5>L/!
M^UQD79BO"I2MI&K$?P?5QI8,'"41Q6E/KL..Q#&CV*TWV>M-O'J_<AA3I#0O
M=-C<P(>%J#)8:=6#2VYBR8APB'M:;:,DC"*WT'0O-'VKT%-#FUHR0IR2_L Z
MK(* A6ZU.#!H"KQZ_PY9"((U(*I'OMW&3OX$UN/'81 &43_*N PIPXRP :4'
M$,6O4EIG$%Q@:+.ZYHU3*[8EL##I#ZC_<>Y @3PQ A/C"?%Z\BDK( N:-X@_
MZPC!G4YXNWB5NJV;Q-Z1<1(-1'ULB(R]_(,(LN!*09S;Q?CLN0W^CUR].!VB
M]JR0,$AQW)\7AV&,23JTU U2L9^INP64Y7]N1"W:T ?KZ//W.W3'U>8]^OIU
MYE3N[?8M4\$<>X/"-AH(CM@P&/LA/%MFU0.O82Y0):NQ!FV;VNN,*<_6HLE*
M)"#MK)WXQ6?E[[EZ.QX*0V#L1_!ME:LV!@L]T[G<Z,0$%B87C]F\=.\UF[%C
MF@+;K)#A,"24)C2-!V;0\!B? O)6]H78.O!.>Z##<M5(-9#O8ANWE"0L9'W4
M.0S'#!/6IN=.Y8;,V(_F >4PN>M,%+L85[=91L'7$G:>VQ<;QV-,:!"1J.^,
M;8DI3J(AQ!AV8S^\]VOGHN 'KNR7T3I[T6NH2YCR7&T@_)4BFXMRL"+!-K<9
M9>F!UJU/MMTX#@*<#L0&8@A/_(3?ST^[G':QFN^]<:DF#HIC3/NAVF5&P#DR
MD)T2 WOBA_W%S<$$&/W%#CJ*P[[8N+4[\$]HRN+^GG 8TB0.!\A(#-Z)'^]M
M3;]6\E% +8[F+TB^LGHE-JJC-$E3*\ER&&(61VE ![0;JA-_H7W;IH&OD'K6
M2OM<O1T[;1(#XD\,[C8J7^H5!MG B3R8.!#.8)\&_;+-_\BW9Y?$Y +$"]CI
M#U[PU7J7W9SR)[3\(8'+G5^ NM<=PW/BY_F-J!LEYAOMT [DL*T62JX0AT2N
M>3GIHTUM$N" ]D.PRRZ"(FLH ANV$S_;O^N43%:-DF6IMY:H&@ZCU!:(%,?H
M&Z\*V61.[3:WW?/C5? +\V/P3TY4YA(\ G]67K@3!]P3',;8F@3OTW[!$0-_
MXH?_G9(YYT7=+:V3529Q%.0,6XSQ/O/M[E"#?>K'_F%0 Q@!@F"GZ,1%;YJU
MWBS. U0'T5F:!E'<9Y#+$J<)IL% +DP-_*D?_A_?6*#YNWM#@49=)P=I2H?.
M2*G)">@K<H)-W9;+VWCUBM-L&_/C,(K2E/5WC<N2$!Q&=*!JI@<G[_Z,X,ON
MF.V4V/.>O?\_,@)J,@+JSP@N?D#Q\J(WR3N4%8\P .T^JI=2-5VPTRWT5Y";
M%L*]E1RI @Z"!&/2GSW;,L1Q' ^49M2D O14*K#U0BLM#P+UW*W83@;&,0D3
M0ON"'8:$I"3!0QO%X)[Z<;^/PJ]3[$)V$D6)-<2.8W2H+>-TH%*A!N[4#_?N
MP'<[SNZ=X:B]P\0^Z7?;17@@_Z &T?1$A2YT*5(5NN03A5.B \]0=\,:[&L\
M,YZIP3/UX_DP#VQ?* TD54[W7,4U3AGM'_"X#*,$# >.%IC!,?/C>"97*WUX
MW;X@$G6]Z;^FW;[,LZF*:62E>RXS%D0D&)!IT,O\Z+5JUXLMM-Z9]RTG0,!<
M$*5QROJ#[3!,6$+)P!L89F#+_+#]O%CPO(UY_#EO3T81U-\<Y=M34I@'?4+J
M%.^HK(,H[ = A]F8!L'0J3HSM&7^4_7;:E%"&PV6(87V\7B2$@C3?8FV79R&
M9" ?8 <OIOUH;%<(;#0)^26OWZ,Y?Q!5-? :CMEDBR#M#ZR359=A3,,P'MIX
MAH',S\!CO4Z1-LWB.(@3TL^R'(9];XY%&NJQR']^?R0298JWKX^5T)M/+IRG
M]LP+TK<F7.?J[7@ #$69GZ*SH=5N,S$,<!PFUHZT#8&<GKDQ]&1^>O[S5&W+
M;'B2* V(=0CO,(R/B_ECB8:-+/4NG_O->EVVEXJR$A6BSDM9;Q3?A1'4QA11
M=1?2@)_N]?0+I:IG/9VIM^,[*0:WH1^WM\<'W>ZL)W10%*?VG0:779BD0U<%
M0D/;T$_;V]U!T*#"KOWAI1V60G[;?R/BL(-T_!"YG<+)P26V%5</[=V^&K6O
M-[K+8?MO]_<'/[:WYGK??\*7L^X6H.FFNY3X+5, A!J5? %=!A]B$*6Z>W[=
MAT:NVZMR<]DT<M7^N>19P94V@/\OI&QV'_0#]K<MI_\#4$L#!!0    ( $"%
M@5@#$ 9*I@8  (0M   8    >&PO=V]R:W-H965T<R]S:&5E=#8N>&ULK9IM
M<YLX$,>_"N.[N;O.U#62 $$O\4QKGCK3]C)-VWMQ<R^(K<1<,7)!3MIO?P(3
M.PA9MMOMB\;8N[\5[,)J_\/% Z^^U$O&A/5M593UY6@IQ/KE9%+/EVR5U2_X
MFI7REUM>K3(A#ZN[2;VN6+9HG5;%!-NV-UEE>3F:7K3?7573"[X115ZRJ\JJ
M-ZM55GU_S0K^<#E"H\<O/N1W2]%\,9E>K+,[=LW$I_55)8\F.\HB7[&RSGEI
M5>SV<O0*O4QQZ]!:?,[90_WDL]6<R@WG7YJ#-XO+D=VLB!5L+AI$)O_<LQDK
MBH8DU_&U@XYV,1O'IY\?Z7%[\O)D;K*:S7CQ=[X0R\N1/[(6[#;;%.(#?TA9
M=T)NPYOSHF[_MQZVMJXTGF]JP5>=LUS!*B^W?[-OW85XXH#Q 0?<.6#%P;$/
M.)#.@:@1Z $'IW-P% =RR,'M'%S% 7D''+S.P5,CD ,.M'.@:H1##G[GX+?9
MW::CS668B6QZ4?$'JVJL):WYT!9$ZRU3F)=-[5Z+2OZ:2S\QG?&RYD6^R 1;
M6-="_I&%*6J+W\HC/O^RY,6"5?7O5O1UDXOOUMCZ=!U:?_SZ[&(B9/@&,IEW
MH5YO0^&#H58K6:TMUOKG'5O=L.I?#69V!).M<Y$55EY:T;<YJ]NU7F65]3DK
M-LP$#LW@#TS(>UU>ABBKRKR\JTVLR,QZ]=?LC?5*B"J_V8CLIF"6X,TBY;4U
M46,S]3@@,0/>\W+.2U'Q0OYR9[TI!:M8;22F9N)'+G/1=YO($MS5(=[5(6XY
MS@'.ZZS(RCFS,F&%;/["(NBYA6V,=&6V);DMJ7DVWT\1)JY[,;E_6D4:*R_P
MB>?X?<-P:.C[/B:>W;>+AG9C2EU*%+MX:(==9&./D+YAHC'T;.P[BEVJL:/4
M=AWJ[0Q[UYSLKCDYY9H_M^JE+*SZI&N_)7KJM<>.IUQ^8^BF([^LU]F<78YD
MRZU9=<]&T]]^09[]I^[&A81%D+ 8$I9 PE(@6*^RG%UE.<;*^EAE95UDV]W)
MXC_9QIJNHJLG(T>_2DO7,X X(1 G<@;WR9C([62@/"M.,TN 5I4>#=?+MKO+
MMFO,]GNYQ<YE8UDQ78:-OF=D&(@3NH-K0.6SSK,=Y7$/%"\^,5XRM/,"Y&&E
MK:4:'$4$XP,Y]'8Y](PY[#9G=;LYR^MZPQ:Z9'J#5D21\N#WAAW"D<U**>G0
MN)PS;C0@3JQ=MH>5YIX A4N/ANMED>ZR2,_-XF-WUV63#FL)V4@IS)DQY+F=
M'!(60<)B2%@""4N!8+V*\G<5Y1LK*LSK[1 C6WG=##%E?X3(NQ%"6U]&]!F/
M?B!.",2)@#@Q$"?QAVW=\P.'*'=R>MRN5R/!KD8"8XVT$_VX49 6EMP%K%E9
MMUL_74D826>41# X%1($:##; 86+@#CQ:<M.@,*E1\/U\HWLO6AD_\BTCK6B
MD*T9UQVLSHN=6:\C4A<3XB@[H%!GZ08V"3QU"Z>Q'/NV2P-U&ZXQ),W 'A!E
MF8G&4@[MKCVXUW1(>3I^0 _T>/1$LD,_,[?KLX T@[O, E9ECIDY^+G]'I06
M@=)B4%H"2DNA:/T2VZMQR"S'G3[ FT%G/-&A0"$4*.I O7O&]ERB/CQ.,DN@
MEI4>C=?/^5X-1&8YT#S&FYW/R3,0*$1#+1)3ZOK#-@ 4,3XU8J(Q#'P;8:0V
MB:$=H:X;^.Z!9.X%.&16X$Z<YSM*KSD/&L)0-4)$-ERU+4-)9U"@6+MPSU9'
M>JAXZ=%X_5SNY35DUM?.G.K14"(*,,5J5G] WS*T>4A:!$J+06D)*"V%HO4K
M:R_Z(;/J]U/3O9E]3D<  H50H @*%$.!$C04#,<4R=D]4%O*<<-^L>RU1606
M%\\9\\VH<VICJ%&2P+7]0?<!"AA!@>(35YY !4R/!^PG?B\!HF,:X'V^8.6B
MMM99KM]&0"E]4* 0Z;0N[%%*U<TAE)AW:L0$*F)Z0L1^QO>"'C(K>N]Y.=;U
M@>95&X*H]4Y6 Q>9]?;M3%L.4"H?%"B$ D50H!@*E*"AR(?MYI_:&([:]5_<
MV8N!^(?$0*)]=4<K!JHJVTQG1@.";:2*@3I+WW:)[2JS5J2Q'-/ 1>J;*['&
MD+C-";FJ&*BSE),X18IAJC/TL>?;3[;E_:N_%P/Q3XF!^BQHQ4#BND2=$LS!
MSYT20&D1*"T&I26@M!2*MBVQR9.W19OWD]]EU5TNM_\%NY5X^P6595IM7_G=
M'@B^;E\@O>%"\%7[<<FR!:L: _G[+>?B\:!Y)W7WXO7T?U!+ P04    " !
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
MM,%.1J.?'@AMQ>HUJX3KE]+]@:8=,/&@:0PDAED06U6$8@3@MJX*W);0:&6
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
M=.):[R)8BH E2<F&W"<8KI(B=96<8=9(@JZ-F?86"4Q?72.[(QPG 0\S1!)
M]:RP%VGI')3%GRM=*9!($BL??B>-H7UPM"451,_8+_XQWTP+0W[F6F5DXKGU
MW5FO<ITJR)5%KBLFY0;%IUX$2H@!W:8"9YH:SR16)2ND2(0%+!@_(Q=X7Z$F
M* !4FA5X)3G-[DB,AR75/"M5.5,:FQ1Q)200AK*54ERI,(E:52%_B(^NNA1<
M]<JKWQV;%R:D8\>VC;"N:)0XAY#6XO,:>.?7.5UC,XG;L5NV#FA&[X+J32#^
MX]41WS[:'X]Q([6FNAO.-#8INH@ KQ&>S?#8UE>)L\1!= KCZ?W]X/DG/-["
M\]U?/R:'C[>'T_$0!N/Q< *#AQMP[11&=X.KN]'=Y*?G'BF4Y"DZ'CA)>E>5
M6C$%'YV%\!6P '[4/_)N2%")*!-W$ =^T(OA^S[K"*W#/EI'T4?KT#^)3O9;
M=\DZC/WHI%LV*AC5B?I3RJ49MAR4FK' 7_'IAQ/'?MSO>T^U,@[B8[\?AG\>
MRR>P?3^,P_>PP7'PYT&.E]A?#M]UFJ\0G_AQ%'@C;$+OE^+8/SKJ>A-%1Z(!
M@6E>JY2G7MG;WDXX:0]%)E&A!M5S_6-X,QT-23[3AYN[\?7C]&$RO('GX<,$
MG@8_[_%W["'+7DT#QS'T0S_ <>,Y"ORX%WAW>&(3IZV: 1W1 Z35.\(DC-YK
MW=^7"MCU,.EL/0HSKA?NZ6O >2K?A\UL\[H>E(_*M^WET_R>Z87(J8_-T31H
M'\6M\HC6'U85[HDY4Q8?K&ZXQ)[&-6W ];E2MOX@!\W_')?_ U!+ P04
M" ! A8%8!_Y:O78"  !W!0  &0   'AL+W=O<FMS:&5E=',O<VAE970Q,BYX
M;6R-E%%OFS 0Q]_S*2PV39N$ AC2ABY!(FFJ5EK7*FF[AVD/#EP"*F!FFZ;[
M]CL;PE(IC?82[NR[G_]GYVZRX^)99@"*O)9%):=6IE1]X3@RR:!D<LAKJ'!G
MPT7)%+IBZ\A: $M-4EDXU'7/G)+EE15-S-J]B":\445>P;T@LBE+)O[,H."[
MJ>59^X5EOLV47G"B2<VVL +U6-\+])R>DN8E5#+G%1&PF5JQ=S$+=+P)>,IA
M)P]LHBM9<_ZLG9MT:KE:$!20*$U@^'F!.12%!J&,WQW3ZH_4B8?VGGYE:L=:
MUDS"G!<_\E1E4VMLD10VK"G4DN^NH:MGI'D)+Z3Y);LVEOH621JI>-DEHX(R
MK]HO>^WNX2!A[+Z30+L$:G2W!QF5ETRQ:"+XC@@=C31MF%)--HK+*_TH*R5P
M-\<\%<7S^=WC]X<562[FBYNG>/9M,7$4@O6VDW2060NA[T \2FYYI3))%E4*
MZ5N @XIZ670O:T9/$B\A&1+?LPEUJ7^"Y_=E^H;GO\-;0@+Y"UL7(,G/>"V5
MP+_#KV.5MIS@.$>WR(6L60)3"WM @G@!*_KTP3MSOYY0&?0J@U/T_WV,DY#C
M$H/AX B<K.;7B\M'-.ZNR)']@;Y]_01T$"<);RHEL1'W-TD^$L^U/=^W:1"B
M$]KG?FA[(W<0%]CKK$KPLG%LD)0W:[5I"FS!#O*9AI@9^N0+FN/0IMH</'#%
M#H+>G!3:X\"WW=&9L8, _=$Y.7;GSD$SE""VIN4E,="V+_K5?JK$;3/]"V]'
MTBT3V[R2I( -IKK#\Y%%1-OFK:-X;5IKS14VJC$SG(P@= #N;SA7>T<?T,_:
MZ"]02P,$%     @ 0(6!6&R$,3EY @  2@4  !D   !X;"]W;W)K<VAE971S
M+W-H965T,3,N>&ULA53;;MLP#'W/5Q!>L2<COL9UN\1 <RE:8+T@:3<,PQX4
MFXF%RI(G*4W[]Y/LQ,N -'NQ28KGZ% 2.=P*^:)*1 UO%>-JY)1:UY>>I_(2
M*Z+ZHD9N5E9"5D0;5ZX]54LD10.JF!?Z?N)5A'(G&S:Q1YD-Q48SRO%1@MI4
M%9'O8V1B.W("9Q^8TW6I;<#+AC59XP+U<_THC>=U+ 6MD"LJ.$A<C9RKX'(<
MV_PFX1O%K3JPP5:R%.+%.K?%R/&M(&28:\M S.\5)\B8)3(R?N\XG6Y+"SRT
M]^S73>VFEB51.!'L.RUT.7)2!PI<D0W3<[&]P5T] \N7"Z::+VS;W"AT(-\H
M+:H=V"BH*&__Y&UW#@> U/\ $.X 8:.[W:A1.26:9$,IMB!MMF&S1E-J@S;B
M*+>7LM#2K%*#T]GM_;?9_=/#_':V&'K:$-JPE^_ XQ8<?@ .0K@37)<*9KS
MXE\"SRCIY(1[.>/P).,4\SY$@0NA'T8G^**NO*CABSXJC[\BUT*^PY2JG FU
MD0@_KY9*2_,>?ATKN26,CQ/:'KE4-<EQY)@F4"A?T<D^?PH2_\L)N7$G-S[%
M_K_;. D^+FW0[QV0PF)R,YL^?YW!PS7LXS]Z]K#MB8>]B:AJAAH+6 M1*#B#
MT$W2T T&J;$C-_43-XF3WIQLS2O4*"EA"@@O3%?7-:.H('7C0>B>1P$$OIL$
MQDSCWI/0A 'M;N,,@L -HMA-TPOKQ&X<7+AQY,.Q4_0.WG>%<MUTL8)<;+AN
MGWH7[0;%5=L??]/;*7-'Y)IR!0Q7!NKWSP<.R+9S6T>+NNF6I="F]QJS-,,.
MI4TPZRLA]-ZQ&W3C,_L#4$L#!!0    ( $"%@5A%<_T!* 0  "P)   9
M>&PO=V]R:W-H965T<R]S:&5E=#$T+GAM;*56VV[;.!!]UU<,W*!/1$Q1-RJU
M#=BQBP;(Q9O++A:+?:!EVA8JB2Y)Q<G?=TA?ZBV<%.B^F!QIYLR9.4-3O8W2
M7\U*2@LO==68?F=E[?JBVS7%2M;"G*NU;/#-0NE:6#3ULFO66HJY#ZJK+J,T
M[=:B;#J#GG\VU8.>:FU5-G*JP;1U+?3K2%9JT^^$G?V#^W*YLNY!=]!;BZ5\
MD/9I/=5H=0\H\[*6C2E5 UHN^IUA>#&*G;]W^+.4&W.T!U?)3*FOSKB:]SO4
M$9*5+*Q#$+@\RTM950X(:7S;878.*5W@\7Z/_MG7CK7,A)&7JOJKG-M5O\,[
M,)<+T5;V7FV^R%T]B<,K5&7\+VRVOC%F+%IC5;T+1KLNF^TJ7G9]. K@](T
MM@M@GO<VD6<Y%E8,>EIM0#MO1',;7ZJ/1G)EXT1YL!K?EAAG!]/[N^GD_O%O
M I,_GJZF-Y/;1QC>CN%Z,GR8?+F['C_TNA;S..]NL<,<;3'9&Y@A@QO5V)6!
M23.7\_\"=)'@@27;LQRQ=Q''LCB'*"3 *(O>P8L.54<>+WJK:HU3K>TK@6DE
M&@NBF</D6UNN<=PL_#.<&:MQ7OX]5?L6.3Z-[,[0A5F+0O8[>$B,U,^R,_CX
M(4SIIW=XQP?>\7OHOZG6NYBG&:?GP:]SP</EE\GXZ7H"=Y_AU^Z!$P^&1='6
M;26LG'LU@TME+(PEYBY*X4_JK;3!J"VK>=DLC=>FK-=:/4NGCH$S"!F)XI"D
M-$$C(CQ/"><9[CF)XYAD(0^&+9X<-2LK:2#$]RQ)((PIH3&%!,TPP<3UNK52
MPTKH^49H"7%$XCQR2XA,HXP&=XM%64B0A]D(HYB$$44*(<E9XJ@PF@0WHFD7
M.#&M1L['[IB1<A+E"20DRY%SF$",Z5.2<1H\:H$,M8&<T"Q$^F$:0TZSX-I5
M'2/?)&?P\0-G(?NTMX-KB7]#*U7]U!?."<_8?MD%!8^R6#6J4LM7)!,1AGC[
M=>]R!BPB48H$?4.1<YA') ^Y,[ 768AD,R<?^UD^]COR<9)E"4E9[M6+,%_.
M*.X3$J>H'LU/JT<S0G'E.7:<OJ%>Q"!F)$TCR-+\E'I8.4?U4+:,,ZP !>=O
MJL=)BG)31(MQR+ +48J$,\P0L>R'>-CP)(/,:Q42EB;!2 D+&!I3"BPCJ"BD
M;K3^AW24\)0>UKV+GY.((TF6'>9D9Z.NH1N]G*19XMN>YI1$_J#DKLW8"@[#
M6K6-#=0"[[(C$>4+7OM& E[[_IC"1I@+-P\D82EJEN/.S5&&';]JO L!NY+@
M=!'-*Q@L,G /9JX7CN89=C'A.9SZ'^P>W6"UU$M_3QLH'+?M979X>O@4&&YO
MP!_NV^^(&Z&796.@D@L,I>=9T@&]O9NWAE5K?Q_.E,4I\]L5?LY([1SP_4(I
MNS=<@L,'TN [4$L#!!0    ( $"%@5A+3CV\=@(  '@%   9    >&PO=V]R
M:W-H965T<R]S:&5E=#$U+GAM;'U4VV[;, Q]SU<0WK"G-+XDZ6V)@=QZ =8N
M:-KM8=B#8C.Q4%GR)+GN]O639,=+AS0O,4GQ'!Y*(4>5D,\J0]3PFC.NQEZF
M=7'I^RK),">J)PKDYF0C9$ZT<>765X5$DCI0SOPH"$[]G%#NQ2,76\IX)$K-
M*,>E!%7F.9&_I\A$-?9";Q=XH-M,VX ?CPJRQ17JIV(IC>>W+"G-D2LJ.$C<
MC+U)>#D=V'R7\(UBI?9LL)VLA7BVSFTZ]@(K"!DFVC(0\WG!&3)FB8R,7PVG
MUY:TP'U[QW[E>C>]K(G"F6#?::JSL7?N08H;4C+](*H;;/H96KY$,.5^H:IS
MAWT/DE)ID3=@HR"GO/Z2U^8>]@#GP3N J %$3G==R*F<$TWBD1052)MMV*SA
M6G5H(XYR^R@K+<TI-3@=+R>/B_O'U<C7ALR&_*0!3FM@] XPC.!.<)TI6/ 4
MT[<$OE'12HEV4J;14<8Y)CWHAUV(@JA_A*_?MM9W?/UW^*Z%2"O*&!">PBW7
MA&_IFB%,E$*M8$Y5PH0J)<*/R5II:?X@/P_=0UUE<+B*'9I+59 $QYZ9"H7R
M!;WXTX?P-/A\I(=!V\/@&/NQYSD*/"SKK-=I"&$UNUG,G[XLX.L5-+&.O7>8
M":5ADB1E7C*B,76O ?>H.TOC<G-Q'TTHZ X&@S?6B85'!^'1?_#P8M@]BX9O
MK!-XS+!#<E%R#6(#QI*:_B%N=,WNJ654Q.(Y91#VNZ<7%W#HBOV]:<A1;MW,
M*T@L=3T8;;1=*Y-ZFOZEUSOICL@MY0H8;@PTZ)T-/9#UG->.%H6;K;709E*=
MF9G5B-(FF/.-$'KGV +MLHW_ E!+ P04    " ! A8%8O9LGD) #  # "
M&0   'AL+W=O<FMS:&5E=',O<VAE970Q-BYX;6R=5E%OXC@0?L^O&&5/IUL)
M-2% 03U @I+N1J* "MT]W>D>3#(!JTG,VJ9T[]??V(% 5Y3KW@OQV#/??#/C
M\=#="?FDUH@:7O*L4#UWK?7FQO-4O,:<J2NQP8).4B%SIDF4*T]M)++$&N69
M%_C^M9<S7KC]KMV;R7Y7;'7&"YQ)4-L\9_+[$#.QZ[EU][#QP%=K;3:\?G?#
M5CA'_;B929*\"B7A.1:*BP(DICUW4+\9-HV^5?C"<:=.UF B60KQ9(0HZ;F^
M(809QMH@,/H\XRUFF0$B&M_VF&[ETAB>K@_H=S9VBF7)%-Z*["M/]+KG=EQ(
M,&7;3#^(W6?<Q],R>+'(E/V%7:G;:K@0;Y46^=Z8&.2\*+_L99^'$X.._X9!
ML#<(+._2D64Y8IKUNU+L0!IM0C,+&ZJU)G*\,$69:TFGG.QT_]-T.OH:C<<P
MF(P@FBP&DT_1<!S"8#X/%_.NI\F'T?3B/=ZPQ O>P*L'<"\*O580%@DFKP$\
M(E<Q# X,A\%%Q!'&5]"HUR#P@\8%O$85<</B-=Z*6(ADQ[,,6)% 5&A6K/@R
M0Q@HA5K!B*LX$VHK$?X:+)66=&_^/I>'TDOSO!?32S=JPV+LN=0L"N4SNOU?
M/]2O_=\OQ-"L8FA>0O\?5;N(=YYMY\JY[ ?FMY_#T2/)TSOX0744WD63:!'"
M./H2GK%U#F5PABQC18S %(@4J-J8+U$>*A[8,IG2PR\0U%J-9BUHMYR(+E?*
M"ZX1QM359PKY,[CMME_S?1\J3A(SIE&!%J#7!!%_VW+%[3-"6.%D1OZ>46EZ
MG>A)A!,VF67#CVQ8>:UB0>^8TL:<KE2"H#"6YL#0L#OT)CXI*#W3EG#>X=D9
M';.0XD\GH4ZQUVN=AHW>&>1":OX/L\Y^HYMJ<_+Q/Q-9KUVWWX6@WH!H6!JM
M>JF^6*/#<K$M;++8*23-H%)_1T!DLW=P^!Z2X;RC".732AQLP@E<K?FFK(82
MJ=XQZO]C+=YU"T*E>6X,G%>D\84&J$(0S^3-X!3XHB$EBO =F53 ;5Y2D=&
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
ME;[#WT;U3.T[RS=2/6X)SNJMQCWI%,[ZK<8=^H@5IQ>.83D[L9PR]IBO^VK
M#F\:-6RP?9O::7J$)M;;IAQB/'LBO *U?B6L4/0 -460^#[QW0#')N 1";"-
M/W=CZ#RXR95<KNQ]56'GPO.JOM0=OQZOQ+WZ)G@2K^_3MTQBEU%0\"5"W78<
M-D#6=]1ZHL7&W@OG0N,MTP[7>*WGT@C@^E((?9B8#8Y_%+K_ 5!+ P04
M" ! A8%8O-C8>A,'   8$   &0   'AL+W=O<FMS:&5E=',O<VAE970R,2YX
M;6R-6%MOX[82?M>O(-P]A0,HMDC=MTD )U%: [M.8&>W/3@X#[1%VT(ET27I
M.#Z__LQ0\JUQTGW8-2G.?;Z9(7.UD>I/O13"D->JK/5U9VG,ZG._KV=+47'=
MDRM1P\E<JHH;V*I%7Z^4X+EEJLH^\[RH7_&B[MQ<V6]/ZN9*KDU9U.))$;VN
M*JZVMZ*4F^L.[>P^C(O%TN"'_LW5BB_$1)AOJR<%N_Y>2EY4HM:%K(D2\^O.
M@'Z^#9#>$GPOQ$8?K0EZ,I7R3]P,\^N.AP:)4LP,2N#P\R+N1%FB(##CKU9F
M9Z\2&8_7.^D/UG?P9<JUN)/E[T5NEM>=I$-R,>?KTHSEYC?1^A.BO)DLM?V?
M;!I:W^^0V5H;6;7,8$%5U,TO?VWC<,20>.\PL):!6;L;1=;*>V[XS962&Z*0
M&J3APKIJN<&XHL:D3(R"TP+XS,UP=/?X-2//@S^RR57?@$3\WI^UW+<--WN'
MFS+R5=9FJ4E6YR(_%= '4_;VL)T]M^Q#B?=BUB,^=0GSF/^!/'_OGV_E^>_Y
M5\]D)<@S?R7WA9Z54J^5(/\93+51@(C_GO.YD1B<EXA5\EFO^$Q<=Z ,M% O
MHG/S\T\T\G[YP-Y@;V_PD?1_S,>'W.=MHW[/.19+GI?"62GY4MC*@L(F11,E
M U$2KU#O6I#N5-1B7I@+4F@"IRM5:)$3.2=F*8"IA'(NZL5G,KG[+;O_]B4C
MCP_D:?SX?3@9/H[(P^.8')22[(^G;#3)2/<V&V4/P^<+!_.+26;.W5HI41O4
M[I*YR(7B)?E$XM!WH\2'%74]&KM>F)Z2:L.-('[@N6G(2!!YKI<F?Y,F%91E
M36A(7>9'A-'(]9(3E2"=!:&;Q!164>H#7>H,#_%08B9?A-J2+G4IB\&DE%S@
M)HA15D(N3E4::<!\2A.7)@P4QBXH=^[%7 !1?A3I@Z]=&C,WCGR4&Z0H]#Q]
MXW W!M%A@,2,N<R+WQ'>NGY)+L\3-(9V60CQHS&*BR$4:>@\VX-/8)8/9ODA
M'$$.,$9A9+&S3SX(FI;"AJB>%:70%AMGP,2-/?G6F_3(0^LU>K,V$B*KT"TC
M/V"\ _SQ>OOS3PD$]!=-Q'PN;#MW;(J 7_=.@#C.[AY'=\,OP\$SHA&^'%?
M$?C:3$\%QLNJ_D0 =PQP$'J(0O :4Q(ZWR9')N_5$M_K >&_=K].!I;/S$FL
M 5C4"P&=E##73P'*C#HC65]"RUR#&QC#PH@*A$7,#2&W71;X+HUB!->2UPL,
M*A':%)75R6LH1(B+0AR&2>@&S":0N9X7N%Y @>^AS?_.4I(7$#3 Z0P@E((=
M<=I *'(C2D\4O?!RS9N9B8GFR!+'H"1">N9&B+X6)@<OP:XCQ+1XV=?&F=R^
M6R.G9?<&H&=T'[K6CN_B/0!#PLLU!-X!1V?O&X==$9&W%5P1@<.-P&@2U12"
MOAM/V!GYP5)HC=BK=DWBT"%VCCE-E.#:@7<2*]ZJM&#6MK6*:B457(Z.LJ4!
MG&8C1&T99ERI+98>K^2Z;KBXUL(TJ"@+/BW*PA3 AB[,BQK25T"PE #)!CB=
MU5JMI,:*.8EX*Z5[).("Z^^MVZ@(BX=P*)D?'0WWV4,V'F?W=AP,)I/L>4*Z
M4)^W4*3/PVQR,A%XS7..)0+^K@K,-0QNW3@/;FVXRC4$.PE#E\81KE(*4R"
M<C: 8EM1K3_8_YX47&*5V;I$_+4N5A7FW$9+P'UN*<L<RQA %I$@=EF<.DD"
MF4L92?T4YH'O?#]3$=T=$0"SI0-DCN >G;\)*UAXB?^@B1RYB;1H&,>TG/>P
MX7KK59=2UP\BU U&Q!YH'M8OT"'0-W2Z"R"$R%S\B._0;1(W]JB=/^!43/T?
M8V1)X,9I0%@<N"Q)G8<]VHH:[E?KG3&7SENDD5H:6SN+NO@?'"#5.\';0])6
M-0.=08SEC;V+HN]V*K4S@BRY!MGUY0?(P9I9P0WHU?;3<FM[?HSM* QAE<"$
M]2+O!+XCG")/V1CFR>A7\N5Q,B%W@_'XWW#/^7TPOI\X7T -Y-;W2.#%;AK$
MN*$D#:CM@[!A)*)XT4AP$]O;!G;[$+<I@11X 1X%'G1&O(^T7>Y@V4 [Y^K1
M/1Z1K?ND_B=L\1=>E'9\8Y^ X8;Q/K2&P6R&_07[A3T'Q"L#;SRSM?1'U^J!
M_KA+N&<G.-P8M"R+G..HG/(22\JQSQ@-O2]OT=$T2EZW0$#-ZYTEC<%2%UB7
MT"37QC+RQG!+"VNU!OG0TGEI>Z*]ZQIHK-J@3 E@10,VA5F>C#(']6]1)5QK
M\AX"[.\1/AD:')YFO#$$+ -H+4 %A/'<BZ!_]%JKA%K8-RE&!,QN'F[[K_MG
M[Z!Y[1W(FS?S5ZX64&I0DW-@]7IQV"&J>8<V&R-7]NTWE09>DG:YA*>[4$@
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
M=V]R:W-H965T<R]S:&5E=#(T+GAM;)6476_:,!2&[_LKCK)I5Q'Y(-"J@TA
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
MR[=UU:ZU?%7E*H\!/ %$';9SB^V+^2C$ERJ;R+-9(N?3^=D(O#-W^C."=W8
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
M27/BXK8N=YA=)2B-2ZSTP,,HHIW6S,@_:HBN9]>3""&.XS0EY@_J5+=J*S<
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
M)^(;MI.X1O"!:5AM29-J'"S[*-34@]%&LM%8J*"D@]EJ9600QTK3(G=M&#1
MJ3.7.WF<HELM6@;I:MENM%$ @ V-3N0/H)2@=76G;8W#NE"WE8=+BBXQF =C
M%-6R%ZI]I$H5PP#OU!:X%1G;R@QC8#K'^DV=1/&GTX\6QP6*OSMJ3'+<;98'
M&B@WD"[@98-B [8JM!SU@KH7*%9%!7$H2Q\HT=[*KMI;R^5PBB"P()PKG37%
M0E']UN^]+D!NFVR]"Q-?; >7X$=*TV"CK2V G.=+$OS)5Q/-_/)CS?&H&33"
M;-SC956G3'4;89RP=&S2'<U:':341/STP]/+JZ?/Y!O$3LPDI2FS9_)_NIJ+
MMESQLM=0#-]8F[E3@NTZH\J!#- P7@Q\[H#?,0%J7^.F%7+FL__P+*HP[2.3
M%>+6E?T$-K7#@KV6?T<H4\4.V(IM<D9/Q.@]ZSU05.YP#@ML5_+!GU$AF/ P
M[!M E6NL- N.!;EZ43>IR77\(F%$'T2;*[J8);8I91,E)SA@QDN>C+83:=]"
MWS-IZTF?]H77HXN3MASD+/#N0]LRWE5M==(T)W:^/Q..IAGG&4A\A&./R)->
M(8OD'\.7)![N3X8]C/L2?*7[A@:THY#/J(%>P[D8+A6I?#$?R(R3?"[D(,M<
M4:"'LWY?*$) & 46V#46GE#8L47$L90)![E5T-^LHOET0P<L&$:7,8QM[U/"
M3YYC1,*T6 0..CJA+4'^=_ 7(VB"[-(#K94&<M[C'M>/$L[&A_QN::(34@>\
ML#3H6T>?/^!;ZQ,1 9:W/%DJ_-0E64)P=.C)7"T]-S3[AK0H*#FR4B \CL^Y
M)T1MR'AVF8I@M%I08$GU)?+4L-D#00(_6%>D?1N\H6#B8LPW4-FSK&OP-Y"9
M$F'3%\,UKB BII .'B_5BBH'':0K;*"U%F0J,TNL-I2QQ(SADRW%Q02MJ-8T
MT5ZB3W] O*DB%Q8<_NKR%:[ER7UZ%"6(*))%?#'%,@%G8>QHAEOE5']Q]HD&
MXE$$J=C61B0%:G05[D'V*RO38J.]J_,,H6,$T*-VK:6:B$FD. I7VB8V)J#:
M@,Z9C!,PV$=\$">0LD>%V<1A:&0S22^YZU<6:BEUW5&$W$3E;Y :\P/U7W%H
M^H['! )6(8(!P7?D(S-S(* 0WZ\!S!=<8B-ZN]E_YI=K)+JK"-:V,J;.:-E(
M3QAWY^KZ2:_,[V-"%ZKZ.S;#?=JO:2,>7L:'%[VSID&!+CYA1"">1[(DX;(U
MM3Y275?P%5[9 FFFWS#H",B'2^'L^'QT?.0*GROR"D-*AU-Y]4I13&&O&5I
M_GH&!OR8S!E$S,##TJ=_-A#TMSB(TF(1S(1-Y!MX3,3JZ&-*''L">I'Z^<(.
MS6JYJ;*N,A<<E3,%<M6E6%E4BN;<C&G,:/YV'?[J>>\Q$F](DY:*9B!T;6:R
MB1 #ML-VA"HSX68%-.ZJ&XZF-'EM-+8')RH/&4_X#2(WYO_\V._L*W._G,5_
M3+\<<'_?,^6[=15X@FO:1**E#YP[^)+[!@QDL>4"T9#RP5,D4$%%-K[+Z%9R
M]1:C#"Q*F"CA95RO$+Y>L5^GB^M)-IDT/A ?I%DS2/4JZD"W/)U@VP/VKA7^
M9G/*P[Y<.%;NQT0@)A09A+<'^KBR$8R#*T014SSC.?V0"$LO;G,*IP)1Q&MP
M?$=E(EX>K.@,4LBD;+:IJZJ4?8(E>>0F<(J2QYL,%^.13RYU6STU-4B@"F0#
M.!434K3??^4" Y9D,*/%40A,&XSRF<X(C5A]\^'86_&$+^+G#A2UGA';^!#A
MB(*[24<N!TGC:P;R9JBJ9DPX7FK*N4V:=U1*4:(G%]1/.'P<8"?[T\"(4@Q7
M%I\597%@S-$4$:*:6BM8),9A*X[E$Q>&'M89BAN-B[%-R<E_,K-_=3Y-;-^8
M#<+8RPS\B/Y\?$3_ P[?O74QYY I&X=PP)3]?2)ZH(>'=3BIHQ% 8JB=6>T;
MB8**M'MY)8NMU7^?2]EAY"SC#?FR8] [B*;<64O04*(LN[KM\/6X) B)#AC4
M((9WE:/^#!D51WF(LG?=3%4/15-7'(CW7"(\7YL2D+D]9MO6IHMM#DZ)!YZF
MPC$1,UV'-^SM7<F)O&72$T2P2SB7::MGW-)%*06RD512QF.81??5=A1L0YA"
M93]P&/Z2@+7_>PZ):F?,X@ 3.$N;XASJ/^1\FIQ?SY.KI]?RXDS.KY*KJXOD
M<G8I+V?R,KFXG"6SRW-Y>04?9O/SY'P.'RY(KD(YPCL"9CJNA.,0GU26=B:6
ML=2DWS0)EJ6!)RM;?J#"MDQIQ :7$50B!U^;/O"FAFC4UK[@P#QMQ(Z"E^''
M[=1J2Y.SB!NF)Q!<Y2:6@\7D1HS0QR+" XMM(&>YH,,ZZ>"TT,AR/+(=RY>=
MF"":#K20H_$X>BO!LNRP6V;3=(YARYUKET4D&W8FHG>CP")A9BC,K7)!Y6AN
M/J*F[3%Q;]H##Q&GCF3Q,7X%!#=U5>"=2Q-)1><P"M5#9->_U&*3*]/T,_5O
M5Q[B.MEP8:S*]XIC]LM^?6R8V6N5KW ,H"_)%M7P/&,<=V]*(&X>XGN_9-C8
M0,^W,GNL#H,%](/"(J1X9-HD^T@F(FE0P(UQTF/V< !['(+'^@G>E7-U.;P
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
MRE)TS;2@EPRU ]!YKI0]+IR#T]LX_@%02P,$%     @ 0(6!6(60282$ P
MJ0@  !D   !X;"]W;W)K<VAE971S+W-H965T,S N>&ULE59M;^(X$/Z>7S'*
MK5:[4F@20X!V 0D*W2)!BPC<J1]-8DBT2<S:9FGOU]_8@6Q[1Z/>%S)^>1X_
M,^/QT#MR\4,FC"EXSK-"]NU$J?V-Z\HH83F55WS/"ES9<I%3A4.Q<^5>,!H;
M4)ZYQ//:;D[3PA[TS-Q"#'K\H+*T8 L!\I#G5+R,6,:/?=NWSQ/+=)<H/>$.
M>GNZ8R%3Z_U"X,BM6.(T9X5,>0&";?OVT+\9!7J_V?!GRH[RE0W:DPWG/_1@
M&O=M3PMB&8N49J#X^<5N699I(I3Q\\1I5T=JX&O[S'YG?$=?-E2R6Y[]E<8J
MZ=M=&V*VI8=,+?GQGIW\,0(CGDGS"\=R;^#9$!VDXOD)C KRM"B_]/D4AU>
M[GL <@(0H[L\R*@<4T4'/<&/(/1N9-.&<=6@45Q:Z*2$2N!JBC@UF$V&X22$
M+RNZR9C\VG,5DNHE-SH1C$H"\@Z!3V#."Y5(F!0QB]\2N*BFDD3.DD:DEG',
MHBMH^@X0CS1K^)J5BTW#UWS/1899DY<\*W&MRSA=#C=R3R/6M_&^2R9^,7OP
M^0^_[7VK4=6J5+7JV ?A>CX?+I_@\0Z6T^_WJ\;C76,=3F 8AI,5#!_&8%(#
ML^EP-)U-5T^7'*@]XK(#JX192B<;-KHB3]68_LTDJ(2!T+>XP;>-@V1 I<1G
M@18Q9#J&D*5TDV:I>@%\#<SV%T:%!*8S#Y@WEF^8J')GD&B0&_C?WEKF>0"^
MA34>/-1"I#6B&2TBU*7^<Y@/GX#X'8>T.]:8H;M12DW9?PD\QVL%\+4.31#M
MMQ%-R+_1OG--KNO138WV X=<-RUSV6!V#M1')9>PM% ,$Z6 />.CBQ-=)VBW
MK05]P6=02533==J^_W%?WJ%M.W[@OZ7UNM['G0P3+E0#27/8HZ4#]0F":R<@
MGC7CQ>[M4A XG4[36G%%L]\D4%-#055#07T-W=Y/QNO91%^K]<-X&MX^KA]6
MDS$L)P\K6 R?YO@-+Q5.+>_EPED7<2HC?L!@QI; P,'^'$ J=*U@461841)O
M^X=T61C5UCEL: ?0]AT/[2I2Q'."EF=-<]1B:N&L("UVF#6'M#J8M-G;VG3J
M4G<QZNZK]I$SL3--4H(YJ>PDU6S5AX=E^_F]O6SB<RIV:2'QO=@BU+OJ8*!%
MV1C+@>)[TXPV7&%K,V:"_R68T!MP?<NY.@_T =6_D\$_4$L#!!0    ( $"%
M@5A#CJ/S>@(  '8%   9    >&PO=V]R:W-H965T<R]S:&5E=#,Q+GAM;(54
M46^;,!!^SZ^PV#2U$BI@2!NZ!(FDJ5II7:ND[1ZF/3AP":B F6V:[M_O; A+
MI31["7?VW7??G?/=>,O%B\P %'DKBTI.K$RI^M)Q9))!R>09KZ'"FS47)5/H
MBHTC:P$L-4EEX5#7/7=*EE=6-#9G#R(:\T85>04/@LBF+)GX,X6";R>69^T.
M%ODF4_K B<8UV\ 2U%/](-!S>I0T+Z&2.:^(@/7$BKW+::#C3<!S#ENY9Q/=
MR8KS%^W<IA/+U82@@$1I!(:?5YA!46@@I/&[P[3ZDCIQW]ZA7YO>L9<5DS#C
MQ8\\5=G$&EDDA35K"K7@VQOH^AEJO(07TOR2;1OK4XLDC52\[)*109E7[9>]
M=7/82QBY'R30+H$:WFTAP_***1:-!=\2H:,131NF59.-Y/)*/\I2";S-,4]%
M\6QV__3]<4D6\]G\]CF>?IN3DT>V*D">CAV%%72<DW1HTQ:-?H#F47+'*Y5)
M,J]22-\#.$BMYT=W_*;T*.(5)&?$]VQ"7>H?P?/[?GV#YW^ MX $\E?3'_D9
MKZ02^+_X=:C3%B<XC*.U<BEKEL#$0C%($*]@15\^>>?NUR,L@YYE< P]6LYN
MYE=/^!3WU^3 "QVB>Q3P,%WRGS(#/7,]>#J(DX0WE9*HP]W\R&?BN;;G^S8-
M0G1"^\(/;6_H#N("I<ZJ!$>,6X.DO%FI=5.@ CN0$QIB9NB34S1'H4VU.7CD
MBNT%O:L4VJ/ M]WAN;&# /WA!3DT:6=/"R6(C5&\) :TE45_VB^5N-72O_!V
M(]TQL<DK20I88ZI[=C&TB&A5WCJ*UT99*ZY0I\;,<#&"T %XO^9<[1Q=H%^U
MT5]02P,$%     @ 0(6!6&@RY!B  @  3P4  !D   !X;"]W;W)K<VAE971S
M+W-H965T,S(N>&UL?93;;MLP#(;O\Q2$5PP;8-3'I&Z7&&@.10NL!R1MAV'8
MA6(SL5!9\B2E;M]^DIUX&9#FQB8E\M-/2=2P%O)%%8@:WDK&U<@IM*XN/$]E
M!99$G8H*N9E9"5D2;5RY]E0ED>1-4LF\T/<'7DDH=])A,_8@TZ'8:$8Y/DA0
MF[(D\GV,3-0C)W!V W.Z+K0=\-)A1=:X0/U4/4CC>1TEIR5R104'B:N1<QE<
MC&,;WP0\4ZS5G@VVDJ40+]:YR4>.;P4APTQ; C&_5YP@8Q9D9/S9,IUN29NX
M;^_H5TWMII8E43@1[ ?-=3%R$@=R7)$-TW-17^.VGK[E98*IY@MU&QN%#F0;
MI46Y338*2LK;/WG;[L->0N)_D!!N$\)&=[M0HW)*-$F'4M0@;;2A6:,IM<DV
MXBBWA[+0TLQ2DZ?3F[OGV=WC_?QFMH OCV3)4'T=>MJ0[;R7;2GCEA)^0 E"
MN!5<%PIF/,?\?X!G)'6ZPIVN<7B4.,7L%*+ A= /HR.\J*LS:GC11W7R5^1:
MR'>84I4QH382X=?E4FEI+L;O0R6WP/@PT#;+A:I(AB/'=(-"^8I.^OE3,/"_
M'9$;=W+C8_1T,;F>39^^S^#^"G9']/.0R*.8PR+A(+QG-]KN=MB;B+)BJ#&'
MM1"Y@A,(W4$2ND$_,7;D)O[ '<2#WIS4YBIJE)0P!83GIK6KBE%4D+AQ/W3/
MH@ "WQT$QDSBWJ/0A 'M3N($@L -HMA-DG/KQ&X<G+MQY,.A'?3V+GF)<MVT
MLH),;+AN[WLWVKT6EVV3_ MOGYI;(M>4*V"X,JG^Z5G? =FV;^MH434MLQ3:
M-&!C%N;%0VD#S/Q*"+US[ +=&YK^!5!+ P04    " ! A8%87U9\D.\#  "J
M"   &0   'AL+W=O<FMS:&5E=',O<VAE970S,RYX;6RE5FV/XC80_LZO&.5.
MIU:R%K\D<;('2+!PVI/VA>Y+JZKJ!Q,,1)?$G.,LM_^^XP"Y[8G=JNT7[$EF
MGGEFGG',8&?LEWJCM8-O95'5PV#CW/:\WZ^SC2Y5?6:VNL(W*V-+Y="TZWZ]
MM5HMVZ"RZ'-*XWZI\BH8#=IG<SL:F,85>:7G%NJF+)5]GNC"[(8!"XX/[O+U
MQOD'_=%@J];Z7KO'[=RBU>]0EGFIJSHW%5B]&@9C=CX)O7_K\&NN=_6+/?A*
M%L9\\<;GY3"@GI N=.8\@L+E25_HHO! 2./K 3/H4OK E_LC^J>V=JQEH6I]
M88K?\J7;#(,D@*5>J:9P=V9WJ0_U1!XO,T7=_L)N[QO* +*F=J8\!".#,J_V
MJ_IVZ,.+@(2^$L / ;SEO4_4LIPJIT8#:W9@O3>B^4U;:AN-Y/+*BW+O++[-
M,<Z-YG>W\]G=P^\$9K\\?IY?SVX>8'PSA:O9^'YV>7LUO8>?'M2BT/7/@[[#
MA#ZLGQW )WMP_@HXXW!M*K>I858M]?+O 'UDVM'E1[H3_B;B5&=G(!@!3KEX
M T]TY8L63[Q6OL7QMNZ9P+Q0E0-5+6'VM<FW.'<._A@O:F=Q</X\5?L>.3R-
M[ _3>;U5F1X&>%IJ;9]T,/KPCL7TXQN\PXYW^!;ZZ/[B<C9]O)K![2?X9PE/
ML7\3_S1[^'=9>UXC&&=94S:%<GK9BM:[,+6#J4;8+%?MR;S1KC=I\F*95^NZ
ME2 OM]8\:2]"#>^!<2)"1F(:H2%(DL8D223N$Q*&(9$LZ8T;/"EFD>.@ L/W
M/(J A930D$*$)HLP<;EMG+:P47:Y4U9#*$B8"K\P9"HD[=VN5GFF07<CP$1(
MF*!(@9&41YX*IU'O6E7-"@>CL<CYI3MFI D1:001D2ER9A&$F#XF,J&]!ZN0
MH:TA)50RI,_B$%(J>U>^ZA#Y1BF'#^\2SOC'H]V[TOC9V9CBA[XD"4DD/RZ'
MH-Z#SC:5*<SZ&<D(PA'ON!Y=W@,71,1(L&TH<F:I("E+O(&]D S)2B\?_U$^
M_E_D2XB4$8EYVJHG,%_**>XC$L:H'DU/JT<EH;@F*7:<OJ*>X!!R$L<"9)R>
M4@\K3U ]E$TF'"M P9-7U4M(C')31 MQR+ +(D;"$C,(+K^+APV/),A6*T9X
M'/4F1CG T)!2X)*@HA#[T?H?TE&2Q+1;CR[MG(@$27+9S<G!1EV9'[V4Q#)J
MVQZGE(CVH*2^S=B*!$Y]?/HO[H]2VW5[2]:0F:9R^ZND>]I=Q./]_?/=?7^+
M7RN[SJL:"KW"4'HFHP#L_F;<&\YLV]MH81QJWFXW^&="6^^ [U?&N*/A$W1_
M3T9_ 5!+ P04    " ! A8%84)U@H%X"  !.!0  &0   'AL+W=O<FMS:&5E
M=',O<VAE970S-"YX;6Q]5-]/VS 0?N>O.&73M$F%I&D*C+61^HN!-%A%87N8
M]N FU\;"L8/M$/;?SW;2K$RA+\G=^;[OOK-]'E5"/JH,4<-+SK@:>YG6Q87O
MJR3#G*@342 W*QLA<Z*-*[>^*B22U(%RYH=!<.KGA'(O'KG84L8C46I&.2XE
MJ#+/B?PS12:JL=?W=H$[NLVT#?CQJ"!;7*%^*);2>'[+DM(<N:*"@\3-V)OT
M+Z:1S7<)/RA6:L\&V\E:B$?K7*=C+[""D&&B+0,QOV><(6.6R,AX:CB]MJ0%
M[ML[]DO7N^EE313.!/M)4YV-O7,/4MR0DND[45UAT\_0\B6"*?>%JLX=#CQ(
M2J5%WH"-@ISR^D]>FGW8 YP';P#"!A ZW74AIW).-(E'4E0@;;9ALX9KU:&-
M.,KMH:RT-*O4X'2\G-PO;N]7\/&>K!FJ3R-?&U:[YB<-P[1F"-]@Z(=P([C.
M%"QXBNEK M_(:36%.TW3\"#C'),3&/1[$ ;AX #?H.UQX/@&;_!]%2*M*&-
M> K77!.^I:99F"B%6L&<JH0)54J$7Y.UTM+<E-]=^U!7B;JKV.FY4 5)<.R9
M\5 HG]&+/[SKGP9?#O00M3U$A]CCU>QJ,7_XMH#OE]"<69?$@R3=$J&#^LCN
M/,R$TC!)DC(O&=&8NO. 6]1'2^-RLW7O32CH15'TRCJV\+ 3'OX'[W\>]L["
MX2OK&+KVR]^[XSG*K9MD!8DHN:ZO>QMM'XM)/2/_TNN7YH;(+>4*&&X,-#@Y
M&WH@Z^FM'2T*-S%KH<W\.3,S#QY*FV#6-T+HG6,+M$]H_!=02P,$%     @
M0(6!6-D[.15T P  QP@  !D   !X;"]W;W)K<VAE971S+W-H965T,S4N>&UL
MI59M;]I($/[.KQCYJE,KH=B8MR@'2"8XK24"*)"V:G4?%GL,J]A>NKN$]'[]
MS:[!X2I"$]T7V-G=>>:9MQWW=D(^J#6BAJ<\*U3?66N]N7)=%:\Q9^I";+"@
MDU3(G&D2Y<I5&XDLL4IYYOJ>UW%SQ@MGT+-[,SGHB:W.>($S"6J;YTS^'&(F
M=GVGX1PV[OAJK<V&.^AMV KGJ.\W,TF26Z$D/,="<5& Q+3O!(VK8=O<MQ<^
M<]RIHS483Y9"/!@A2OJ.9PAAAK$V"(S^'O$:L\P $8T?>TRG,FD4C]<']!OK
M._FR9 JO1?:%)WK==RX=2#!EVTS?B=TGW/MC"<8B4_87=N7=CN= O%5:Y'ME
M8I#SHOQG3_LX'"E<OJ3@[Q5\R[LT9%F.F&:#GA0[D.8VH9F%==5J$SE>F*3,
MM:133GIZ\'$Z'7V)QF,()B.()HM@\C$:CD,(YO-P,8?W"[;,4'WHN9J,&14W
MW@,/2V#_!>"&#[>BT&L%89%@\E\ EUA65/T#U:%_%G&$\04T&W7P/;]Y!J]9
MN=ZT>,V77!<BV?$L U8D$!6:%2M.SD*@%&H%(Z[B3*BM1/@>+)665$!_GXI#
M::5UVHIIJBNU83'V'>H:A?(1G<&??S0ZWE]G?&A5/K3.H0_FUY_"T3WE:WH#
MOZ1R%-Y$DV@1PCCZ')[([2E7SAH[[0K\#PJU0PIJ0Y:Q(D9@"D0*E&G,ER@/
MV?9MBDS:X1WX]7:S5?>[[5I$A97R@FN$,;7VB22^!;?;]>J>YT'%26+&-"K0
M O2:(.(?6ZZX?4L(*YS,R-XC*DU/%+V+<,0FLVSX,QM6EE0LZ#%3VJA3.24(
M"F-I#@P-NT,/XX."TC)MB=HK+-=&SU%(\<U!:)#OC?IETWI?"W(A-?^'66/O
MJ4IM3#[\-I"->J?[*@3U D33TF@WRNMG6J-=M4;[U:T1SA?1;;"@&KRY7]S?
M4?W=3N\6T;=@$4TG$'Z=A9-Y>*HASIHXW1"ATCPWZ:NQXTC@$\U1A2 >R6>3
MU0*?-*14*? 3F53 ;612D=&<5%?P9OHU"F++!+&,N!';QT+G6.@>"Y<'X638
MW:/ADJ-<V1%J:GE;Z'+.5+O5E [*X?1\O1SQMTRN>*$@PY14O8LNA5>68[,4
MM-C84;44F@:?7:[I2P.EN4#GJ1#Z(!@#U;?+X%]02P,$%     @ 0(6!6/I8
M'0*4 @  K04  !D   !X;"]W;W)K<VAE971S+W-H965T,S8N>&UL?51M;]I
M#/[.K["R:=JDBH00NJJ#2.6E+U*[HD*WST=BR*F7N_3.@?+O=Y= RE3*E\3V
MV8\?^\[N;Y1^,1DBP5LNI!EX&5%QZ?LFR3!GIJT*E/9DJ73.R*IZY9M"(TNK
MH%SX81"<^SGCTHO[E6VJX[XJ27")4PVFS'.FMT,4:C/P.M[>\,17&3F#'_<+
MML(9TG,QU5;S&Y24YR@-5Q(T+@?>5>=R&#G_RN$/QXTYD,%5LE#JQ2EWZ< +
M'"$4F)!#8/:WQA$*X8 LC=<=IM>D=(&'\A[]NJK=UK)@!D=*_.4I90/OPH,4
MEZP4]*0VM[BKI^?P$B5,]85-[=NU&9/2D,IWP5;/N:S_[&W7AX. B^"3@' 7
M$%:\ZT05RS$C%O>UVH!VWA;-"56I5;0EQZ6[E!EI>\IM',7WC[]O8#YY>H#Q
M9/HXNYO/X/N<+02:'WV?; +GYB<[L&$-%GX"U@GA04G*#$QDBNG_ +YEUM +
M]_2&X4G$,29MZ';.( S"[@F\;E-NM\+K?E:NDBN8H\YAC(4RG,RQ*FN,Z#B&
M&Y-+4[ $!YZ= X-ZC5[\[4OG//AU@F'4,(Q.H<>ST>UD_'P_@<=K^'@YQ]B>
MQ#O.=IYA:Z3R@LDM9,R P:34G+;V/=== <H8 =,(PG6,7,>X!,FHM+9-QI,,
M$F5'TQ"H):0LMQ/\'IVA2&&Q!<%D*I1.#5CAX_&:::Y*TUJC3)4V8'<,X&O)
M"SOU!$6I$TL.31M.-Z7E'H=[(6'KOF';)/L*%V%T%O8B)YWUH@".W9)_,$(Y
MZE6U*(RML9143U-C;7;153V"[^[U(GM@>L6E 8%+&QJT?_8\T/5RJ!521360
M"T5VO"LQL_L4M7.PYTNE:*^X!,V&CO\!4$L#!!0    ( $"%@5@OJ>YSUP0
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
M, 5-6XM)"O/0X/D( ;@V7^XOAA>DN^D4=F"E):!!82NT/*'8!L[PXNG#NPA
M\*DD8C839I.R#*Q O[P@;Z_%'F$VZ!P+[+%Q_9X 5QA@UW>0.= IA)%OW0_W
M0MZY):YS 8*_;7^M!"*?Z -\ !FHXP.C*&&V&P/]&+7ZLCB'^;^"-+"&J18Y
M& N8[0,>Z\QS;1J$2(@%+^985")*G>;&)R]@>$!=%'+'CWS;8P9TS'8<SW8\
M"GK=#6:WD9)I"D4#;DT ]C'$$<85[ ,[H/3 T0//5KPZ"6"C.:J$(3@)4)[9
M 3)F ^WG+"&N/91O,+[C\Y'>OLKKPU'Q@E1'?#]/VJW>V2^0+MB1+G@SZ3I)
M-QD,DHZ9S*WA,!G!X0!@=PW8&_62X=%]YK3Y;1VLJJAP]L*#F>&!2=5@OS2[
MA\B74L$)<:^Y)6!9KX4HC,*$*_6$3.6Y7!65%B]+H2L092D?IUFJ4U##O6N6
M%M#M%&JK!%C6H&DM5VHI2R3808,V5NI[)LZ0KG :$?D8H+D]D1A'R#7"@6%O
MW?W^LZ[[FQXO^)0CHR#?98K0@$-+624/::VYFI8 @<CW;1H&^!13V.@\8+\&
MT!L";O+!$7^GX"2O])--Q,]5NLP1OZ9: @ZU"YE-D?6 R8!XH<W"V(HBV+YB
M1F(WABW/M;X>(5!]*P0XWL@!D/MPF9B^*"M$>(Y_,'/VTD19#(QC6XYG6&F]
MS*I.J>UZ ?J&($('//>*!Q@HF!LF78?-&"IS]I;<83A%=NA0L\5"4B%UWZ;(
M(L\.8X^PT+-9%%O='=K2 LZ6JVTPY]9+I)%":C,4YD7Z-WQ J5>*MX.D&0(,
M?'HA3@,<=11S/S$"PMT("-\\ OJXP=PE ]AJ^K^3F]OAD+1;@\$?<&S[UAIT
MCNZ\)ZT?WWG)__%IW0 \ #NN0SPGM&,OQ 4EL4?-6(8%(P'%LUJ$B] <V'#S
M\7$9$VBQX^$GSX%!C4>ZS=!UH=]X:/*/3M+&WOTJ%VIN;I%XYH7A4UVU=F]W
M%]56=3][%J]NN5^XF@,N $ S4'4N0CBMJ.KF6"VT7)K;VEAJN/N9QP5<MH5"
M ?@^DU)O%^A@=WUO_@-02P,$%     @ 0(6!6+P78IM: P  R <  !D   !X
M;"]W;W)K<VAE971S+W-H965T-# N>&ULE55MC]HX$/[.KQCEJM.=E))7 J6
MQ%NU2+LL6MCV0]4/)C'$:F+G;+.T__[&#F0YB>7:#Y#Q>.:99^SQS. HY'>5
M4ZKA1UEP-71RK:N^YZDTIR51;5%1CCL[(4NB<2GWGJHD)9EU*@LO]/W$*PGC
MSFA@=2LY&HB#+ABG*PGJ4)9$_IS00AR'3N"<%4]LGVNC\$:#BNSIFNKG:B5Q
MY34H&2LI5TQPD'0W=,9!?](Q]M;@,Z-'=2&#R60KQ'>S6&1#QS>$:$%3;1 (
M?E[HE!:% 4(:_YPPG2:D<;R4S^B?;.Z8RY8H.A7%%Y;I?.CT',CHCAP*_22.
M=_24CR68BD+9?SC6MG''@?2@M"A/SLB@9+S^DA^G<[APZ/EO.(0GA]#RK@-9
MEC.BR6@@Q1&DL48T(]A4K3>28]Q<REI+W&7HIT>+Y?3Q80ZK^1.L[\9/<_AK
M0[8%57\//(WPQLA+3U"3&BI\ RH(X4%PG2N8\XQF_P7PD%=#+CR3FX0W$6<T
M;4,4N!#Z870#+VJ2C2Q>] ;>G$C.^%[!BDI8YT12^#K>*BVQ-KY=2[B&BZ_#
MF??25Q5)Z=#!!Z&H?*'.Z,\_@L3_>(-LW)"-;Z&/UM.[^>SY?@Z/GV R7B^F
M,%[.8+:X?][,9W#_N%Z_WMHU[C?1KW/?Y+0U%65%^$^P6JX5;(7.3>&S% C/
M(&/%0=,,&$]%2:'"DU3V)/&)Z9S"#C%![("A:RJX$@7+B'%0&C^EA33;UKT-
MDS> 6Z_ YI>2(CT4%H<HV(D"FXGJP^^<4<L4D:FDL+7$9G?B3[26;'O0INA!
M"T-92X3',D$33?$4-+R#T.UV.VXOB5'NNGX8N(D?M[[8-V\XO5")+0R]RQ+/
MP?+&- \:D^898O5;=:)!Z,91[/9ZB1&C[@<W"I+6[)2ZV>U]<..D:\4D<>.@
M<\G6',IEC%^B?X[]#OQV&-I/I]O$O-0F<*-N.TW==GZY;L?+S>*]O8[%9U2L
M-HO'Y?I:L=Z$O%ZL\+^!+FY\S#5[;RL,9P"(RDP$!=W8=WW?A\"-_-A*U_+W
M+KIK2>7>SA!3W >NZT;;:)LQ-:Z[\ZMY/>,>B-PS#%S0';KZ[2[F+>NY42^T
MJ&ROQD>'G=^*.8Y:*HT![N^$T.>%"= ,[]&_4$L#!!0    ( $"%@5A!"-XN
MUP,  !D)   9    >&PO=V]R:W-H965T<R]S:&5E=#0Q+GAM;)U6WV_B1A!^
MYZ\8^=K31:+^C2$)( %)>JB72Q1(\E#U83$#MF)[W=TE)/WK.[LV#M<"JOIB
MSZYGOOW&,Y_'_2T7+S)!5/"69X4<6(E2Y87CR#C!G$F;EUC0DQ47.5.T%&M'
ME@+9T@3EF>.[;N3D+"VL8=_LW8MAGV]4EA9X+T!N\IR)]S%F?#NP/&NW\9"N
M$Z4WG&&_9&N<H7HL[P6MG 9EF>98R)07(' UL$;>Q;BC_8W#4XI;N6>#SF3!
M^8M>3)<#R]6$,,-8:01&MU><8)9I(*+Q9XUI-4?JP'U[AWYC<J=<%DSBA&?/
MZ5(E ZMGP1)7;).I![[]BG4^AF#,,VFNL*U\0W*.-U+QO XF!GE:5'?V5K^'
MO8">>R3 KP-\P[LZR+"\8HH-^X)O06AO0M.&2=5$$[FTT$69*4%/4XI3P]G\
M;O(;W-W/IW??9_!ESA89RK.^HPA;>SAQC3.N</PC.)X/M[Q0B83K8HG+'P$<
M(M4P\W?,QOY)Q"N,;0B\-OBN'YS "YI, X,7',LT80)_&5,%EW#/WJFQ%(R$
M8,4:C?W[:"&5H"[YXU#V%79X&%LKYT*6+,:!1=*0*%[1&G[^Y$7NY0GF8<,\
M/(4^G$V^7E\]?KN&NQO8KQ>,)O/ITW0^O9X=HGP2]##E>8*M%<](J6FQ!J6;
MH99K^A=*4 G"A.<E*]X_?^KY7O=2 G5H_ *\_-!8JE+RI>^%\7]')B2@;@J@
MDF*^0-&4%5BQU(9_ ?\AR=;WC8GF*Y"ZF-1K;RCB5"(\&_7ALC5F&2MB;/_K
M+ ^ZO?-VQW7A)_#LT(?0]@*R?;O;:_U*;4#1<-[SVJYQ">Q.ARZ15]NMB8;-
M,G*BQ/"M3 697[R@'?8B.#.@77<7X=N!W]J1([<NP7IA[49G^W88&ON\=YRQ
M#UX[ZD4U(0-?<PYL/SI"J!.%)N#,N(711PCEL,>HUW@9X.IVG$M 7#PO_."R
M]W*\8 >L^^50;+=S*-*WSP,X(8].(X_._Y/'S6CZ $^C;X_7,)K-'F^KC]PA
MJ9P\X(146"K@E64;U#V)+$YV0ECKAH)40LRR>),QW5P;:41%FOB0V+;N6V"O
M*&@( I.D-X,A3VCB<&8MW314BY(F'D%FZ0K!Z-2[K&48V&YK2IU.62@0Q$H7
M)-(%">'GUA,GHFF6JG>((MOU(#JWHX@>//^3Y8^)5SG+*FGR,DT>T27J'*RO
MLS>N<A1K,Y3I5?%-H:K)U>PV<W]4C;L/]^JGX9:)=4I'9[BB4)>ZRP)1#>)J
MH7AIAM^"*QJEQDSHWP6%=J#G*\[5;J$/:/Z&AG\#4$L#!!0    ( $"%@5BD
M+DTY]0(  &X'   9    >&PO=V]R:W-H965T<R]S:&5E=#0R+GAM;)55VV[:
M0!!]YRM&;E0EDA-?<2 %)&YI+!%(N;0/51\6,X!5VTMVEY#^?7?7X-((K.0%
M[V7FG#-[V-G&CK+??(THX#5-,MXTUD)L[BR+1VM,";^A&\SDSI*RE @Y92N+
M;QB2A4Y*$\NU[<!*29P9K89>>V*M!MV*),[PB0'?IBEA?SJ8T%W3<(S#PCA>
MK85:L%J-#5GA!,5L\\3DS"I0%G&*&8]I!@R73:/MW'6J*EX'?(]QQX_&H"J9
M4_I;3<)%T["5($PP$@J!R,\+=C%)%)"4\;S'- I*E7@\/J#?Z]IE+7/"L4N3
M'_%"K)M&S8 %+LDV$6.Z>\!]/5I@1!.N?V&7QP:V =&6"YKNDZ6"-,[R+WG=
MG\-10NU<@KM/<+7NG$BK[!%!6@U&=\!4M$13 UVJSI;BXDR9,A%,[L8R3[2&
MH^%U=S2<CD>#03C\"N%PVA_W)],)7$[)/$%^U;"$Y%'15K3'[.28[AE,QX5'
MFHDUAWZVP,7_ )846*AT#RH[;BEB#Z,;\!P37-OU2O"\HFI/XWGGJJ99)!4R
MFLB=%8290(9<P,_VG LF_RF_3E6=8_JG,=7MN>,;$F'3D->#(WM!H_7YDQ/8
M7TH4^X5BOPR]->D^]'NS01]&]] +)]-QV)E-P]%P<DIH*=1IH7 @J+PEJ'1(
M0K((39 N8#I'=G#"@0MPS<!VS9KO57JQ/+IXOM67[3*HU4W?\^&J(L_Z^OBP
MX\-A\S5A"'0I5R*:(@1UQPS<ZGD^5[-53=OSW[#=.HJM_A$VQ[2=JH3SS_-Y
MNKZZ[9A.O0XE)E8+$ZOO-E%>/#AU\6#<'[2G_1Y,1]#N?IN%DU#9<,KF4K)W
MV/Q!"67&7,!UI1T];V,>:T?DFV#:MOT..Q+*.5QZ5=.O>=*_4C.<P#>KSNU)
M*ZRC'I@B6^E.SR&BVTSD[;!8+1Z3=MY#_X7G+]$C8:LXXY#@4J;:-[?RH%G>
MW?.)H!O=4>=4R/ZLAVOY(")3 7)_2:DX3!1!\<2V_@)02P,$%     @ 0(6!
M6-F)(R,H!0  MPL  !D   !X;"]W;W)K<VAE971S+W-H965T-#,N>&ULG59;
M;]I*$'[WKQC1HRJ1-L6[]OJ2)DC$."E2 PA(J^KH/"QX >L8+UTO)?GW9]9<
MFJ24MN<%S^[.?;X9YFJC]+_50DH#C\NBK*X;"V-6E\UF-5W(I:C>J94L\66F
M]%(8/.IYLUII*;)::%DTF>L&S:7(RT;KJKX;Z-:56ILB+^5 0[5>+H5^NI&%
MVEPW:&-_,<SG"V,OFJVKE9C+D30/JX'&4_.@)<N7LJQR58*6L^M&FU[>!):_
M9OB4RTWUC 8;R42I?^VAFUTW7.N0+.346 T"/]]D(HO"*D(WONYT-@XFK>!S
M>J_]MHX=8YF(2B:J^)QG9G'=B!J0R9E8%V:H-A_D+AYN]4U54=6_L-GRAF$#
MINO*J.5.&#U8YN7V*QYW>7@F$+D_$6 [ 5;[O354>]D11K2NM-J MMRHS1)U
MJ+4T.I>7MB@CH_$U1SG3&J5W]VEOG'8(C+IWO>YM-VGWQI \C,;]^W0(W=YM
M?WC?'G?[/6CW.I F_5[_OIM )QVDO4[:2[[ V5A,"EF=7S4->F3U-J<[ZS=;
MZ^PGUBF#>U6:105IF<GLI8(FAG*(A^WCN6$G-7;D]!UXE !SF7="GW?(CU?K
M\WZ6'SE'"!H8RI72)B_G\'=[4AF-:/KG6+Q;;?YQ;;;#+JN5F,KK!K90)?4W
MV6B]?4,#]_T)7_V#K_XI[:U1\B'M/'Q,H7\+PW30'X[;-WC:E7ATS-V3"H^[
M"WLSSG$S3OHY&<!-,FA#HLI*%7DFC,R<D4",P%_ 0T8BGR/EA23DE,0!M8>(
M>,PGD1LXW=)(-&= /N+LJ22^A>#'$6%A7'^#(' Z$EV:YJ+N;1H2GU*@^!*1
MV(TL%07$H[&3K+6V!11E9KM5XBF#O)RJI00C'G&P3-4WJ9_@;&?M',X\3CR?
MPCE05.>& 5"/D=#CSAX-*ZUFN8$SQM%(["*G1USD8=P'Y PYB0+_P"VJ2IH*
M,#C?(Y1YP%T2L)#$'@/.B1]2XG+NI-9^EILUQ@XX;J%Z*7^!&N(814/^C/HB
MA7:D[1Y [,OE1.H]_MGE+VO!(N('#"D?0Z:,N&ZX/42^BR_QC[6X !8S$OOQ
M_ONR$IY'(ILPPC!6SKFE0JR.1W]9B;T%&I$HQA*R@,0<O]8;'OR0>\_S"6<<
M<X\U\BV4?,!?ZA'&XM>Y1\A1E[@Q!3_"^H2$NA00>SQ",F:_D7O$:42)A_GY
M3IWH67[H6?X'/?LI[3VD<)?VTF$;9S).7WCH=2TU&N/%J![!.*#;G?:Q;CYI
MZG@WUTAP)D^ 9=:Y4=@(0DNH%FI3PL3^9U^^:O@_\-&Q0[A&HI.(4F0"L15R
M"R[?@H\SVPW.0YDC)F%D$)I5C0XQT4ID=CYPV\\(4,0 BW!"^($S5D84+P;&
M"\2>*DIP*$KPVT7YV._=77SL?L+XVJ-1.L;XABG>)OO@MZ'643_/P['ZG+1Z
MO#[CA702M5R)\NGMFXC1\'T%A2KG%P4N,]D>GF?8%"NIS1,!^76=KRQT"102
MUY6%*K**@+;;":@9K+'#ME($F\^(<I[;/V]2)WZN5+;)B^*\!D&AIG9:(!ML
MR^=8'K.0\*IDMF4*A$KU$BO_-W7'8$-]1GAHAQ/%Z1G%[BO8X#\ #@ML;3LP
M2!#'R/,=*SA2L.&)QWFM"N>)2\(H.(J5YK-E:BGUO%X9*YBJ=6FV>]7A]K"5
MMK?+V'?V[4I[+_0\+[%@<H:B[KL0&U1OU\3MP:A5O9I-E,%%KR87N%E+;1GP
M?::4V1^L@<.NWOH/4$L#!!0    ( $"%@5BY(R;:G0,   (0   9    >&PO
M=V]R:W-H965T<R]S:&5E=#0T+GAM;+5778_:.!3]*U966K72:O(U?,PL( $S
MU2)U*!K:W8=5'TQR(583.VL;Z$C]\6L[(1 $G@FE+XGM^![?<X\=W]O;,OY-
M)  2?<]2*OI.(F5^[[HB2B##XH;E0-67)>,9EJK+5Z[(.>#8&&6I&WA>V\TP
MH<Z@9\9F?-!C:YD2"C..Q#K+,'\90<JV?<=W=@//9)5(/> .>CE>P1SDEWS&
M5<^M4&*2 16$4<1AV7>&_OW8;VD#,^-O EMQT$::RH*Q;[HSB?N.ISV"%"*I
M(;!Z;6 ,::J1E!__E:!.M:8V/&SOT#\8\HK, @L8L_0?$LND[W0=%,,2KU/Y
MS+9_04G(.!BQ5)@GVA9S6X&#HK60+"N-E0<9H<4;?R\#<6#@M\\8!*5!<&QP
M>\8@+ U"0[3PS-!ZP!(/>IQM$=>S%9INF-@8:\6&4"WC7'+UE2@[.1@-YY,Y
M^O0!S9X?YX_3S\//DT]3].X!)":I0%/,.=:!?M]SI5I.&[E1"3TJH(,ST'Z
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
MNDDU[;B<EIR8%A-TQW.Y%N@Z7\#B4,!5,=2!D+= QJ15<0+)!?+Q%T0\XEN
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
M.5GT<B-G/S"5(,]7E(I]H,9+\S6)_@!02P,$%     @ 0(6!6'&Y>^^! @
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
M\,_G6<9>+\H#W_4!_^%_4$L#!!0    ( $"%@5BE\^Q@EP(  '0&   9
M>&PO=V]R:W-H965T<R]S:&5E=#4S+GAM;*U5VVZ;0!#]E1&MJD1*P\TX:8J1
M?*%*I%RHG;2JJCZL86Q0@"6[:SOY^^XNF#HIMOK0%[.7.6?.&3.#OZ'LD:>(
M IZ+O.0#(Q6BNC!-'J=8$'Y**RSES8*R@@BY94N35PQ)HD%%;CJ6U3<+DI5&
MX.NSB 4^78D\*S%BP%=%0=C+"'.Z&1BVL3V89LM4J ,S\"NRQ!F*ARIB<F>V
M+$E68,DS6@+#Q< 8VA=C3\7K@&\9;OC.&I23.:6/:G.5# Q+"<(<8Z$8B'RL
M<8QYKHBDC*>&TVA3*N#N>LO^17N77N:$XYCFW[-$I /CW( $%V25BRG=7&+C
M1PN,:<[U+VSJV+YG0+SB@A8-6"HHLK)^DN>F#CL N[\'X#0 YRV@MP?@-@!7
M&ZV5:5L3(DC@,[H!IJ(EFUKHVFBT=).5ZE^<"29O,XD3032]B\+I_8\3"+\^
M7$4WX>T]#&\G<!T.9^'EW?5D!D<3%"3+.=P2QHBJ^C%\A(?9!([>'_NFD"H4
MEQDW&4=U1F=/1MN!&UJ*E$-8)IB\)C"E_-:#L_4P<@XR3C ^!=<^ <=RW Y!
MXW^'.P?DN&U)7<WG[BLIDSW&Q,L)1#DI!9 R@?!IE57RY1?P<SCG@LFW]U=7
MZ6KF7C>SZN@+7I$8!X9L68YLC4;PX9W=MSYWV?Y/9*^*T&N+T#O$+HLJ2>.,
MJ%[M,EJC/8U6DV8=V)[3=^U/OKG>]= 19UONF>NT<:_D>:T\[Z"\&<D1Z ((
MYRAXET#OK\0][_RMNH-)NBL,7<4U=QJX0+;4<XU#3%>EJ/N@/6U'YU!/C#?G
M(SE2ZPGXAZ:>QS>$+;.20XX+26F=GDGMK)YQ]4;02H^).15RZ.AE*C\+R%2
MO%]0*K8;E:#]T 2_ 5!+ P04    " ! A8%8]/:G8VX"  "4!@  &0   'AL
M+W=O<FMS:&5E=',O<VAE970U-"YX;6RM55U/VS 4_2M6-DT@,=+F S:61BHM
M#*1]5!2VAVD/;G+;6CAVL&\:ME\_VPE1$8%5VEX27_N>XW-NXNNDENI6KP&0
MW!=<Z)&W1BQ/?%]G:RBH/I0E"+.RE*J@:$*U\G6I@.8.5' _& R._((RX:6)
MFYNI-)$5<B9@IHBNBH*J7Z? 93WRAM[#Q!5;K=%.^&E2TA7, 6_*F3*1W['D
MK "AF11$P7+DC8<GD]CFNX1O#&J]-2;6R4+*6QM<YB-O8 4!APPM S6O#4R
M<TMD9-RUG%ZWI05NCQ_8SYUWXV5!-4PD_\YR7(^\=Q[)84DKCE>ROH#6CQ.8
M2:[=D]1-;AQZ)*LTRJ(%&P4%$\V;WK=UV (,HV< 00L(=@6$+2!T1AMESM:4
M(DT3)6NB;+9ALP-7&X<V;IBP7W&.RJPR@\-T/KDXF]Y\.B-?S\EL?'WVY7I.
M]J: E'&]3]Z2F_F4[+W>3WPTFUF(G[7$IPUQ\ SQ%+)#$@X/2# (PA[X9'=X
M\!CN&XN=SZ#S&3B^\!F^CU+F->.<4)&32X%4K-B" QEK#:C)E.F,2UTI(#_&
M"XW*_%X_^TPWNT3]N]@C=Z)+FL'(,V=*@]J E[YY-3P:?.@KP7\B>U20L"M(
M^!)[.J,( O4!R:3&/J<-/'9PVPLVJ>D,410E_F;;P].TX?OX.(B[M$?JHDY=
MM)NZ<9951<5-F!-:2(7L-[7GOT]Q0WGT-\5/TUY2''>*X]T4"^@MYXOH_F]-
M^OZ9?^=I[/E;/</VZ\]4K9C0A,/2, \.C\U&JNF!38"R=&UD(=$T)3=<FVL#
ME$TPZTLI\2&PG:F[B-(_4$L#!!0    ( $"%@5@UWC:?50,  ,0+   9
M>&PO=V]R:W-H965T<R]S:&5E=#4U+GAM;+U676_:,!3]*U8V3:W4-1\0:#M
MXJM=)$JKT6X/TQY,<@%KCLUL ]M^_6PG3:%- U*W\4!LYY[C<WQMY[8V7'R7
M"P"%?J:4R;:S4&IYX;HR7D"*Y2E? M-O9ERD6.FNF+MR*0 G%I12-_"\AIMB
MPIQ.RX[=BDZ+KQ0E#&X%DJLTQ>)7#RC?M!W?>1CX1.8+90;<3FN)YS !=;^\
M%;KG%BP)28%)PAD2,&L[7?^B[P<&8",^$]C(K38R5J:<?S>=*&D[GE$$%&)E
M*+!^K*$/E!HFK>-'3NH4<QK@=ON!_=*:UV:F6$*?TR\D48NV<^:@!&9X1=4G
MOOD(N:'0\,6<2ON/-GFLYZ!X)15/<[!6D!*6/?'/?"&V '[C!4"0 X*G@/H+
M@%H.J%FCF3)K:X 5[K0$WR!AHC6;:=BUL6CMAC"3QHD2^BW1.-69]#\.!_>C
M(;JY1%<W-X,OT6B$NN,!BL:#X64TCNZ&:!1]'IJ!N^[X*NKIV.YD,KR;H*,!
M*$RH/$;OT?UD@([>'K=<I449:C?.!?0R <$+ OP 77.F%A(-60+)+H&KW126
M@@=+O:"2<0#Q*:KY)RCP@EJ)H/[A\*!"3JU8X9KEJ[_ =\5YLB&4EBU-A@PM
MTARX=2<(:_6@&;;<];;B_7$[TNJ%M'JEM$BO^(PPH@!1?9@21)C";$ZF%!"6
M$I0L$YUQ-K;$-)N>_CW1O#=L1W)82 Y?*?D$36%.&"-LK@\XQ2R&,A?A82XJ
MU9@[]D(N<0QM1U^B$L0:G,Z[-W[#^U"Q<QJ%UT:EUV[*A2*_L;GORBPTGEEX
MKV=^[F%_W(Z\9B&O^>I4 $OVY*%Y6![VANU8."LLG%5:&(YO4<36()7^,BF)
M1B35=A+]Q%-"B?J%^EPLN; I0$>C4?\8?;V&= KB6YF9RMD.WRV9Y;]$MK,P
MY\7"G/^#F^'\69+\T"])9DE<HR*;OO?X,?/^S^V0SU,E,;-2%GA6J_"R]6'V
M7W7Z<_C^XW] X*[$X%%B\!]N@'R2<.^V*0LLW3?N5CV4@IC;,E&BF*^8RNJ(
M8K0H1;NV 'LRWC,EJJVS'FFR^O8:"[V-)*(PTY3>:5.K$EG)F'447]JJ:\J5
MKN%L<Z'+;! F0+^?<:X>.F:"HG#O_ %02P,$%     @ 0(6!6'E5==6C @
M8@@  !D   !X;"]W;W)K<VAE971S+W-H965T-38N>&ULM99;;]HP%,>_BI5-
M4R>M#200UBY$XM)JE=H*E79[F/9@D@.QZDMF&^CVZ6<[(8,NL$UB/!#;.>?G
M_SF^G,1K(9]4#J#1,Z-<];U<Z^+"]U6: \/J3!3 S9NYD QKTY4+7Q42<.:<
M&/6#5BOR&2;<2V(W-I%)+)::$@X3B=22,2R_#X&*==]K>YN!>[+(M1WPD[C
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
M&*0D?'UDP4P*CR7] ?(=B'_>ALWR5V.Z#1M".P@O;,2N]X;IF3]$#<GJ(Y9
MQC!]H@HYRRWFCYJ39RRYS&G4OYK3._]26V[@7YK.MY3"-9[.T2^8JI,J'\99
ME*S*C7%N)Y_F9 ZB;"3[#^<]:83RSTY1WP^<P'T'99_DISF(396V2YR"LE"'
M9*ZNK:\&@RHA?E<_U%>&*N]]DSG<-QZHV+!"D@S6*.G<=-"4.*3PAX+BVRH+
M7G&%.77UF.*U!X1N@._7G*O7@NZ@ODA%?P-02P,$%     @ 0(6!6/$3=7S1
M P  CPX  !D   !X;"]W;W)K<VAE971S+W-H965T-C$N>&ULM5?[C]HX$/Y7
MK+2J6JF[>3_8 Z3RV-N5EBU==GLZG?J#-QD@:A)3VX'VOS\["8$\R-'>%B&(
MG9G/W\QX/)[^CM"O; W T?<X2MA 67.^N5)5YJ\AQNR2;" 1;Y:$QIB+(5VI
M;$,!!YE2'*F&ICEJC,-$&?:SN3D=]DG*HS"!.44LC6-,?XP@(KN!HBO[B8=P
MM>9R0AWV-W@%"^!/FSD5([5$"<(8$A:2!%%8#I0/^M58=Z1")O$YA!T[>D;2
ME&="OLK!;3!0-,D((O"YA,#B;PMCB"*))'A\*T"5<DVI>/R\1[_.C!?&/&,&
M8Q+]%09\/5 \!06PQ&G$'\CN!@J#;(GGDXAEOVB7R]JN@OR4<1(7RH)!'";Y
M/_Y>..)(01C:KF 4"D9=P3JA8!8*9F9HSBPS:X(Y'O8IV2$JI06:?,A\DVD+
M:\)$AG'!J7@;"CT^7(QOII.GNRGZ>(VFGYYN'_]&L^GCS<<)NKW_/%T\SJ;W
MC^CM!#@.(_8.7:"GQ02]??VNKW*QNL10_6*E4;Z2<6(EW4 SDO U0],D@* *
MH K:)7=CSWUD=").P+]$IOX>&9IAMA :GZ]N=- Q2U>:&9YU F^$(YSX\!Z-
M8!4F29BLVIR48]@9ALRQ[="V;,_KV7UU>\R]<RV9W%=L@WT8*")[&= M*,,W
MKW1'^Z/#$JNTQ.JTY#;9 N,B63F"*!2[#G,(4+H1:>>3A)$H#+!,PC;[.I'/
MYYT[P6HXZ\+2;=,K?54QSR[-L\\+E-B()Z*4 SA'"SN::?8<K1:EIEP]FA6&
M3LG0Z60XO9^C.= 4'2+!T-W=&/TS@_@9Z)<VSIV0/^OY%P*K6.^6UKLOD$AN
MP_6&X5A&+4!-*=,SC/;H>"4_KY/? _"4)H@L$7Q+0_ZCC9W76/?"<^WZ]FF1
M.DVO5]+K==+[4Q1O)+XY.10#7Y- 3.QW4AO=7M.9KF,Y-;HM4A675^CJVJ$$
M:;_MN"F@G=-'1$Z]F\(O;FC]J,KJ__?(Z49H9XC:4K< .C=,QL$&H].&ZXA0
M$0DT$K>FX#]/HVZPGSV.7@JM:OJALNLO4=H+D,IAX[;5]E9!33>=$X5-/Q1N
MO;MRGW,T%1"5E!&W?O&ITVP3M"N"59J' JQW5^!?.:+TEEJKV9K3<&Y3SM1<
MVW!/D#[49+V[*)^3PT[CPF)I3LN]H46POE5RENK1U3X&NLHZ'B;.Q33A^4VY
MG"V[J@]9+U&;'\EN*VL9#C!YJS;#5&QJAB)8"DCMTA6L:-[]Y -.-ED#\4RX
M:$>RQ[7H&(%* ?%^20C?#^0"90\Z_!=02P,$%     @ 0(6!6.;X7]SB @
M( <  !D   !X;"]W;W)K<VAE971S+W-H965T-C(N>&ULK57;;MI $/V5D5M5
MB=3&-S H!4M<6ZIP*9=44=6'Q1ZP%=M+=A=(_KZ[MG$),;0/%1+>6<\Y<\[
MSC;VE#WR %' <QPEO*D%0FQN=9U[ <:$W] -)O+-BK*8"!FRM<XW#(F?@N)(
MMPS#T6,2)IK;2/<FS&W0K8C"!"<,^#:."7MI8T3W3<W4#AO3<!T(M:&[C0U9
MXPS%8C-A,M(+%C^,,>$A38#AJJFUS-N.H_+3A/L0]_QH#<K)DM)'%0S\IF8H
M01BA)Q0#D8\==C"*%)&4\91S:D5)!3Q>']C[J7?I94DX=FCT(_1%T-3J&OBX
M(MM(3.G^*^9^JHK/HQ%/OV&?YQH:>%LN:)R#I8(X3+(G><[[< 0PG3, *P=8
MIX#*&8"= ^S4:*8LM=4E@K@-1O? 5+9D4XNT-RE:N@D3]2O.!)-O0XD3[FPQ
M'+:F#S#NPV0Z[@_FT!IUX6X\F\%@U!]/AZWY8#R":>^N->]U83Z&WO?%8/X
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
M@34>@FW5:M$Z2_8K8341JA7-TX76I'1'@-M:4J :IC6%MB0)]O:3H*XVF]3
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
M4>Z7"[PP\+OW/J%ZIP^STJX!6+L>OB_7W*)U%J!.%4IC4!J'T@2*IN=*.=4
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
M,F& [^(8LY<+$M%#WX#&ZXUIN-X(=<,,>EN\)C,B'K83)F=FP;(,8Y+PD":
MD57?.(=G%R@%I"M^AN3 *V.@MC*G](^:W"S[AJ44D8@LA*+ \K(G Q)%BDGJ
M^)N3&D5,!:R.7]FOTLW+S<PQ)P,:/89+L>D;O@&69(5WD9C2PS7)-^0HO@6-
M>/H+#ME:QS' 8L<%C7.P5!"'27;%S_E!5  (U0!0#D"I[BQ0JG*(!0YZC!X
M4ZLEFQJD6TW14ER8*%=F@LFGH<2)8#:XOAP^C"[!^ K<C>_ >'(Y/;^_N?L!
M1N/9# S.I]-?5^/IX_ET. ,G0R)P&/&O/5/(V(K!7.1Q+K(XJ";.D"Q.00=^
M \A"'? P&X*3SV]H3"F]T(\*_2CE[=3PCK>$81$F:S"BG(,!9NQ%_E</F"TY
M>!K)U>!&D)C_/B8YH[:/4ZOWX8QO\8+T#?F'YX3MB1%\^01=Z[M&>*<0WM&Q
M!_=4X.B8J SFI##U3NV#C@=]Z#@]<W\DGEW$L[7QD-6QP-,MB>>$'3T,+;SA
M83B%.*<]%YT6A+N%<+>9BQG,K;AH6U[7]HZ;Z!7AO(],A%H3M?"&9^$7XOSV
M3/1;$-XMA'>;F=A]9V+7AK[C'C<16F7.M3ZR$6EMU.,;'@>LU 38GI,Y]W_6
M7M8#J,W:]6;FN*J;+G1\SZ]QLTSD4)_)I9N>WDTMONF)E(D?VBVZV499@&5=
M@-KLK7'3>><F=+O(J2N3L,SH4)_2I9U=O9U:?-,C*4L ]%JTLXT" <L* ;5Y
M7&.G_[Y>^I9=]VZ6F1WJ4SNR;/U7CQ[?\$!060F0U>+G:QM5 I55 FDS>;V9
M.:[Z"0NA[\$W9IJ5KD5U@+>8K<.$@XBL),XZ]20!RYJJ;"+H-FUDYE3(MB@=
M;F0C2IA:()^O*!6O$]4;%:UM\ ]02P,$%     @ 0(6!6)>'NNO? @  ,PD
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
M2K]SWL5(UF.A-K2H7&<MA39]ZI:%F:0@;8#97PFA]X9-T,[F]#=02P,$%
M  @ 0(6!6)U]D=)< @  T 4  !D   !X;"]W;W)K<VAE971S+W-H965T-S4N
M>&ULK53O3]LP$/U73IXT;1(C:5)@8VDD*$P@\:,JVO8!\<%-KHU%8F>VV\!_
MS]E)HU8J#$W[TOCL>\_OG7N7-$H_F@+1PE-52C-BA;7U<1"8K,"*FWU5HZ23
MN=(5MQ3J16!JC3SWH*H,HC \#"HN)$L3OS?1::*6MA02)QK,LJJX?C[%4C4C
M-F#KC:E8%-9M!&E2\P7>H?U93S1%0<^2BPJE$4J"QOF(G0R.QT.7[Q-^"6S,
MQAJ<DYE2CRZXS$<L=(*PQ,PZ!DZ?%8ZQ+!T1R?C3<;+^2@?<7*_9?WCOY&7&
M#8Y5^5ODMABQKPQRG/-E::>JN<#.SX'CRU1I_"\T;>[1-P;9TEA5=6!24 G9
M?OE35X<-P&#X"B#J -%[ 7$'B+W15IFW=<8M3Q.M&M NF]C<PM?&H\F-D.X5
M[ZRF4T$XFU[>C&^OSV%R/H6[BY/I.7PZ0\M%:>"&:\U=C3_#%QASR7,.4URA
M7"*<+%!FSW!_C=4,]0,EF()K-$E@29-C#K+N_M/V_NB5^\\PVX=XL =1&,4[
MX./WPZ-M>$"5Z,L1]>6(/%_\"M]MC<ZT7,"5,H9L:_U,K=)PG1NXOZ)LN+18
MF8==3EOJX6YJUX['IN89CACUFT&]0I9^_# X#+_O\OV?R+:J$/=5B-]B3R?4
M2J@UYD#_O^QQKWM=$,8L,=]EO>4[]'QN<*S2, E6FW[>RM@2.>Q%#O]))(TJ
M8[G,Z1%W*1W^5>E;&:W28*/?W*R[YGHAI($2YX0)]X\.&.AV?K2!5;5OP9FR
MU-!^6=#(1>T2Z'RNE%T'KJO[(9Z^ %!+ P04    " ! A8%8J(IS/C\%  !Q
M'0  &0   'AL+W=O<FMS:&5E=',O<VAE970W-BYX;6S%65USVC@4_2L:[\[.
M[DR#+=D8DP5F DFWS#9-IDG;A\X^"!#@J6VQL@C)OU_Y(Q:V98$).WU)L+DZ
M.N=>R?=@#7:4_8C7A'#P' 91/#36G&\N33.>KTF(XP[=D$A\LZ0LQ%Q<LI49
M;QC!BW10&)C(LEPSQ'YDC ;IO7LV&M M#_R(W#,0;\,0LY<Q">AN:$#C]<9G
M?[7FR0US--C@%7D@_,OFGHDKLT!9^"&)8I]&@)'ET+B"EQ,;)0/2B*\^V<5[
MGT$B94;IC^1BNA@:5L*(!&3.$P@L_CV1"0F"!$GP^#<'-8HYDX'[GU_1WZ?B
MA9@9CLF$!M_\!5\/#<\ "[+$VX!_IKL/)!?43?#F-(C3OV"7Q?;Z!IAO8T[#
M?+!@$/I1]A\_YXG8&P#=A@$H'X"J YR& 78^P$Z%9LQ26=>8X]& T1U@2;1
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
MV2!7#P\L".6P(=$:@2V I7I?!2S5OLKGMU0F+,-O'^AR:XTCH7"=_47L5*<
M>7@Q!:HA7GE*W(.WPOW/69 +^,L.>GL'O;<E0F[_/!/J?N/(]N_?&[?RPG\A
M%W+CY\EPXA\[=ON7P*V^P]^>#CG!TWSPF\^$V0<U2HQ\:2HQ 7.V3F16KA2C
M1;77RVJ<_?*L5!P3OJ1*4X0+9>K46NIEX%GUE74D2TW%,V-2U4^FN5(5*W*]
M0,TO&)./'4U0U,#!'U!+ P04    " ! A8%8F.2KNTP%  #P&@  &0   'AL
M+W=O<FMS:&5E=',O<VAE970W."YX;6S565UOXC@4_2L6NUK-2-,2FR20+B"U
M=%9;[79:E?EX&.V#FUQ"U"1F; -E?_W:24CX2"Q@F8<^M,2)[_$]U[[7)W%_
MR?B+F )(])K$J1BTIE+.KMIMX4\AH>*2S2!53R:,)U2J)@_;8L:!!IE1$K>)
M9;GMA$9I:]C/[CWR89_-91RE\,B1F"<)Y:L;B-ERT,*M]8VG*)Q*?:,][,]H
M"&.07V:/7+7:)4H0)9"*B*6(PV30NL97(]+5!EF/KQ$LQ<8UTE2>&7O1C;M@
MT+*T1Q"#+S4$53\+&$$<:R3EQX\"M%6.J0TWK]?H?V3D%9EG*F#$XF]1(*>#
M5J^% IC0>2R?V/)/* @Y&L]GL<C^HV71UVHA?RXD2PICY4$2I?DO?2T"L6%
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
MQ+T-J!P@WB\(X;N&G""["3K_ %!+ P04    " ! A8%8@O1H3LH#  #?#0
M&0   'AL+W=O<FMS:&5E=',O<VAE970X,"YX;6S-5VV/XC80_BNCM*KN)'83
M)Q!@"T@+[.F0V%VTW/8^G.Y#2 9B76)3V\"=U!]?.\F&MVSNVM*J7R!V9IYY
MGK$]&?=V7'R1,:*"KVG"9-^*E5K?V+8,8TP#><W7R/2;)1=IH/10K&RY%AA$
MF5.:V*[C^'8:4&8->MG<3 QZ?*,2RG F0&[2-!#?AICP7=\BULO$$UW%RDS8
M@]XZ6.$<U?-Z)O3(+E$BFB*3E#,0N.Q;M^1F1#SCD%G\1G$G#Y[!2%EP_L4,
M)E'?<@PC3#!4!B+0?UL<89(8),WC]P+4*F,:Q\/G%_1WF7@M9A%('/'D(XU4
MW+<Z%D2X##:)>N*[]U@(:AF\D"<R^X5=8>M8$&ZDXFGAK!FDE.7_P=<B$0<.
MQ'_%P2T<W%.'YBL.7N&09<[.F66RQH$*!CW!=R",M48S#UEN,F^MAC*SC',E
M]%NJ_=1@/GI_-WZ>WL'C.QA/YA^>)L/G#Y/'ASF\&:,*:"+?PA4\S\?PYN>W
M/5OID,;1#@OX80[OO@)/7+CG3,42[EB$T3& K;F6A-T7PD.W%G&,X35XI &N
MXWH5A$8_[N[6T/'*_'D9GO<*WH@SR1,:!693-F"*4H** P8?8YXDW^!QQS""
M^68A:43U.6G +!#(5/9"R)BN8<(4"I2J 7?+I=[=$O@21AICA;(!#_HH?YKJ
MJ#!1F,K/56N04VQ64S2%X$:N@Q#[EC[I$L46K<$O/Q'?^;4J?Q<".\IFL\QF
MLPY],*92";K89"=<<6"<A7K[")U*RE9 BTSIM QQ11DSDXL@"5B(57G)@[6R
M8*:>;0>N[[0<K]FSMX>2:TG]3<FM4G+KAR57:<B]_0,-5VW2;7K=$PVM,ZU7
M?D?;[;4>T?-+>GXMO0?.KJJ6 &2L]['9J50O45J9?O^,>K?C$)><,#\W\[O$
M=UO5Q-LE\?:%MI*N3-_91^TSAI[CM]K$/U%R;G>ZWXZD=$HIG5HI=P\S722V
MFJW^?AK&T^D(/MUCND#Q&?ZH*"4PVX@PUE\WN%T)1.-6.E0)K(W_5PO(A<".
M4M4M4]7]_Y?C[B6S>2&PHVP29]\=./]E02ZBU9V07'6UH=MI>M5'B1ST.^0?
MU=O"_?L%M\JPKN(2=T_1_==J;@%]R(HXI.4[9QD^-ZPKNV3?$)':#N&BA;<(
M=?0%[SJ$=,\6H\*PLO3:!ZURBF*5W2 DA'S#5-Z$EK/E+>4VZ\U/YH?F]I*U
MX'N8_.IS'PA]%"0DN-20SG5;LQ+Y;2(?*+[.&O(%5[J]SQYC?0-#80ST^R7G
MZF5@ I1WNL&?4$L#!!0    ( $"%@5C5P(C!90,  (,*   9    >&PO=V]R
M:W-H965T<R]S:&5E=#@Q+GAM;,U6;8_:.!#^*Z-<5;42W;Q!V-U")-[:(K%
M@;U^J/K!) .QFMC4=I96NA]_=A)2[IJE4K57'1^(7V:>>1YGQIG>D8O/,D%4
M\#5+F>Q;B5*'6]N648(9D5?\@$SO[+C(B-)3L;?E02")"Z<LM3W'">R,4&:%
MO6)M*<(>SU5*&2X%R#S+B/@VQ)0?^Y9KG196=)\HLV"'O0/9XQK5_6$I],RN
M46*:(9.4,Q"XZUL#]W;H%@Z%Q9\4C_)L#$;*EO//9C*-^Y9C&&&*D3(01#\>
M<(1I:I TCR\5J%7'-([GXQ/ZFT*\%K,E$D<\_4!CE?2M:PMBW)$\52M^?(>5
MH([!BW@JBW\X5K:.!5$N%<\J9\T@HZQ\DJ_509PY>-XC#E[EX!6\RT %RS%1
M).P)?@1AK#6:&112"V]-CC+S5M9*Z%VJ_52X'KV;C.]G$UB\@?EB#J/%?+-:
MS&;3^5N8SC>3U62]@=5D-MA,QK!9P&#T_GZZGFZFVO;%&!6AJ7S9LY6F8@#M
MJ H[+,-ZCX1U/;CC3"42)BS&^)\ MM90"_%.0H;>1<0Q1E?@NRWP',^'^_48
M7CQ[>0'7KP_(+W#]1W!'G$F>TIB8)&K!#*4$E1 &'Q*>IM]@<608PSK?2AI3
MG=<M6!*!3!4;0B;T %.F4*!4+9CL=CH;)? =C#3&'F4+YKKT/LYT5)@JS.2G
MIL,L*;:;*9K"O94'$F'?TI4I43R@%3[_PPV<UQ<.H%T?0/L2>CBF4@FZS8LB
M4AP89Y%^=4*KIVP/M!*GE0QQ3QDSBUN2$A9ADY0R6*<(9JZ,A] +G([CMWOV
M0P/+3LVR\T0L=<+]A&(9*3BCZ#M!I^L&S12#FF)PD:+O=N$.6<P5@=EL!!_O
M,-NB^ 1_->0*+',1)?JZ@<%>(&8FHTX.39POAO[%#.G6PKK__Q+I_@<'<%T?
MP/7O+)&+P9JEP 45-[6*FR=2,8B^Y%128]C$_^:'^M$]@OXUEX_K?/]4.4]$
M<,[9JZ8MD(G./)-;*9>R\;/E_$#^E=]I7_N/D#_[SKJ_[8*J0IU?HF[0[KC=
M?Y&TS_J"#,6^Z'XD1#QGJFP1ZM6ZPQJ4?<5W\[(]NR-"9ZZ$%'?:U;GJZN"B
M['C*B>*'HLO8<J5[EF*8Z"X1A3'0^SO.U6EB M1]9_@W4$L#!!0    ( $"%
M@5BM#'EK(@0    1   9    >&PO=V]R:W-H965T<R]S:&5E=#@R+GAM;,U8
M;6_B1A#^*R.WJNZD)'[%0 I("4G;2(0@R/4^G/IAL0=8G;WKVUW@\N^[?L$8
MXK@-1=5]2?PR\\SSC&=G9^EMN?@J5X@*OL<1DWUCI51R;9HR6&%,Y!5/D.DW
M"RYBHO2M6)HR$4C"S"F.3,>R?#,FE!F#7O9L(@8]OE8193@1(-=Q3,3++49\
MVS=L8_=@2I<KE3XP![V$+'&&ZE,R$?K.+%%"&B.3E#,0N.@;-_;UT/93A\SB
M3XI;6;F&5,J<\Z_IS4/8-ZR4$488J!2"Z'\;'&(4I4B:Q[<"U"ACIH[5ZQWZ
M;YEX+69.) YY])F&:M4W.@:$N"#K2$WY]@\L!+52O(!',OL+V\+6,B!82\7C
MPEDSB"G+_Y/O12(J#EIHO8-3.#C'#MX;#F[AX&9"<V:9K#NBR* G^!9$:JW1
MTHLL-YFW5D-9^AEG2NBW5/NIP?AI?#E\&C]/GT:CA_'O\#!^OI_>SYYG\.$.
M%:&1A#$1@J3)_@B7\&EV!Q]^_M@SE0Z>0IA!$>@V#^2\$<AVX)$SM9)PST(,
M#P%,S;JD[NRHWSJ-B'<87(%K7X!C.6X-H>&_=W<:Z+AE)MT,SWT#;\B9Y!$-
M25J>%S!"*4&M"(//*QY%+_"T91C";#V7-*1ZQ5S A AD*GLAY(HF\, 4"I3J
M NX7"UWG$O@"AAICB?("QGI1?QGIJ/"@,)9_U7V#G*)73S%M"=<R(0'V#;WF
M)8H-&H-??K)]Z]>Z_)T)["";7IE-KPE]H'.C=FD)J52"SM?9NE<<&&>7@:XE
MH?-*V1)HD;:ZA.116EF4M*5M!FV[Z[G=GKFI2GUMYG>TF5>:'8AHE2):C2)N
M@H"OF?Z, @.D&S*/L(YCZU7P;L=SK99_1#*W\ZMVGM?MM-KU+/V2I=_(\GX\
MT96WT0G4[5GI0AN-AO#E$>,YBMHB:X1[;Y&=">Q >;M4WO[QEVS[G-D\$]A!
M-CME-CN-=;3/$P0\3@A[ 5[F:;=&06\EM8L@Q^Y6BMNZ\EM'*Z"1P(GRNJ6\
M;J.\*4::>@B)[DR%,LBD)2@"711ZZ*G3U:W1Y1[K:HQ\HB[;VH\ UO_2:XLP
MU4;F.DZK6VE0N=QF/J?JK8P\=G.AD@AEK0#[58?U.[9M==QC 36&OM_NV*WZ
M5FP[>V[..;:, J6::D^GVG(ZQTQ?&[J^ZU4E'3+=CSMVX_X_<.TV/"(+N2+_
MN&,T0[VWR9T+[5#X?C*QO1]_U[ ;QZ=W9_1,:(<9W8])=O.<]-]VC@+\L,6^
M6@>-#$Y5N!^Q[.89Z\3-HT ]E.8<2SOK"&56SI(QBF5VQ):0=:7\;%8^+8_Q
M-]GA]>CY;7J\S\ZH>YC\MX%'(I:428APH2&MJ[;^-B(_;N<WBB?9B77.E3[_
M9I<K)"&*U$"_7W"N=C=I@/)'C\'?4$L#!!0    ( $"%@5B68<-[F@4  *D<
M   9    >&PO=V]R:W-H965T<R]S:&5E=#@S+GAM;+6976^C.!2&_XK%KE8S
MTK9@&PQTDTAMFMFI--V)FNG.Q6@O:.(D:/C(8*?I2OOCUWP4!S!.VF9N6B#G
MO+P^P'DP'NS2[#M;4\K!4QPE;&BL.=]<F":;KVD<L/-T0Q/QRS+-XH"+W6QE
MLDU&@T61%$<FLBQBQD&8&*-!<6R:C0;IED=A0J<98-LX#K)_KVB4[H8&-)X/
MW(6K-<\/F*/!)EC1&>7WFVDF]LQ:91'&-&%AFH",+H?&);P88R=/*"+^#NF.
M[6V#?"@/:?H]W[E9# TK=T0C.N>Y1"#^/=(QC:)<2?CX48D:]3GSQ/WM9_4/
MQ>#%8!X"1L=I]#5<\/70\ RPH,M@&_&[=/>15@,J#,[3B!5_P:Z,=9 !YEO&
MT[A*%@[B,"G_!T]5(?82(.E)0%4":B?8/0FX2L#%0$MGQ;"N QZ,!EFZ UD>
M+=3RC:(V1;8839CDEW'&,_%K*/+X:#;^.+F^_S0!GS^ N\GT\]V7RRNQ-YO\
M>3OYZ\L,O+NF/ @C]AZ<@?O9-7CWZ_N!R<6)\W1S7IWDJCP)ZCD)1. V3?B:
M@4FRH(NF@"D<U[;1L^TKI%6\IO-S@.'O %D(*PR-CT]'&CNXKB(N]'"/WAU]
MI,F6@F66QF#RQ&F6!!$8%Y>/9N#;)Q$/;CB-V3^JZI7BMEH\?Y OV":8TZ$A
MGE1&LT=JC'[[!1+K#]7(3R36J(-=U\'6J8]F0429:H1EFE.DY9WE<80]C&S/
M(@/S<=]]-]!V/-NRB5\'-IPYM3-'Z^PF$1>%,@[HD^B C*I,E@ID_]R^1TC;
M8C<,^<BW>PR2VB#1&AQOLXPF' 3)(F]#5.PM0)C,Q0T$>/"D\TTZALX@1BYV
M6L:[<5 4UR%JXVYMW-5?<[J*<^.;+%V&7.7/[1;,=1V/V"U_W3C70N+.M-4&
MO=J@IS4XR2NW"/E67'\@P =8Y3A@C'+E[>IU*VK[OD7<=DD5@=#W(+9<M6>_
M]NP?5=1OMS1^H)FR:V@57MHU3B36&"RT)(2LG]D_*_43E>)4:LU:[ $9OJZ'
M5GGD<!-51.J[*$32'7IS'ZTD#C9219RNDT))8ZB%G,"[N#+S,,A?%)4&<;<3
M$H]@Z+<=*@)%[[(Q[+$H00GUI'Q#NZ^4&Z94[5X5I^GW4*(4ZEEZN.-#!2.5
M+5\1Z+IB-*CO'I XA7J>S@XV>=CEH>/8+K2<3B45D=#Q7.BC'IL2GE!/SU?
M"78YJ8:3(E +)RB)"@\@]>MX6K,)_ >.P95>\L5-^D1JS0)(/$/_IP+KI.P^
ME5IS)B;AC;1 [ =6E==X;%SDV>W[5!4GPDC/PX4D2I$>I<? "JFHZK8=:L^C
MKC#0%5?R%NEY>PAEJ,M0Z-H0M@?0#<-BF#TH0)*T2$_:-V ,==EZAAUL=ZPK
M&.QYOM=C71(8'9BK'J08Z@+T##D$^U;;HB(08]M!3H])B5IT'&K[:8 4LU9/
MO*#DGT6:)A5,]J!E^3WO,DBB%NE1^PJ&Z16/>J"J4;U=J#EJ26ZD)_?5>'KY
M4@;J)5_:]T^EUBR ? E WL]D(#KI^\"IU)JUD.\#Z,!\O9>!?K?QBC=AZ)-.
MG^M&VHYXCJV^US4L"8WUA#Z&@[@+83%I0VY[2J2(TTW:L(0UUL/Z$.EP%]20
M$,^WO+9#12"RL>/T=&,L88SU,'X#[;""T\2SW/:<6!6'B._TX [O?:'6D_HP
M[G 7M-@24S&G/6E3!'J6+>[JG@]U6#(9'\?D?G#@+FH=BXC;%*.VRVZD[;EB
M=FGU  ]+*F,]E5\!O$JQ\6%;.6E3!*HG;>;>HH_HMZMB+8R!>;I->+F04A^M
MU]LNBU6FUO$K>#$N5\VD3+F(=QMDJS!A(*)+(6F=N\)55JZ+E3L\W11+2P\I
M%TV_V%S38$&S/$#\ODQ3_KR3GZ!>G1S]#U!+ P04    " ! A8%8YLD66"T#
M   O"P  &0   'AL+W=O<FMS:&5E=',O<VAE970X-"YX;6S%5EV/VC@4_2M7
MV5752NWD.X0I1,I VHXTPXY@Z#Y4^V#(!:(F-K4-S/[[M1TF!9I!VPJI+XGM
MW'-\SO5-<GL[QK^*%:*$IZJDHF^MI%Q?V[:8K[ BXHJMD:HG"\8K(M64+VVQ
MYDAR ZI*VW.<R*Y(0:VD9]8>>-)C&UD6%!\XB$U5$?[O#99LU[=<ZWEA7"Q7
M4B_826]-ECA!.5T_<#6S&Y:\J)"*@E'@N.A;J7L]<!T-,!&?"]R)@S%H*S/&
MONK);=ZW'*T(2YQ+34'4;8L#+$O-I'1\VY-:S9X:>#A^9O]@S"LS,R)PP,J_
MBURN^E9L08X+LBGEF.T^X=Y0J/GFK!3F"KLZMJ."YQLA6;4'*P550>L[>=HG
MX@#@1B\ O#W .P4$+P#\/< W1FMEQM:02)+T.-L!U]&*30],;@Q:N2FH/L:)
MY.IIH7 RF0P^9</I709_?8!Q]CD;33/XF(VR<?J8#>%V!-/1K1Y-'M7"!-+1
M$ ;I*!VF\'J(DA2E> /O8#H9PNL_W_1LJ21I8GN^W_ZFWMY[87O7@WM&Y4I
M1G/,CPELY:4QY#T;NO'.,@YQ?@6^^Q8\Q_-;! W^/]P[(\=O\NL;/O\%OC%N
MD6Y0P(*S"K(GB9R2$@;F9)$+(#2'.T:7[^Y4.>>0"H%2P)<[Q0.W$BOQ3UM6
MZTV#]DWUJW\MUF2.?4N]VP+Y%JWDU1]NY+QOR\B%R([R$S3Y"<ZQ)X],DK+-
M80T+#4Q_B[:)'_M>$#M1S]X>JO\Q, CCP FB;A-XI"QLE(5GE=5EWB;M+.YG
MDW\ALB.+46,Q^AW%&5TR/Q<B.\I/I\E/Y]>*LX9%!S77"571!2>E^6-8&'JN
M_BRU%6;<J(K/JIK20JK#F$@BL3ZB=,89R>'+/58SY*UG<I;R9\_D0F1'[KN-
M^^[OJ-GN)?-S(;*C_+C.]S^Z\VM5N\<=?5,[811W(^^D<%LB@]"+8S^(3FK7
M/F@]5/J7IB,3,&<;*NN?=K/:='VIZ75.UF]T-VA:FN\T=2MY3_BRH )*7"A*
MYZJC9/&Z.ZLGDJU-@S-C4M6 &:Y41XM<!ZCG"\;D\T1OT/3(R7]02P,$%
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
ML&%%HC[QP^]03ZAO>!%/9'DDA^K>8.20J)"*I[58/T$:9]4O>ZR-.!%H3K?
MKP7^<\'@C*!7"WK/!<$905 +@M*9:BJE#R%3;#H6_$"$N5O3S$EI9JG6TX\S
M\]Z72NBKL=:IZ?)^MES\=;_X^#=9?-;')7D3@F)Q(LE')@0S;^4M^97('1,@
MQZ[28QJE&]7\6<7WS_ IN>69VDFRR-:P[M#/_T?O6P"NGFPS8_]IQC/?2OR#
M95>D1W\AON<'70]DEX<0-?)>ASQ\O=RWS*;7O+]>R>N=>W_%2L*W C)%%GMS
M_/*GOH-\4)#*KUVOJ\(%W3BSRMS(G$4P<?0R(D'LP9G^_!,=>+]U684)"Y%@
M+1N#QL; 1I\N%8\>",_+M6@K6*8Z/]:9E7*I>YBPL((-2IA9[/?3T37U/&_L
M[CM\Z3>^]*V^S'DF]0JJ_9#DRRVD*Q"=7Y65<JDOF+ 0"=9R;]"X-\ -S@&F
MC9BP$ G6LG'8V#A$"4XKY5+W?@!&NHP;OHC+8' V+*\;1ZZMCBS2/.'? >Q!
M:65<Z@<F+$2"M;P;-=Z-<(-RA&DC)BQ$@K5LI-YQY^BAA*4=<ZF!/T+K#,P:
MU/K'[/7/AB8]V5%3NR\O/K Z1LF_Y+7_I_8A+O8,DQ9BT=KV^D=[?=SXK7E8
M7F+20BQ:V\MC\D"MF^IV",=2%K F1:[/X1%$%$OH]+/W(G!H*VYJHU"3 RQ:
MVZAC>D!Q\@/Z<AO>'W1X@[KUQZ*UO3FF"-2>(]C6N]=M5.P#7!RAJ/D#%JUM
M[C&#H,@I!$7-(5!I(1:M[>4QC: X>03MV+./@HXHQDPX0BQ:98Y[4A),06S+
MTJHD$2\R5=7*FMZF?/NN+%H^ZY^;LFY9:CQBJIKP+1/;.),D@8U&>E=#'2FB
M*K-6#<7SLO"XXDKQM#S= 5N#,#?HZQO.U5/##- 4NZ?_ 5!+ P04    " !
MA8%8]^F<52\#  #N$@  #0   'AL+W-T>6QE<RYX;6S=6%U/VS 4_2N1&1-(
M$VF;$9K15MHJ(4W:)B1XV!MR&Z>UY-B9X[*67X^OG:8?^"+&PU;6"F+?XW/N
ML7V#+0:U60EV,V?,1,M2R'I(YL94G^*XGLY92>LS53%ID4+IDAK;U;.XKC2C
M>0VD4L2]3B>-2\HE&0WDHKPJ31U-U4*:(3EO0Y%_?,V'I)M^))&7&ZN<#<G=
MR?M?"V4NWT7^>?3AZ*AS=WJY'S]QP"F)@Z+G+Q ]ZW1P80 Q\?1EXL]I8](7
MN])N^+$5\L1CC-8/T&R6#1,ZCAPWFS(:%$IN]B8A/F#5:<FB>RJ&9$P%GV@.
MK(*67*Q\N >!J1)*1\86A4W7A4C]X.&N[T&]-#HEETJ[W#Z#_SUIAN\!ZQX8
MY$*T!GO$!T:#BAK#M+RR'3?8!9] 4=.^7576X4S35;=W3C8$][!))DKG3+=I
MNF0=&@T$*\".YK,Y/(VJ8@"-4:5MY)S.E*3.PYK1-*SLE EQ R_3SV)'>UEL
M[5L'=DVV36NH:7H9WP'];36OO2W;>Y5N5/%[9;XL['2DZT.!LFO-"KYT_671
M&L#4N[@ZK2JQ^BSX3);,3_[%"4<#NN9%<Z7Y@\T&I3*U :9)=,^TX=/MR&]-
MJUNV-.MR6A:XY]X;]/QWUWG&)--4;)NVM7_(J_QJQ\WI\R\\NS\K^XZ#)I.+
MP_?8G+B';C)]"R;?Q';W#]]DDAVDQ[@YO[<N"3M7A#8:P55L2'[ Q4YLDD:3
M!1>&RZ8WYWG.Y).;@I4W=&(O\SOZ=GS."KH0YK8%AV33_LYROBBS=M0U+$0S
M:M/^!M/KINT]T.;B,F=+EH^;KIY-7#.R#9NU^0!A'[ERGS""<3P61@##\F .
M,(YG87G^I_GTT?EX#//6#R)]E--'.9X50L;NB^4)<S+["<\TRY(D3;$5'8^#
M#L;8NJ4I_(35,&_ P/) IC];:WRW\0IYO@ZP/7VN0K"9XI6(S11?:T#"ZP:,
M+ OO-I8'&-@N8+4#^<-YH*;"G"2!7<6\86\PCF09AD MAFLT39'52>$;WA_L
M+4F2+ LC@(4=) F&P-N((Y@#\( A2>+.P;WS*%Z?4_'F/URC1U!+ P04
M" ! A8%8EXJ[',     3 @  "P   %]R96QS+RYR96QSG9*Y;L,P#$!_Q=">
M, ?0(8@S9?$6!/D!5J(/V!(%BD6=OZ_:I7&0"QEY/3P2W!YI0.TXI+:+J1C]
M$%)I6M6X 4BV)8]ISI%"KM0L'C6'TD!$VV-#L%HL/D N&6:WO606IW.D5XA<
MUYVE/=LO3T%O@*\Z3'%":4A+,P[PS=)_,O?S##5%Y4HCE5L:>-/E_G;@2=&A
M(E@6FD7)TZ(=I7\=Q_:0T^FO8R*T>EOH^7%H5 J.W&,EC'%BM/XU@LD/['X
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
M[Y-\'U1,_5!GFFBZH;;UWCWFN2V/^85;)H?S?^.=_Y/PXW]02P,$%     @
M0(6!6$#*==&. @  3#,  !H   !X;"]?<F5L<R]W;W)K8F]O:RYX;6PN<F5L
M<\W:/6[;0!"&X:L(/(!7.[,SNPXL5VG<!KX (:]^8$D42 :Q;Q]!+J2/2)'&
MX%<12X+#MWI +/GTJQ[:<=^=AMW^/"P^CH?3L&IVXWC^$<*PWM5C.SQTYWJZ
M7-ET_;$=+\M^&\[M^KW=UB#+I8?^?D;S_'0_<_'Z>:[_,[';;/;K^K-;_S[6
MT_B/P>%/U[\/NUK'9O':]MLZKIKP<;B='L+U$!\NDYO%R]NJZ5_>8A/F#A((
MDOF#%()T_J $06G^((,@FS_((<CG#\H0E.</*A!4Y@]ZA*#'^8/B$F5<$B1-
ML";0.B+7D<#KB&!' K$CDAT)S(Z(=B10.R+;D<#MB'!' KDCTAT)[(Z(=R30
M6U!O(=!;4&\AT%LF+]L$>@OJ+01Z"^HM!'H+ZBT$>@OJ+01Z"^HM!'H+ZBT$
M>@OJ+01Z*^JM!'HKZJT$>BOJK01ZZV2SA$!O1;V50&]%O95 ;T6]E4!O1;V5
M0&]%O95 ;T6]E4#OA'HG KT3ZIT(]$ZH=R+0.Z'>B4#O--GL)M [H=Z)0.^$
M>B<"O1/JG0CT3JAW(M [H=Z)0&]#O8U ;T.]C4!O0[V-0&]#O8U ;T.]C4!O
MFWRL)-#;4&\CT-M0;R/0VU!O(]#;4&\CT-M1;R?0VU%O)]#;46\GT-M1;R?0
MVU%O)]#;46\GT-LG/YL0Z.VHMQ/H[:BW$^CMJ+<3Z)U1[TR@=T:],X'>&?7.
M!'IGU#L3Z)U1[TR@=T:],X'>&?7.!'KGR<^"!'IGU#L3Z)U1[TR@=T&]"X'>
M!?4N!'H7U+L0Z%U0[T*@=T&]"X'>!?4N!'H7U+L0Z%U0[_*=>@_CYZ$.MYZO
M-3[_.ZD>+_?6V^.ORZ^3$W:N.(?[BN'Y+U!+ P04    " ! A8%8(=OYL3$"
M  #-,0  $P   %M#;VYT96YT7U1Y<&5S72YX;6S-VTUNVS 0AN&K&-H&EBQ2
MI-0BSJ;MMLVB%V E.A:L/Y!,ZMR^E)P$:)$:"5R@[\:"37*^$0=X=K[^_CA9
MOSKVW>"WR3Z$Z6.6^7IO>^/3<;)#7-F-KC<A?G5WV63J@[FSF=AL=%:/0[!#
M6(>Y1G)S_=GNS'T75E^.\6??CL,V<;;SR>K3:>.<M4W,-'5M;4)<SQZ&YH^4
M]5-"&D\N>_R^G?Q5W)!DKR;,*W\/>#KW[<$ZUS9V=6M<^&KZN"L[=ID/CYWU
MZ?D2K_0X[G9M;9NQON_CD=1/SIK&[ZT-?9>>BEZ=3P[QANWI,[\X?RES+C#N
MO'7CY./$G'U_W/-(YM/K*1:R+K3G7_$E,9:^^/WL/.W&-F_,CM?[<W2'91X^
M6QZ7W_'O,WZI_\X^!*0/">FC@/2A('UH2!\EI(\*TL<'2!_YAM((1=2<0FI.
M,36GH)I35,TIK.845W,*K#E%5D&155!D%119!45609%54&05%%D%159!D550
M9)44625%5DF155)DE119)45629%54F25%%DE1=:"(FM!D;6@R%I09"THLA84
M60N*K 5%UH(B:T&155%D5119%45619%54615%%D5159%D5519%44635%5DV1
M55-DU119-45639%54V35%%DU159-D;6DR%I29"TILI8464N*K"5%UI(B:TF1
MM:3(6E)DK2BR5A19*XJL%476BB)K19&UHLA:_4]9?XSCX1_'+\^T-^WPG)\M
M_^*X^0502P$"% ,4    " ! A8%8!T%-8H$   "Q    $
M@ $     9&]C4')O<',O87!P+GAM;%!+ 0(4 Q0    ( $"%@5AWZ_VV[@
M "L"   1              "  :\   !D;V-0<F]P<R]C;W)E+GAM;%!+ 0(4
M Q0    ( $"%@5B97)PC$ 8  )PG   3              "  <P!  !X;"]T
M:&5M92]T:&5M93$N>&UL4$L! A0#%     @ 0(6!6.!%AFSD!P  7S0  !@
M             ("!#0@  'AL+W=O<FMS:&5E=',O<VAE970Q+GAM;%!+ 0(4
M Q0    ( $"%@5BFM$W5ZP8  *$=   8              " @2<0  !X;"]W
M;W)K<VAE971S+W-H965T,BYX;6Q02P$"% ,4    " ! A8%8LR#'\+D"  "'
M"   &               @(%(%P  >&PO=V]R:W-H965T<R]S:&5E=#,N>&UL
M4$L! A0#%     @ 0(6!6#GU) AI"   !B4  !@              ("!-QH
M 'AL+W=O<FMS:&5E=',O<VAE970T+GAM;%!+ 0(4 Q0    ( $"%@5B2N\<>
M!PD  'DI   8              " @=8B  !X;"]W;W)K<VAE971S+W-H965T
M-2YX;6Q02P$"% ,4    " ! A8%8 Q &2J8&  "$+0  &
M@($3+   >&PO=V]R:W-H965T<R]S:&5E=#8N>&UL4$L! A0#%     @ 0(6!
M6(.GW!I7 @  M@4  !@              ("![S(  'AL+W=O<FMS:&5E=',O
M<VAE970W+GAM;%!+ 0(4 Q0    ( $"%@5CZ5J690@(  )$&   8
M      " @7PU  !X;"]W;W)K<VAE971S+W-H965T."YX;6Q02P$"% ,4
M" ! A8%8@" 'QI4%  !##   &               @('T-P  >&PO=V]R:W-H
M965T<R]S:&5E=#DN>&UL4$L! A0#%     @ 0(6!6*7@9!23'   :5,  !D
M             ("!OST  'AL+W=O<FMS:&5E=',O<VAE970Q,"YX;6Q02P$"
M% ,4    " ! A8%8F8O*[U\%  !_#   &0              @(&)6@  >&PO
M=V]R:W-H965T<R]S:&5E=#$Q+GAM;%!+ 0(4 Q0    ( $"%@5@'_EJ]=@(
M '<%   9              " @1]@  !X;"]W;W)K<VAE971S+W-H965T,3(N
M>&UL4$L! A0#%     @ 0(6!6&R$,3EY @  2@4  !D              ("!
MS&(  'AL+W=O<FMS:&5E=',O<VAE970Q,RYX;6Q02P$"% ,4    " ! A8%8
M17/] 2@$   L"0  &0              @(%\90  >&PO=V]R:W-H965T<R]S
M:&5E=#$T+GAM;%!+ 0(4 Q0    ( $"%@5A+3CV\=@(  '@%   9
M      " @=MI  !X;"]W;W)K<VAE971S+W-H965T,34N>&UL4$L! A0#%
M  @ 0(6!6+V;)Y"0 P  P @  !D              ("!B&P  'AL+W=O<FMS
M:&5E=',O<VAE970Q-BYX;6Q02P$"% ,4    " ! A8%8,5N_W) "  "N!0
M&0              @(%/<   >&PO=V]R:W-H965T<R]S:&5E=#$W+GAM;%!+
M 0(4 Q0    ( $"%@5A%$W0KCP4  &P,   9              " @19S  !X
M;"]W;W)K<VAE971S+W-H965T,3@N>&UL4$L! A0#%     @ 0(6!6*VCI<O$
M!0  G \  !D              ("!W'@  'AL+W=O<FMS:&5E=',O<VAE970Q
M.2YX;6Q02P$"% ,4    " ! A8%8 !-?PD<%   T#   &0
M@('7?@  >&PO=V]R:W-H965T<R]S:&5E=#(P+GAM;%!+ 0(4 Q0    ( $"%
M@5B\V-AZ$P<  !@0   9              " @56$  !X;"]W;W)K<VAE971S
M+W-H965T,C$N>&UL4$L! A0#%     @ 0(6!6(R/<%/@ P  1P@  !D
M         ("!GXL  'AL+W=O<FMS:&5E=',O<VAE970R,BYX;6Q02P$"% ,4
M    " ! A8%8$'%,8(D%   $#   &0              @(&VCP  >&PO=V]R
M:W-H965T<R]S:&5E=#(S+GAM;%!+ 0(4 Q0    ( $"%@5A'N_W/9 (  (H%
M   9              " @7:5  !X;"]W;W)K<VAE971S+W-H965T,C0N>&UL
M4$L! A0#%     @ 0(6!6)H86N'*!   N@H  !D              ("!$9@
M 'AL+W=O<FMS:&5E=',O<VAE970R-2YX;6Q02P$"% ,4    " ! A8%8^.',
M?V<&  " #0  &0              @($2G0  >&PO=V]R:W-H965T<R]S:&5E
M=#(V+GAM;%!+ 0(4 Q0    ( $"%@5B>4YAW>0(  (,%   9
M  " @;"C  !X;"]W;W)K<VAE971S+W-H965T,C<N>&UL4$L! A0#%     @
M0(6!6.*8H(7+'0  :5X  !D              ("!8*8  'AL+W=O<FMS:&5E
M=',O<VAE970R."YX;6Q02P$"% ,4    " ! A8%8ZMR?7BX#   G!P  &0
M            @(%BQ   >&PO=V]R:W-H965T<R]S:&5E=#(Y+GAM;%!+ 0(4
M Q0    ( $"%@5B%D$F$A ,  *D(   9              " @<?'  !X;"]W
M;W)K<VAE971S+W-H965T,S N>&UL4$L! A0#%     @ 0(6!6$..H_-Z @
M=@4  !D              ("!@LL  'AL+W=O<FMS:&5E=',O<VAE970S,2YX
M;6Q02P$"% ,4    " ! A8%8:#+D&( "  !/!0  &0              @($S
MS@  >&PO=V]R:W-H965T<R]S:&5E=#,R+GAM;%!+ 0(4 Q0    ( $"%@5A?
M5GR0[P,  *H(   9              " @>K0  !X;"]W;W)K<VAE971S+W-H
M965T,S,N>&UL4$L! A0#%     @ 0(6!6%"=8*!> @  3@4  !D
M     ("!$-4  'AL+W=O<FMS:&5E=',O<VAE970S-"YX;6Q02P$"% ,4
M" ! A8%8V3LY%70#  #'"   &0              @(&EUP  >&PO=V]R:W-H
M965T<R]S:&5E=#,U+GAM;%!+ 0(4 Q0    ( $"%@5CZ6!T"E (  *T%   9
M              " @5#;  !X;"]W;W)K<VAE971S+W-H965T,S8N>&UL4$L!
M A0#%     @ 0(6!6"^I[G/7!   -0T  !D              ("!&]X  'AL
M+W=O<FMS:&5E=',O<VAE970S-RYX;6Q02P$"% ,4    " ! A8%8$T3A=Q@$
M   N"@  &0              @($IXP  >&PO=V]R:W-H965T<R]S:&5E=#,X
M+GAM;%!+ 0(4 Q0    ( $"%@5@*=<:+808  ,H/   9              "
M@7CG  !X;"]W;W)K<VAE971S+W-H965T,SDN>&UL4$L! A0#%     @ 0(6!
M6+P78IM: P  R <  !D              ("!$.X  'AL+W=O<FMS:&5E=',O
M<VAE970T,"YX;6Q02P$"% ,4    " ! A8%800C>+M<#   9"0  &0
M        @(&A\0  >&PO=V]R:W-H965T<R]S:&5E=#0Q+GAM;%!+ 0(4 Q0
M   ( $"%@5BD+DTY]0(  &X'   9              " @:_U  !X;"]W;W)K
M<VAE971S+W-H965T-#(N>&UL4$L! A0#%     @ 0(6!6-F)(R,H!0  MPL
M !D              ("!V_@  'AL+W=O<FMS:&5E=',O<VAE970T,RYX;6Q0
M2P$"% ,4    " ! A8%8N2,FVIT#   "$   &0              @($Z_@
M>&PO=V]R:W-H965T<R]S:&5E=#0T+GAM;%!+ 0(4 Q0    ( $"%@5C&XSIL
M=@0  !X=   9              " @0X" 0!X;"]W;W)K<VAE971S+W-H965T
M-#4N>&UL4$L! A0#%     @ 0(6!6#^MF0W<!@  UB4  !D
M ("!NP8! 'AL+W=O<FMS:&5E=',O<VAE970T-BYX;6Q02P$"% ,4    " !
MA8%8X-HQT7P#  "*"P  &0              @('.#0$ >&PO=V]R:W-H965T
M<R]S:&5E=#0W+GAM;%!+ 0(4 Q0    ( $"%@5A:QB<+R (  ! *   9
M          " @8$1 0!X;"]W;W)K<VAE971S+W-H965T-#@N>&UL4$L! A0#
M%     @ 0(6!6#LU@W7H 0  ]0,  !D              ("!@!0! 'AL+W=O
M<FMS:&5E=',O<VAE970T.2YX;6Q02P$"% ,4    " ! A8%804V%=8$"  !9
M!@  &0              @(&?%@$ >&PO=V]R:W-H965T<R]S:&5E=#4P+GAM
M;%!+ 0(4 Q0    ( $"%@5AQN7OO@0(  $8&   9              " @5<9
M 0!X;"]W;W)K<VAE971S+W-H965T-3$N>&UL4$L! A0#%     @ 0(6!6+&D
MZ/6T!@  ["\  !D              ("!#QP! 'AL+W=O<FMS:&5E=',O<VAE
M970U,BYX;6Q02P$"% ,4    " ! A8%8I?/L8)<"  !T!@  &0
M    @('Z(@$ >&PO=V]R:W-H965T<R]S:&5E=#4S+GAM;%!+ 0(4 Q0    (
M $"%@5CT]J=C;@(  )0&   9              " @<@E 0!X;"]W;W)K<VAE
M971S+W-H965T-30N>&UL4$L! A0#%     @ 0(6!6#7>-I]5 P  Q L  !D
M             ("!;2@! 'AL+W=O<FMS:&5E=',O<VAE970U-2YX;6Q02P$"
M% ,4    " ! A8%8>55UU:,"  !B"   &0              @('Y*P$ >&PO
M=V]R:W-H965T<R]S:&5E=#4V+GAM;%!+ 0(4 Q0    ( $"%@5A6Y1X">@(
M !4&   9              " @=,N 0!X;"]W;W)K<VAE971S+W-H965T-3<N
M>&UL4$L! A0#%     @ 0(6!6$U#LL]P @  O 4  !D              ("!
MA#$! 'AL+W=O<FMS:&5E=',O<VAE970U."YX;6Q02P$"% ,4    " ! A8%8
M2B%TJAH"  #O!   &0              @($K- $ >&PO=V]R:W-H965T<R]S
M:&5E=#4Y+GAM;%!+ 0(4 Q0    ( $"%@5BOKZK>X ,  %0-   9
M      " @7PV 0!X;"]W;W)K<VAE971S+W-H965T-C N>&UL4$L! A0#%
M  @ 0(6!6/$3=7S1 P  CPX  !D              ("!DSH! 'AL+W=O<FMS
M:&5E=',O<VAE970V,2YX;6Q02P$"% ,4    " ! A8%8YOA?W.("   @!P
M&0              @(&;/@$ >&PO=V]R:W-H965T<R]S:&5E=#8R+GAM;%!+
M 0(4 Q0    ( $"%@5C%WW2F1@L  "BH   9              " @;1! 0!X
M;"]W;W)K<VAE971S+W-H965T-C,N>&UL4$L! A0#%     @ 0(6!6,,^62_+
M!0  Q"8  !D              ("!,4T! 'AL+W=O<FMS:&5E=',O<VAE970V
M-"YX;6Q02P$"% ,4    " ! A8%83>;1<A<#  "("   &0
M@($S4P$ >&PO=V]R:W-H965T<R]S:&5E=#8U+GAM;%!+ 0(4 Q0    ( $"%
M@5B1)!\G'@4  &DE   9              " @8%6 0!X;"]W;W)K<VAE971S
M+W-H965T-C8N>&UL4$L! A0#%     @ 0(6!6#B]^"'E"P  )9<  !D
M         ("!UEL! 'AL+W=O<FMS:&5E=',O<VAE970V-RYX;6Q02P$"% ,4
M    " ! A8%8)X]S][(#  "0#   &0              @('R9P$ >&PO=V]R
M:W-H965T<R]S:&5E=#8X+GAM;%!+ 0(4 Q0    ( $"%@5BA5_)BW ,  ,D+
M   9              " @=MK 0!X;"]W;W)K<VAE971S+W-H965T-CDN>&UL
M4$L! A0#%     @ 0(6!6*?=%(Q7!   5Q,  !D              ("![F\!
M 'AL+W=O<FMS:&5E=',O<VAE970W,"YX;6Q02P$"% ,4    " ! A8%88#CX
M^C,#  #F#@  &0              @(%\= $ >&PO=V]R:W-H965T<R]S:&5E
M=#<Q+GAM;%!+ 0(4 Q0    ( $"%@5B7A[KKWP(  #,)   9
M  " @>9W 0!X;"]W;W)K<VAE971S+W-H965T-S(N>&UL4$L! A0#%     @
M0(6!6.T>5"OT @  . @  !D              ("!_'H! 'AL+W=O<FMS:&5E
M=',O<VAE970W,RYX;6Q02P$"% ,4    " ! A8%8\S/ZP&0"  "G!0  &0
M            @($G?@$ >&PO=V]R:W-H965T<R]S:&5E=#<T+GAM;%!+ 0(4
M Q0    ( $"%@5B=?9'27 (  - %   9              " @<*  0!X;"]W
M;W)K<VAE971S+W-H965T-S4N>&UL4$L! A0#%     @ 0(6!6*B*<SX_!0
M<1T  !D              ("!58,! 'AL+W=O<FMS:&5E=',O<VAE970W-BYX
M;6Q02P$"% ,4    " ! A8%8T1P6"4$#   /"P  &0              @('+
MB $ >&PO=V]R:W-H965T<R]S:&5E=#<W+GAM;%!+ 0(4 Q0    ( $"%@5B8
MY*N[3 4  / :   9              " @4., 0!X;"]W;W)K<VAE971S+W-H
M965T-S@N>&UL4$L! A0#%     @ 0(6!6%!!G^]P P  %0X  !D
M     ("!QI$! 'AL+W=O<FMS:&5E=',O<VAE970W.2YX;6Q02P$"% ,4
M" ! A8%8@O1H3LH#  #?#0  &0              @(%ME0$ >&PO=V]R:W-H
M965T<R]S:&5E=#@P+GAM;%!+ 0(4 Q0    ( $"%@5C5P(C!90,  (,*   9
M              " @6Z9 0!X;"]W;W)K<VAE971S+W-H965T.#$N>&UL4$L!
M A0#%     @ 0(6!6*T,>6LB!    !$  !D              ("!"IT! 'AL
M+W=O<FMS:&5E=',O<VAE970X,BYX;6Q02P$"% ,4    " ! A8%8EF'#>YH%
M  "I'   &0              @(%CH0$ >&PO=V]R:W-H965T<R]S:&5E=#@S
M+GAM;%!+ 0(4 Q0    ( $"%@5CFR198+0,  "\+   9              "
M@32G 0!X;"]W;W)K<VAE971S+W-H965T.#0N>&UL4$L! A0#%     @ 0(6!
M6.=P+ZWC @  ? H  !D              ("!F*H! 'AL+W=O<FMS:&5E=',O
M<VAE970X-2YX;6Q02P$"% ,4    " ! A8%8C )4E4(#  "H"0  &0
M        @(&RK0$ >&PO=V]R:W-H965T<R]S:&5E=#@V+GAM;%!+ 0(4 Q0
M   ( $"%@5A!^-HPO@,  /@6   9              " @2NQ 0!X;"]W;W)K
M<VAE971S+W-H965T.#<N>&UL4$L! A0#%     @ 0(6!6/?IG%4O P  [A(
M  T              ( !(+4! 'AL+W-T>6QE<RYX;6Q02P$"% ,4    " !
MA8%8EXJ[',     3 @  "P              @ %ZN $ 7W)E;',O+G)E;'-0
M2P$"% ,4    " ! A8%8*V9=Y]$&  #-.   #P              @ %CN0$
M>&PO=V]R:V)O;VLN>&UL4$L! A0#%     @ 0(6!6$#*==&. @  3#,  !H
M             ( !8< ! 'AL+U]R96QS+W=O<FMB;V]K+GAM;"YR96QS4$L!
M A0#%     @ 0(6!6"';^;$Q @  S3$  !,              ( !)\,! %M#
G;VYT96YT7U1Y<&5S72YX;6Q02P4&     %\ 7P 0&@  B<4!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>103
<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>104
<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>106
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>266</ContextCount>
  <ElementCount>378</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>95</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>7</UnitCount>
  <MyReports>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>00000001 - Document - Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Cover</Role>
      <ShortName>Cover</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>00000002 - Statement - Consolidated Balance Sheets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/BalanceSheets</Role>
      <ShortName>Consolidated Balance Sheets</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>00000003 - Statement - Consolidated Balance Sheets (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/BalanceSheetsParenthetical</Role>
      <ShortName>Consolidated Balance Sheets (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>00000004 - Statement - Consolidated Statements of Income and Comprehensive Income</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome</Role>
      <ShortName>Consolidated Statements of Income and Comprehensive Income</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>00000005 - Statement - Consolidated Statements of Cash Flows</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/StatementsOfCashFlows</Role>
      <ShortName>Consolidated Statements of Cash Flows</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>00000006 - Statement - Consolidated Statements of Stockholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/StatementsOfStockholdersEquity</Role>
      <ShortName>Consolidated Statements of Stockholders' Equity</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>995410 - Disclosure - Pay vs Performance Disclosure</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ecd/role/PvpDisclosure</Role>
      <ShortName>Pay vs Performance Disclosure</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>995445 - Disclosure - Insider Trading Arrangements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements</Role>
      <ShortName>Insider Trading Arrangements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>995512 - Disclosure - BASIS OF PRESENTATION</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/BasisOfPresentation</Role>
      <ShortName>BASIS OF PRESENTATION</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>995513 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SignificantAccountingPolicies</Role>
      <ShortName>SIGNIFICANT ACCOUNTING POLICIES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>995514 - Disclosure - LEASES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Leases</Role>
      <ShortName>LEASES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>995515 - Disclosure - ACCOUNTS RECEIVABLE</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/AccountsReceivable</Role>
      <ShortName>ACCOUNTS RECEIVABLE</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>995516 - Disclosure - INVENTORIES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Inventories</Role>
      <ShortName>INVENTORIES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>995517 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholds</Role>
      <ShortName>PROPERTY, EQUIPMENT AND LEASEHOLDS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>995518 - Disclosure - PATENTS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Patents</Role>
      <ShortName>PATENTS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>995519 - Disclosure - GOODWILL AND INTANGIBLE ASSETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/GoodwillAndIntangibleAssets</Role>
      <ShortName>GOODWILL AND INTANGIBLE ASSETS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>995520 - Disclosure - LONG TERM DEPOSITS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/LongTermDeposits</Role>
      <ShortName>LONG TERM DEPOSITS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>995521 - Disclosure - INVESTMENTS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Investments</Role>
      <ShortName>INVESTMENTS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>995522 - Disclosure - SHORT-TERM LINE OF CREDIT</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Short-termLineOfCredit</Role>
      <ShortName>SHORT-TERM LINE OF CREDIT</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>995523 - Disclosure - LONG TERM DEBT</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/LongTermDebt</Role>
      <ShortName>LONG TERM DEBT</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>995524 - Disclosure - INCOME TAXES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/IncomeTaxes</Role>
      <ShortName>INCOME TAXES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>995525 - Disclosure - INCOME PER SHARE</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/IncomePerShare</Role>
      <ShortName>INCOME PER SHARE</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>995526 - Disclosure - STOCK OPTIONS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/StockOptions</Role>
      <ShortName>STOCK OPTIONS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>995527 - Disclosure - CAPITAL STOCK</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/CapitalStock</Role>
      <ShortName>CAPITAL STOCK</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>995528 - Disclosure - NON-CONTROLLING INTERESTS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Non-controllingInterests</Role>
      <ShortName>NON-CONTROLLING INTERESTS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>995529 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependency</Role>
      <ShortName>SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>26</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>995530 - Disclosure - SUBSEQUENT EVENTS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SubsequentEvents</Role>
      <ShortName>SUBSEQUENT EVENTS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>27</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>995531 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies</Role>
      <ShortName>SIGNIFICANT ACCOUNTING POLICIES (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <Position>28</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>995532 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables</Role>
      <ShortName>SIGNIFICANT ACCOUNTING POLICIES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/SignificantAccountingPolicies</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>995533 - Disclosure - LEASES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/LeasesTables</Role>
      <ShortName>LEASES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/Leases</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>995534 - Disclosure - ACCOUNTS RECEIVABLE (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/AccountsReceivableTables</Role>
      <ShortName>ACCOUNTS RECEIVABLE (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/AccountsReceivable</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>995535 - Disclosure - INVENTORIES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/InventoriesTables</Role>
      <ShortName>INVENTORIES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/Inventories</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>995536 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsTables</Role>
      <ShortName>PROPERTY, EQUIPMENT AND LEASEHOLDS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholds</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>995537 - Disclosure - PATENTS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/PatentsTables</Role>
      <ShortName>PATENTS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/Patents</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>995538 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsTables</Role>
      <ShortName>GOODWILL AND INTANGIBLE ASSETS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/GoodwillAndIntangibleAssets</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>995539 - Disclosure - LONG TERM DEPOSITS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/LongTermDepositsTables</Role>
      <ShortName>LONG TERM DEPOSITS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/LongTermDeposits</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>995540 - Disclosure - INVESTMENTS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/InvestmentsTables</Role>
      <ShortName>INVESTMENTS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/Investments</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>995541 - Disclosure - LONG TERM DEBT (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/LongTermDebtTables</Role>
      <ShortName>LONG TERM DEBT (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/LongTermDeposits</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>995542 - Disclosure - INCOME TAXES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/IncomeTaxesTables</Role>
      <ShortName>INCOME TAXES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/IncomeTaxes</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>995543 - Disclosure - INCOME PER SHARE (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/IncomePerShareTables</Role>
      <ShortName>INCOME PER SHARE (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/IncomePerShare</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>995544 - Disclosure - STOCK OPTIONS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/StockOptionsTables</Role>
      <ShortName>STOCK OPTIONS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/StockOptions</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>995545 - Disclosure - NON-CONTROLLING INTERESTS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Non-controllingInterestsTables</Role>
      <ShortName>NON-CONTROLLING INTERESTS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/Non-controllingInterests</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>995546 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables</Role>
      <ShortName>SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependency</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>995547 - Disclosure - BASIS OF PRESENTATION (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative</Role>
      <ShortName>BASIS OF PRESENTATION (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/BasisOfPresentation</ParentRole>
      <Position>44</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>995548 - Disclosure - SCHEDULE OF METHOD OF DEPRECIATION (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails</Role>
      <ShortName>SCHEDULE OF METHOD OF DEPRECIATION (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>45</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>995549 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative</Role>
      <ShortName>SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables</ParentRole>
      <Position>46</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>995550 - Disclosure - SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails</Role>
      <ShortName>SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>995551 - Disclosure - SCHEDULE OF UNDISCOUNTED RENT PAYMENTS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfUndiscountedRentPaymentsDetails</Role>
      <ShortName>SCHEDULE OF UNDISCOUNTED RENT PAYMENTS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>995552 - Disclosure - LEASES (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/LeasesDetailsNarrative</Role>
      <ShortName>LEASES (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/LeasesTables</ParentRole>
      <Position>49</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>995553 - Disclosure - SCHEDULE OF ACCOUNTS RECEIVABLE (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails</Role>
      <ShortName>SCHEDULE OF ACCOUNTS RECEIVABLE (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>50</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>995554 - Disclosure - SCHEDULE OF INVENTORY (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfInventoryDetails</Role>
      <ShortName>SCHEDULE OF INVENTORY (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>51</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>995555 - Disclosure - SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails</Role>
      <ShortName>SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>995556 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsDetailsNarrative</Role>
      <ShortName>PROPERTY, EQUIPMENT AND LEASEHOLDS (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsTables</ParentRole>
      <Position>53</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>995557 - Disclosure - SCHEDULE OF PATENTS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfPatentsDetails</Role>
      <ShortName>SCHEDULE OF PATENTS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>995558 - Disclosure - SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails</Role>
      <ShortName>SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>55</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>995559 - Disclosure - PATENTS (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/PatentsDetailsNarrative</Role>
      <ShortName>PATENTS (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/PatentsTables</ParentRole>
      <Position>56</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>995560 - Disclosure - SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails</Role>
      <ShortName>SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>57</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>995561 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsDetailsNarrative</Role>
      <ShortName>GOODWILL AND INTANGIBLE ASSETS (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsTables</ParentRole>
      <Position>58</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>995562 - Disclosure - SCHEDULE OF LONG TERM DEPOSITS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails</Role>
      <ShortName>SCHEDULE OF LONG TERM DEPOSITS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>59</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>995563 - Disclosure - SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails</Role>
      <ShortName>SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>60</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>995564 - Disclosure - SCHEDULE OF EQUITY METHOD INVESTMENT (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails</Role>
      <ShortName>SCHEDULE OF EQUITY METHOD INVESTMENT (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>61</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>995565 - Disclosure - SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails</Role>
      <ShortName>SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>62</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>995566 - Disclosure - INVESTMENTS (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/InvestmentsDetailsNarrative</Role>
      <ShortName>INVESTMENTS (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/InvestmentsTables</ParentRole>
      <Position>63</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>995567 - Disclosure - SHORT-TERM LINE OF CREDIT (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative</Role>
      <ShortName>SHORT-TERM LINE OF CREDIT (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/Short-termLineOfCredit</ParentRole>
      <Position>64</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>995568 - Disclosure - SCHEDULE OF LOAN COVENANTS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails</Role>
      <ShortName>SCHEDULE OF LOAN COVENANTS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>65</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>995569 - Disclosure - SCHEDULE OF OUTSTANDING BALANCE LOAN (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails</Role>
      <ShortName>SCHEDULE OF OUTSTANDING BALANCE LOAN (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>66</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>995570 - Disclosure - LONG TERM DEBT (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative</Role>
      <ShortName>LONG TERM DEBT (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/LongTermDepositsTables</ParentRole>
      <Position>67</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>995571 - Disclosure - SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails</Role>
      <ShortName>SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>68</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>995572 - Disclosure - SCHEDULE OF RECONCILIATION OF INCOME TAXES (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails</Role>
      <ShortName>SCHEDULE OF RECONCILIATION OF INCOME TAXES (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>69</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>995573 - Disclosure - SCHEDULE OF DEFERRED TAX ASSETS (LIABILITIES) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails</Role>
      <ShortName>SCHEDULE OF DEFERRED TAX ASSETS (LIABILITIES) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>70</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R71.htm</HtmlFileName>
      <LongName>995574 - Disclosure - SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails</Role>
      <ShortName>SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>71</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R72.htm</HtmlFileName>
      <LongName>995575 - Disclosure - INCOME TAXES (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative</Role>
      <ShortName>INCOME TAXES (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/IncomeTaxesTables</ParentRole>
      <Position>72</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R73.htm</HtmlFileName>
      <LongName>995576 - Disclosure - SCHEDULE OF BASIC AND DILUTED LOSS PER SHARE (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfBasicAndDilutedLossPerShareDetails</Role>
      <ShortName>SCHEDULE OF BASIC AND DILUTED LOSS PER SHARE (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>73</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R74.htm</HtmlFileName>
      <LongName>995577 - Disclosure - SCHEDULE OF ANTI-DILUTIVE OPTIONS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfAnti-dilutiveOptionsDetails</Role>
      <ShortName>SCHEDULE OF ANTI-DILUTIVE OPTIONS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>74</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R75.htm</HtmlFileName>
      <LongName>995578 - Disclosure - INCOME PER SHARE (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/IncomePerShareDetailsNarrative</Role>
      <ShortName>INCOME PER SHARE (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/IncomePerShareTables</ParentRole>
      <Position>75</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R76.htm</HtmlFileName>
      <LongName>995579 - Disclosure - SCHEDULE OF STOCK OPTION ACTIVITIES (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails</Role>
      <ShortName>SCHEDULE OF STOCK OPTION ACTIVITIES (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>76</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R77.htm</HtmlFileName>
      <LongName>995580 - Disclosure - SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails</Role>
      <ShortName>SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>77</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R78.htm</HtmlFileName>
      <LongName>995581 - Disclosure - STOCK OPTIONS (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/StockOptionsDetailsNarrative</Role>
      <ShortName>STOCK OPTIONS (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/StockOptionsTables</ParentRole>
      <Position>78</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R79.htm</HtmlFileName>
      <LongName>995582 - Disclosure - CAPITAL STOCK (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/CapitalStockDetailsNarrative</Role>
      <ShortName>CAPITAL STOCK (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/CapitalStock</ParentRole>
      <Position>79</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R80.htm</HtmlFileName>
      <LongName>995583 - Disclosure - SCHEDULE OF DISTRIBUTIONS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails</Role>
      <ShortName>SCHEDULE OF DISTRIBUTIONS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>80</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R81.htm</HtmlFileName>
      <LongName>995584 - Disclosure - SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails</Role>
      <ShortName>SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>81</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R82.htm</HtmlFileName>
      <LongName>995585 - Disclosure - NON-CONTROLLING INTERESTS (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative</Role>
      <ShortName>NON-CONTROLLING INTERESTS (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/Non-controllingInterestsTables</ParentRole>
      <Position>82</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R83.htm</HtmlFileName>
      <LongName>995586 - Disclosure - SCHEDULE OF REPORTABLE SEGMENTS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails</Role>
      <ShortName>SCHEDULE OF REPORTABLE SEGMENTS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>83</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R84.htm</HtmlFileName>
      <LongName>995587 - Disclosure - SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails</Role>
      <ShortName>SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>84</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R85.htm</HtmlFileName>
      <LongName>995588 - Disclosure - SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails</Role>
      <ShortName>SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>85</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R86.htm</HtmlFileName>
      <LongName>995589 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative</Role>
      <ShortName>SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables</ParentRole>
      <Position>86</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R87.htm</HtmlFileName>
      <LongName>995590 - Disclosure - SUBSEQUENT EVENTS (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative</Role>
      <ShortName>SUBSEQUENT EVENTS (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/SubsequentEvents</ParentRole>
      <Position>87</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: 1 fact(s) appearing in ix:hidden were eligible for transformation: dei:EntityIncorporationStateCountryCode -  form10-k.htm 28</Log>
  </Logs>
  <InputFiles>
    <File doctype="10-K" isDefinitelyFs="true" isUsgaap="true" original="form10-k.htm">form10-k.htm</File>
    <File>fsi-20231231.xsd</File>
    <File>fsi-20231231_cal.xml</File>
    <File>fsi-20231231_def.xml</File>
    <File>fsi-20231231_lab.xml</File>
    <File>fsi-20231231_pre.xml</File>
  </InputFiles>
  <SupplementalFiles>
    <File>form10-k_001.jpg</File>
    <File>form10-k_002.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="921">http://fasb.org/us-gaap/2023</BaseTaxonomy>
    <BaseTaxonomy items="39">http://xbrl.sec.gov/dei/2023</BaseTaxonomy>
    <BaseTaxonomy items="4">http://xbrl.sec.gov/ecd/2023</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>109
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "form10-k.htm": {
   "nsprefix": "FSI",
   "nsuri": "http://flexiblesolutions.com/20231231",
   "dts": {
    "inline": {
     "local": [
      "form10-k.htm"
     ]
    },
    "schema": {
     "local": [
      "fsi-20231231.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd",
      "https://xbrl.sec.gov/country/2023/country-2023.xsd",
      "https://xbrl.sec.gov/dei/2023/dei-2023.xsd",
      "https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd"
     ]
    },
    "calculationLink": {
     "local": [
      "fsi-20231231_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "fsi-20231231_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "fsi-20231231_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "fsi-20231231_pre.xml"
     ]
    }
   },
   "keyStandard": 327,
   "keyCustom": 51,
   "axisStandard": 27,
   "axisCustom": 0,
   "memberStandard": 31,
   "memberCustom": 59,
   "hidden": {
    "total": 115,
    "http://fasb.org/us-gaap/2023": 103,
    "http://flexiblesolutions.com/20231231": 8,
    "http://xbrl.sec.gov/dei/2023": 4
   },
   "contextCount": 266,
   "entityCount": 1,
   "segmentCount": 95,
   "elementCount": 694,
   "unitCount": 7,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2023": 921,
    "http://xbrl.sec.gov/dei/2023": 39,
    "http://xbrl.sec.gov/ecd/2023": 4
   },
   "report": {
    "R1": {
     "role": "http://flexiblesolutions.com/role/Cover",
     "longName": "00000001 - Document - Cover",
     "shortName": "Cover",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "b",
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "b",
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://flexiblesolutions.com/role/BalanceSheets",
     "longName": "00000002 - Statement - Consolidated Balance Sheets",
     "shortName": "Consolidated Balance Sheets",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "2",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:Cash",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:DepositsAssetsCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R3": {
     "role": "http://flexiblesolutions.com/role/BalanceSheetsParenthetical",
     "longName": "00000003 - Statement - Consolidated Balance Sheets (Parenthetical)",
     "shortName": "Consolidated Balance Sheets (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:CommonStockSharesAuthorized",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:CommonStockSharesAuthorized",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R4": {
     "role": "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome",
     "longName": "00000004 - Statement - Consolidated Statements of Income and Comprehensive Income",
     "shortName": "Consolidated Statements of Income and Comprehensive Income",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:GrossProfit",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R5": {
     "role": "http://flexiblesolutions.com/role/StatementsOfCashFlows",
     "longName": "00000005 - Statement - Consolidated Statements of Cash Flows",
     "shortName": "Consolidated Statements of Cash Flows",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ProfitLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ShareBasedCompensation",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R6": {
     "role": "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity",
     "longName": "00000006 - Statement - Consolidated Statements of Stockholders' Equity",
     "shortName": "Consolidated Statements of Stockholders' Equity",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "AsOf2021-12-31_us-gaap_CommonStockMember",
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2021-12-31_us-gaap_CommonStockMember",
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R7": {
     "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure",
     "longName": "995410 - Disclosure - Pay vs Performance Disclosure",
     "shortName": "Pay vs Performance Disclosure",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "7",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R8": {
     "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
     "longName": "995445 - Disclosure - Insider Trading Arrangements",
     "shortName": "Insider Trading Arrangements",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "8",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R9": {
     "role": "http://flexiblesolutions.com/role/BasisOfPresentation",
     "longName": "995512 - Disclosure - BASIS OF PRESENTATION",
     "shortName": "BASIS OF PRESENTATION",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "9",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://flexiblesolutions.com/role/SignificantAccountingPolicies",
     "longName": "995513 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES",
     "shortName": "SIGNIFICANT ACCOUNTING POLICIES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://flexiblesolutions.com/role/Leases",
     "longName": "995514 - Disclosure - LEASES",
     "shortName": "LEASES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://flexiblesolutions.com/role/AccountsReceivable",
     "longName": "995515 - Disclosure - ACCOUNTS RECEIVABLE",
     "shortName": "ACCOUNTS RECEIVABLE",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:FinancingReceivablesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:FinancingReceivablesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://flexiblesolutions.com/role/Inventories",
     "longName": "995516 - Disclosure - INVENTORIES",
     "shortName": "INVENTORIES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholds",
     "longName": "995517 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS",
     "shortName": "PROPERTY, EQUIPMENT AND LEASEHOLDS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://flexiblesolutions.com/role/Patents",
     "longName": "995518 - Disclosure - PATENTS",
     "shortName": "PATENTS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://flexiblesolutions.com/role/GoodwillAndIntangibleAssets",
     "longName": "995519 - Disclosure - GOODWILL AND INTANGIBLE ASSETS",
     "shortName": "GOODWILL AND INTANGIBLE ASSETS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://flexiblesolutions.com/role/LongTermDeposits",
     "longName": "995520 - Disclosure - LONG TERM DEPOSITS",
     "shortName": "LONG TERM DEPOSITS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "FSI:LongTermDepositsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "FSI:LongTermDepositsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://flexiblesolutions.com/role/Investments",
     "longName": "995521 - Disclosure - INVESTMENTS",
     "shortName": "INVESTMENTS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "18",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://flexiblesolutions.com/role/Short-termLineOfCredit",
     "longName": "995522 - Disclosure - SHORT-TERM LINE OF CREDIT",
     "shortName": "SHORT-TERM LINE OF CREDIT",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "19",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ShortTermDebtTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ShortTermDebtTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://flexiblesolutions.com/role/LongTermDebt",
     "longName": "995523 - Disclosure - LONG TERM DEBT",
     "shortName": "LONG TERM DEBT",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "20",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:LongTermDebtTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:LongTermDebtTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://flexiblesolutions.com/role/IncomeTaxes",
     "longName": "995524 - Disclosure - INCOME TAXES",
     "shortName": "INCOME TAXES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "21",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://flexiblesolutions.com/role/IncomePerShare",
     "longName": "995525 - Disclosure - INCOME PER SHARE",
     "shortName": "INCOME PER SHARE",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "22",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://flexiblesolutions.com/role/StockOptions",
     "longName": "995526 - Disclosure - STOCK OPTIONS",
     "shortName": "STOCK OPTIONS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "23",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://flexiblesolutions.com/role/CapitalStock",
     "longName": "995527 - Disclosure - CAPITAL STOCK",
     "shortName": "CAPITAL STOCK",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "24",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://flexiblesolutions.com/role/Non-controllingInterests",
     "longName": "995528 - Disclosure - NON-CONTROLLING INTERESTS",
     "shortName": "NON-CONTROLLING INTERESTS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "25",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:MinorityInterestDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:MinorityInterestDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "role": "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependency",
     "longName": "995529 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY",
     "shortName": "SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "26",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://flexiblesolutions.com/role/SubsequentEvents",
     "longName": "995530 - Disclosure - SUBSEQUENT EVENTS",
     "shortName": "SUBSEQUENT EVENTS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "27",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies",
     "longName": "995531 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies)",
     "shortName": "SIGNIFICANT ACCOUNTING POLICIES (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "28",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:CashAndCashEquivalentsPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:CashAndCashEquivalentsPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables",
     "longName": "995532 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables)",
     "shortName": "SIGNIFICANT ACCOUNTING POLICIES (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "29",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "FSI:ScheduleOfMethodOfDepreciationTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "FSI:ScheduleOfMethodOfDepreciationTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://flexiblesolutions.com/role/LeasesTables",
     "longName": "995533 - Disclosure - LEASES (Tables)",
     "shortName": "LEASES (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "30",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "FSI:SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "FSI:SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://flexiblesolutions.com/role/AccountsReceivableTables",
     "longName": "995534 - Disclosure - ACCOUNTS RECEIVABLE (Tables)",
     "shortName": "ACCOUNTS RECEIVABLE (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "31",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:FinancingReceivablesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:FinancingReceivablesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R32": {
     "role": "http://flexiblesolutions.com/role/InventoriesTables",
     "longName": "995535 - Disclosure - INVENTORIES (Tables)",
     "shortName": "INVENTORIES (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "32",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R33": {
     "role": "http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsTables",
     "longName": "995536 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Tables)",
     "shortName": "PROPERTY, EQUIPMENT AND LEASEHOLDS (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "33",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R34": {
     "role": "http://flexiblesolutions.com/role/PatentsTables",
     "longName": "995537 - Disclosure - PATENTS (Tables)",
     "shortName": "PATENTS (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "34",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R35": {
     "role": "http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsTables",
     "longName": "995538 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Tables)",
     "shortName": "GOODWILL AND INTANGIBLE ASSETS (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "35",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R36": {
     "role": "http://flexiblesolutions.com/role/LongTermDepositsTables",
     "longName": "995539 - Disclosure - LONG TERM DEPOSITS (Tables)",
     "shortName": "LONG TERM DEPOSITS (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "36",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "FSI:ScheduleOfLongTermDepositsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "FSI:LongTermDepositsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "FSI:ScheduleOfLongTermDepositsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "FSI:LongTermDepositsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R37": {
     "role": "http://flexiblesolutions.com/role/InvestmentsTables",
     "longName": "995540 - Disclosure - INVESTMENTS (Tables)",
     "shortName": "INVESTMENTS (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "37",
     "firstAnchor": {
      "contextRef": "From2023-01-012023-12-31_custom_EnpPeruInvestmentsLlcMember",
      "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-012023-12-31_custom_EnpPeruInvestmentsLlcMember",
      "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R38": {
     "role": "http://flexiblesolutions.com/role/LongTermDebtTables",
     "longName": "995541 - Disclosure - LONG TERM DEBT (Tables)",
     "shortName": "LONG TERM DEBT (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "38",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "FSI:ScheduleOfLoanCovenantsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "FSI:ScheduleOfLoanCovenantsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R39": {
     "role": "http://flexiblesolutions.com/role/IncomeTaxesTables",
     "longName": "995542 - Disclosure - INCOME TAXES (Tables)",
     "shortName": "INCOME TAXES (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "39",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R40": {
     "role": "http://flexiblesolutions.com/role/IncomePerShareTables",
     "longName": "995543 - Disclosure - INCOME PER SHARE (Tables)",
     "shortName": "INCOME PER SHARE (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "40",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R41": {
     "role": "http://flexiblesolutions.com/role/StockOptionsTables",
     "longName": "995544 - Disclosure - STOCK OPTIONS (Tables)",
     "shortName": "STOCK OPTIONS (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "41",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R42": {
     "role": "http://flexiblesolutions.com/role/Non-controllingInterestsTables",
     "longName": "995545 - Disclosure - NON-CONTROLLING INTERESTS (Tables)",
     "shortName": "NON-CONTROLLING INTERESTS (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "42",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "FSI:ScheduleOfDistributionsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:MinorityInterestDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "FSI:ScheduleOfDistributionsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:MinorityInterestDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R43": {
     "role": "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables",
     "longName": "995546 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Tables)",
     "shortName": "SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "43",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R44": {
     "role": "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
     "longName": "995547 - Disclosure - BASIS OF PRESENTATION (Details Narrative)",
     "shortName": "BASIS OF PRESENTATION (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "44",
     "firstAnchor": {
      "contextRef": "From2023-01-012023-12-31_custom_MendotaLLCMember",
      "name": "us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31_custom_MendotaLLCMember_custom_UnrelatedPartyMember",
      "name": "us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R45": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
     "longName": "995548 - Disclosure - SCHEDULE OF METHOD OF DEPRECIATION (Details)",
     "shortName": "SCHEDULE OF METHOD OF DEPRECIATION (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "45",
     "firstAnchor": {
      "contextRef": "From2023-01-012023-12-31_us-gaap_ComputerEquipmentMember",
      "name": "FSI:DepreciationMethodUsedAndAnnualRate",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "FSI:ScheduleOfMethodOfDepreciationTableTextBlock",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-012023-12-31_us-gaap_ComputerEquipmentMember",
      "name": "FSI:DepreciationMethodUsedAndAnnualRate",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "FSI:ScheduleOfMethodOfDepreciationTableTextBlock",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R46": {
     "role": "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative",
     "longName": "995549 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)",
     "shortName": "SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "46",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-012023-12-31_custom_InvestmentMember",
      "name": "us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:EquityMethodInvestmentsPolicy",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R47": {
     "role": "http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails",
     "longName": "995550 - Disclosure - SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (Details)",
     "shortName": "SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "47",
     "firstAnchor": {
      "contextRef": "AsOf2022-12-31",
      "name": "us-gaap:OperatingLeaseRightOfUseAsset",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2021-12-31",
      "name": "us-gaap:OperatingLeaseRightOfUseAsset",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "FSI:SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R48": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfUndiscountedRentPaymentsDetails",
     "longName": "995551 - Disclosure - SCHEDULE OF UNDISCOUNTED RENT PAYMENTS (Details)",
     "shortName": "SCHEDULE OF UNDISCOUNTED RENT PAYMENTS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "48",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R49": {
     "role": "http://flexiblesolutions.com/role/LeasesDetailsNarrative",
     "longName": "995552 - Disclosure - LEASES (Details Narrative)",
     "shortName": "LEASES (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "49",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:LesseeOperatingLeaseDiscountRate",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:LesseeOperatingLeaseDiscountRate",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R50": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails",
     "longName": "995553 - Disclosure - SCHEDULE OF ACCOUNTS RECEIVABLE (Details)",
     "shortName": "SCHEDULE OF ACCOUNTS RECEIVABLE (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "50",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:AccountsReceivableGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
       "us-gaap:FinancingReceivablesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:AccountsReceivableGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
       "us-gaap:FinancingReceivablesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R51": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfInventoryDetails",
     "longName": "995554 - Disclosure - SCHEDULE OF INVENTORY (Details)",
     "shortName": "SCHEDULE OF INVENTORY (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "51",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:InventoryFinishedGoods",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:InventoryFinishedGoods",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R52": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails",
     "longName": "995555 - Disclosure - SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (Details)",
     "shortName": "SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "52",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R53": {
     "role": "http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsDetailsNarrative",
     "longName": "995556 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Details Narrative)",
     "shortName": "PROPERTY, EQUIPMENT AND LEASEHOLDS (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "53",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:Depreciation",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:Depreciation",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R54": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfPatentsDetails",
     "longName": "995557 - Disclosure - SCHEDULE OF PATENTS (Details)",
     "shortName": "SCHEDULE OF PATENTS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "54",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:FiniteLivedPatentsGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:FiniteLivedPatentsGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R55": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails",
     "longName": "995558 - Disclosure - SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS (Details)",
     "shortName": "SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "55",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:Goodwill",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2021-12-31_custom_EnPInvestmentsCorporationLLCMember",
      "name": "us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R56": {
     "role": "http://flexiblesolutions.com/role/PatentsDetailsNarrative",
     "longName": "995559 - Disclosure - PATENTS (Details Narrative)",
     "shortName": "PATENTS (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "56",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2022-01-012022-12-31_us-gaap_PatentsMember",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R57": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails",
     "longName": "995560 - Disclosure - SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (Details)",
     "shortName": "SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "57",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31_us-gaap_FiniteLivedIntangibleAssetsMember",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31_us-gaap_FiniteLivedIntangibleAssetsMember",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R58": {
     "role": "http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsDetailsNarrative",
     "longName": "995561 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Details Narrative)",
     "shortName": "GOODWILL AND INTANGIBLE ASSETS (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "58",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R59": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails",
     "longName": "995562 - Disclosure - SCHEDULE OF LONG TERM DEPOSITS (Details)",
     "shortName": "SCHEDULE OF LONG TERM DEPOSITS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "59",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:DepositsAssetsNoncurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R60": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails",
     "longName": "995563 - Disclosure - SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED (Details)",
     "shortName": "SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "60",
     "firstAnchor": {
      "contextRef": "From2022-01-012022-12-31",
      "name": "us-gaap:BusinessCombinationConsiderationTransferred1",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2022-12-31",
      "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R61": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails",
     "longName": "995564 - Disclosure - SCHEDULE OF EQUITY METHOD INVESTMENT (Details)",
     "shortName": "SCHEDULE OF EQUITY METHOD INVESTMENT (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "61",
     "firstAnchor": {
      "contextRef": "AsOf2022-12-31",
      "name": "us-gaap:EquityMethodInvestments",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2021-12-31_custom_EnpPeruInvestmentsLlcMember",
      "name": "us-gaap:EquityMethodInvestments",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:EquityMethodInvestmentsTextBlock",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R62": {
     "role": "http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails",
     "longName": "995565 - Disclosure - SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (Details)",
     "shortName": "SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "62",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:GainsLossesOnSalesOfInvestmentRealEstate",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:GainLossOnInvestmentsTextBlock",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:GainsLossesOnSalesOfInvestmentRealEstate",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:GainLossOnInvestmentsTextBlock",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R63": {
     "role": "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
     "longName": "995566 - Disclosure - INVESTMENTS (Details Narrative)",
     "shortName": "INVESTMENTS (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "63",
     "firstAnchor": {
      "contextRef": "From2022-01-012022-12-31",
      "name": "us-gaap:BusinessCombinationConsiderationTransferred1",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2022-12-31",
      "name": "us-gaap:Investments",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R64": {
     "role": "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative",
     "longName": "995567 - Disclosure - SHORT-TERM LINE OF CREDIT (Details Narrative)",
     "shortName": "SHORT-TERM LINE OF CREDIT (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "64",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:LinesOfCreditCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31_us-gaap_NoncontrollingInterestMember_custom_StockYardAndBankMember",
      "name": "FSI:LoanGuaranteedRate",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:ShortTermDebtTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R65": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails",
     "longName": "995568 - Disclosure - SCHEDULE OF LOAN COVENANTS (Details)",
     "shortName": "SCHEDULE OF LOAN COVENANTS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "65",
     "firstAnchor": {
      "contextRef": "AsOf2022-12-31",
      "name": "us-gaap:LongTermDebt",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "FSI:ScheduleOfLoanCovenantsTableTextBlock",
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ProceedsFromBankDebt",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "FSI:ScheduleOfLoanCovenantsTableTextBlock",
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R66": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails",
     "longName": "995569 - Disclosure - SCHEDULE OF OUTSTANDING BALANCE LOAN (Details)",
     "shortName": "SCHEDULE OF OUTSTANDING BALANCE LOAN (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "66",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:LongTermDebt",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "FSI:ScheduleOfLoanCovenantsTableTextBlock",
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31_custom_StockYardsBankTrustMember",
      "name": "us-gaap:LongTermDebt",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R67": {
     "role": "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative",
     "longName": "995570 - Disclosure - LONG TERM DEBT (Details Narrative)",
     "shortName": "LONG TERM DEBT (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "67",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:InterestExpense",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2020-10-31_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember",
      "name": "us-gaap:DebtInstrumentFaceAmount",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R68": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails",
     "longName": "995571 - Disclosure - SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT) (Details)",
     "shortName": "SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "68",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R69": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails",
     "longName": "995572 - Disclosure - SCHEDULE OF RECONCILIATION OF INCOME TAXES (Details)",
     "shortName": "SCHEDULE OF RECONCILIATION OF INCOME TAXES (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "69",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R70": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails",
     "longName": "995573 - Disclosure - SCHEDULE OF DEFERRED TAX ASSETS (LIABILITIES) (Details)",
     "shortName": "SCHEDULE OF DEFERRED TAX ASSETS (LIABILITIES) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "70",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember",
      "name": "us-gaap:DeferredTaxAssetsOperatingLossCarryforwards",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember",
      "name": "us-gaap:DeferredTaxAssetsOperatingLossCarryforwards",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R71": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails",
     "longName": "995574 - Disclosure - SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS (Details)",
     "shortName": "SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "71",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:OperatingLossCarryforwards",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "FSI:ScheduleOfNonOperatingLossCarryforwardsTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31_custom_TwoThousandThirtyTaxYearMember",
      "name": "us-gaap:OperatingLossCarryforwards",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "FSI:ScheduleOfNonOperatingLossCarryforwardsTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R72": {
     "role": "http://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative",
     "longName": "995575 - Disclosure - INCOME TAXES (Details Narrative)",
     "shortName": "INCOME TAXES (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "72",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "FSI:IncomeTaxRecovery",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember",
      "name": "us-gaap:OperatingLossCarryforwards",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R73": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfBasicAndDilutedLossPerShareDetails",
     "longName": "995576 - Disclosure - SCHEDULE OF BASIC AND DILUTED LOSS PER SHARE (Details)",
     "shortName": "SCHEDULE OF BASIC AND DILUTED LOSS PER SHARE (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "73",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R74": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfAnti-dilutiveOptionsDetails",
     "longName": "995577 - Disclosure - SCHEDULE OF ANTI-DILUTIVE OPTIONS (Details)",
     "shortName": "SCHEDULE OF ANTI-DILUTIVE OPTIONS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "74",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R75": {
     "role": "http://flexiblesolutions.com/role/IncomePerShareDetailsNarrative",
     "longName": "995578 - Disclosure - INCOME PER SHARE (Details Narrative)",
     "shortName": "INCOME PER SHARE (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "75",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember",
      "name": "us-gaap:PreferredStockSharesIssued",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "span",
       "span",
       "span",
       "p",
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember",
      "name": "us-gaap:PreferredStockSharesIssued",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "span",
       "span",
       "span",
       "p",
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R76": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails",
     "longName": "995579 - Disclosure - SCHEDULE OF STOCK OPTION ACTIVITIES (Details)",
     "shortName": "SCHEDULE OF STOCK OPTION ACTIVITIES (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "76",
     "firstAnchor": {
      "contextRef": "AsOf2022-12-31",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2021-12-31",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R77": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails",
     "longName": "995580 - Disclosure - SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS (Details)",
     "shortName": "SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "77",
     "firstAnchor": {
      "contextRef": "From2022-01-012022-12-31",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2022-01-012022-12-31",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R78": {
     "role": "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative",
     "longName": "995581 - Disclosure - STOCK OPTIONS (Details Narrative)",
     "shortName": "STOCK OPTIONS (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "78",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R79": {
     "role": "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative",
     "longName": "995582 - Disclosure - CAPITAL STOCK (Details Narrative)",
     "shortName": "CAPITAL STOCK (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "79",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:StockIssuedDuringPeriodSharesIssuedForServices",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R80": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
     "longName": "995583 - Disclosure - SCHEDULE OF DISTRIBUTIONS (Details)",
     "shortName": "SCHEDULE OF DISTRIBUTIONS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "80",
     "firstAnchor": {
      "contextRef": "AsOf2022-12-31",
      "name": "us-gaap:MinorityInterest",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2021-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember",
      "name": "us-gaap:MinorityInterest",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "FSI:ScheduleOfDistributionsTableTextBlock",
       "us-gaap:MinorityInterestDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R81": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails",
     "longName": "995584 - Disclosure - SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (Details)",
     "shortName": "SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "81",
     "firstAnchor": {
      "contextRef": "AsOf2022-12-31",
      "name": "us-gaap:MinorityInterest",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-012023-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember",
      "name": "us-gaap:PaymentsToAcquireBusinessesAndInterestInAffiliates",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "FSI:ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock",
       "us-gaap:MinorityInterestDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R82": {
     "role": "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative",
     "longName": "995585 - Disclosure - NON-CONTROLLING INTERESTS (Details Narrative)",
     "shortName": "NON-CONTROLLING INTERESTS (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "82",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:PaymentsToMinorityShareholders",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-012023-12-31_custom_ENPInvestmentsLLCMember",
      "name": "us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:MinorityInterestDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R83": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails",
     "longName": "995586 - Disclosure - SCHEDULE OF REPORTABLE SEGMENTS (Details)",
     "shortName": "SCHEDULE OF REPORTABLE SEGMENTS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "83",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-012023-12-31_custom_SegmentMember",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R84": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails",
     "longName": "995587 - Disclosure - SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (Details)",
     "shortName": "SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "84",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-012023-12-31_country_CA",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R85": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails",
     "longName": "995588 - Disclosure - SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE (Details)",
     "shortName": "SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "85",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:NoncurrentAssets",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:NoncurrentAssets",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R86": {
     "role": "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative",
     "longName": "995589 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Details Narrative)",
     "shortName": "SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "86",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:NumberOfOperatingSegments",
      "unitRef": "Segments",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:NumberOfOperatingSegments",
      "unitRef": "Segments",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R87": {
     "role": "http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative",
     "longName": "995590 - Disclosure - SUBSEQUENT EVENTS (Details Narrative)",
     "shortName": "SUBSEQUENT EVENTS (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "87",
     "firstAnchor": {
      "contextRef": "From2022-01-012022-12-31",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-012024-01-31_us-gaap_SubsequentEventMember_custom_ConsultantsMember",
      "name": "us-gaap:StockIssuedDuringPeriodSharesNewIssues",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "us-gaap:SubsequentEventsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    }
   },
   "tag": {
    "us-gaap_AccountingPoliciesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountingPoliciesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Policies [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsAndNotesReceivableNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsAndNotesReceivableNet",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total accounts receivable",
        "label": "Accounts and Financing Receivable, after Allowance for Credit Loss",
        "documentation": "Amount, after allowance for credit loss, of accounts and financing receivable. Includes, but is not limited to, notes and loan receivable."
       }
      }
     },
     "auth_ref": [
      "r322",
      "r927"
     ]
    },
    "us-gaap_AccountsPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts payable",
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r31",
      "r746"
     ]
    },
    "us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableAllowanceForCreditLossTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/AccountsReceivableTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF ACCOUNTS RECEIVABLE",
        "documentation": "Tabular disclosure of allowance for credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r890"
     ]
    },
    "us-gaap_AccountsReceivableGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableGross",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails": {
       "parentTag": "us-gaap_AccountsAndNotesReceivableNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts receivable",
        "documentation": "Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business."
       }
      }
     },
     "auth_ref": [
      "r225",
      "r322",
      "r927"
     ]
    },
    "us-gaap_AccountsReceivableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableMember",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative",
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable [Member]",
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold."
       }
      }
     },
     "auth_ref": [
      "r706"
     ]
    },
    "us-gaap_AccountsReceivableNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableNet",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts receivable related parties",
        "verboseLabel": "Accounts receivable, after allowance for credit loss",
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business."
       }
      }
     },
     "auth_ref": [
      "r649",
      "r705",
      "r752",
      "r927"
     ]
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets",
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts receivable, net (Note 4)",
        "verboseLabel": "Accounts receivable",
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current."
       }
      }
     },
     "auth_ref": [
      "r322",
      "r323"
     ]
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued liabilities",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r36"
     ]
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Depreciation",
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services."
       }
      }
     },
     "auth_ref": [
      "r77",
      "r216",
      "r568"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other comprehensive loss",
        "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source."
       }
      }
     },
     "auth_ref": [
      "r42",
      "r43",
      "r134",
      "r226",
      "r563",
      "r602",
      "r603"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "AOCI Attributable to Parent [Member]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r22",
      "r43",
      "r494",
      "r497",
      "r526",
      "r598",
      "r599",
      "r865",
      "r866",
      "r867",
      "r880",
      "r881",
      "r882"
     ]
    },
    "ecd_Additional402vDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "Additional402vDisclosureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional 402(v) Disclosure [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r808"
     ]
    },
    "FSI_AdditionalEquityMethodInvestmentOwnershipPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "AdditionalEquityMethodInvestmentOwnershipPercentage",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional equity method investment ownership percentage",
        "documentation": "Additional equity method investment ownership percentage."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_AdditionalExpensesDueToOptionsGranted": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "AdditionalExpensesDueToOptionsGranted",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional expenses due to options granted",
        "documentation": "Additional expenses due to options granted."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdditionalPaidInCapital": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapital",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Capital in excess of par value",
        "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."
       }
      }
     },
     "auth_ref": [
      "r126",
      "r746",
      "r931"
     ]
    },
    "ecd_AdjToCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r814"
     ]
    },
    "ecd_AdjToCompAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToCompAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Compensation [Axis]"
       }
      }
     },
     "auth_ref": [
      "r814"
     ]
    },
    "ecd_AdjToNonPeoNeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToNonPeoNeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r814"
     ]
    },
    "ecd_AdjToPeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToPeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment To PEO Compensation, Footnote [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r814"
     ]
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock-based compensation",
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r89",
      "r90",
      "r422"
     ]
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to reconcile net income to net cash:"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r778",
      "r790",
      "r800",
      "r826"
     ]
    },
    "ecd_AggtErrCompNotYetDeterminedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AggtErrCompNotYetDeterminedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r781",
      "r793",
      "r803",
      "r829"
     ]
    },
    "ecd_AllAdjToCompMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllAdjToCompMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "auth_ref": [
      "r814"
     ]
    },
    "ecd_AllExecutiveCategoriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllExecutiveCategoriesMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "auth_ref": [
      "r821"
     ]
    },
    "ecd_AllIndividualsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllIndividualsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "auth_ref": [
      "r785",
      "r794",
      "r804",
      "r821",
      "r830",
      "r834",
      "r842"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails": {
       "parentTag": "us-gaap_AccountsAndNotesReceivableNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Allowances for doubtful accounts",
        "label": "Allowance for Doubtful Accounts, Premiums and Other Receivables",
        "documentation": "The valuation allowance as of the balance sheet date to reduce the gross amount of receivables to estimated net realizable value, which would be presented in parentheses on the face of the balance sheet."
       }
      }
     },
     "auth_ref": [
      "r887"
     ]
    },
    "dei_AmendmentDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AmendmentDescription",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Description",
        "documentation": "Description of changes contained within amended document."
       }
      }
     },
     "auth_ref": []
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AmortizationOfIntangibleAssets",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsDetailsNarrative",
      "http://flexiblesolutions.com/role/PatentsDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Amortization",
        "label": "Amount of amortization",
        "verboseLabel": "Amortization",
        "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r71",
      "r75"
     ]
    },
    "dei_AnnualInformationForm": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AnnualInformationForm",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Annual Information Form",
        "documentation": "Boolean flag with value true on a form if it is an annual report containing an annual information form."
       }
      }
     },
     "auth_ref": [
      "r786"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfAnti-dilutiveOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Anti-dilutive options",
        "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented."
       }
      }
     },
     "auth_ref": [
      "r280"
     ]
    },
    "FSI_AppliedHoldingCorpMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "AppliedHoldingCorpMember",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Applied Holding Corp [Member]",
        "documentation": "Applied Holding Corp [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ArrangementsAndNonarrangementTransactionsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ArrangementsAndNonarrangementTransactionsMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails",
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations."
       }
      }
     },
     "auth_ref": [
      "r485"
     ]
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Assets",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total Assets",
        "label": "Assets [Default Label]",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events."
       }
      }
     },
     "auth_ref": [
      "r179",
      "r219",
      "r255",
      "r291",
      "r306",
      "r312",
      "r333",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r487",
      "r491",
      "r503",
      "r559",
      "r654",
      "r746",
      "r759",
      "r896",
      "r897",
      "r915"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total current assets",
        "label": "Assets, Current",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events."
       }
      }
     },
     "auth_ref": [
      "r212",
      "r230",
      "r255",
      "r333",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r487",
      "r491",
      "r503",
      "r746",
      "r896",
      "r897",
      "r915"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current"
       }
      }
     },
     "auth_ref": []
    },
    "dei_AuditedAnnualFinancialStatements": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditedAnnualFinancialStatements",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Audited Annual Financial Statements",
        "documentation": "Boolean flag with value true on a form if it is an annual report containing audited financial statements."
       }
      }
     },
     "auth_ref": [
      "r786"
     ]
    },
    "dei_AuditorFirmId": {
     "xbrltype": "nonemptySequenceNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorFirmId",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Firm ID",
        "documentation": "PCAOB issued Audit Firm Identifier"
       }
      }
     },
     "auth_ref": [
      "r771",
      "r773",
      "r786"
     ]
    },
    "dei_AuditorLocation": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorLocation",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Location"
       }
      }
     },
     "auth_ref": [
      "r771",
      "r773",
      "r786"
     ]
    },
    "dei_AuditorName": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorName",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Name"
       }
      }
     },
     "auth_ref": [
      "r771",
      "r773",
      "r786"
     ]
    },
    "us-gaap_AutomobilesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AutomobilesMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Automobiles [Member]",
        "documentation": "Vehicles that are used primarily for transporting people."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AwardExrcPrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardExrcPrice",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Exercise Price"
       }
      }
     },
     "auth_ref": [
      "r837"
     ]
    },
    "ecd_AwardGrantDateFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardGrantDateFairValue",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Grant Date Fair Value"
       }
      }
     },
     "auth_ref": [
      "r838"
     ]
    },
    "ecd_AwardTmgDiscLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgDiscLineItems",
     "auth_ref": [
      "r833"
     ]
    },
    "ecd_AwardTmgHowMnpiCnsdrdTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgHowMnpiCnsdrdTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing, How MNPI Considered [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r833"
     ]
    },
    "ecd_AwardTmgMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Method [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r833"
     ]
    },
    "ecd_AwardTmgMnpiCnsdrdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgMnpiCnsdrdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing MNPI Considered [Flag]"
       }
      }
     },
     "auth_ref": [
      "r833"
     ]
    },
    "ecd_AwardTmgMnpiDiscTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgMnpiDiscTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing MNPI Disclosure [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r833"
     ]
    },
    "ecd_AwardTmgPredtrmndFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgPredtrmndFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Predetermined [Flag]"
       }
      }
     },
     "auth_ref": [
      "r833"
     ]
    },
    "us-gaap_AwardTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AwardTypeAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Type [Axis]",
        "documentation": "Information by type of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r430",
      "r431",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r441",
      "r442",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447",
      "r448",
      "r449",
      "r450"
     ]
    },
    "ecd_AwardUndrlygSecuritiesAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardUndrlygSecuritiesAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Underlying Securities Amount"
       }
      }
     },
     "auth_ref": [
      "r836"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardsCloseToMnpiDiscIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures, Individual Name"
       }
      }
     },
     "auth_ref": [
      "r835"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardsCloseToMnpiDiscTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures [Table]"
       }
      }
     },
     "auth_ref": [
      "r834"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardsCloseToMnpiDiscTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]"
       }
      }
     },
     "auth_ref": [
      "r834"
     ]
    },
    "FSI_BCPAMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "BCPAMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "BCPA [Member]",
        "documentation": "BCPA [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_BoatMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "BoatMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Boat [Member]",
        "documentation": "Boat [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BuildingAndBuildingImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BuildingAndBuildingImprovementsMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Building and Building Improvements [Member]",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationConsiderationTransferred1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationConsiderationTransferred1",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Purchase consideration",
        "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."
       }
      }
     },
     "auth_ref": [
      "r2",
      "r3",
      "r18"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Total identifiable net assets:",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets",
        "documentation": "Amount of assets acquired at the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r97"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Building",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Buildings",
        "documentation": "Amount of facility held for productive use including, but not limited to, office, production, storage and distribution facilities, acquired at the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r97"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Cash",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents",
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions, acquired at the acquisition date. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r97"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedPeriodEndLabel": "Deferred tax liability",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Liabilities",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences assumed at the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r97"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Land",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Land",
        "documentation": "Amount of real estate acquired, at the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r97"
     ]
    },
    "FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Excess of assets acquired over consideration",
        "documentation": "Business combination recognized identifiable assets acquired and liabilities assumed less purchase price.",
        "label": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Long term debt",
        "documentation": "Business combination recognized identifiable assets acquired and liabilities assumed long term debt.",
        "label": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessDescriptionAndBasisOfPresentationTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "BASIS OF PRESENTATION",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r120",
      "r152",
      "r153"
     ]
    },
    "country_CA": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "CA",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails",
      "http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "CANADA"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CanadaRevenueAgencyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CanadaRevenueAgencyMember",
     "presentation": [
      "http://flexiblesolutions.com/role/IncomePerShareDetailsNarrative",
      "http://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails",
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Canada Revenue Agency [Member]",
        "documentation": "Designated tax department of the government of Canada."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_CapitalInExcessOfParValueMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "CapitalInExcessOfParValueMember",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Capital in Excess of Par Value [Member]",
        "documentation": "Capital in Excess of Par Value [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Cash": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Cash",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets",
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash",
        "periodEndLabel": "Cash",
        "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. Excludes cash and cash equivalents within disposal group and discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r190",
      "r561",
      "r626",
      "r648",
      "r746",
      "r759",
      "r858"
     ]
    },
    "us-gaap_CashAndCashEquivalentsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents",
        "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."
       }
      }
     },
     "auth_ref": [
      "r53"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash resources are comprised of:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Cash resources, beginning",
        "periodEndLabel": "Cash resources",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations",
        "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."
       }
      }
     },
     "auth_ref": [
      "r51",
      "r149",
      "r251"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Inflow of cash",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect",
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r149"
     ]
    },
    "ecd_ChangedPeerGroupFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ChangedPeerGroupFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changed Peer Group, Footnote [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r812"
     ]
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CityAreaCode",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ClassOfStockDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ClassOfStockDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock."
       }
      }
     },
     "auth_ref": [
      "r207",
      "r222",
      "r223",
      "r224",
      "r255",
      "r274",
      "r275",
      "r277",
      "r279",
      "r285",
      "r286",
      "r333",
      "r365",
      "r367",
      "r368",
      "r369",
      "r372",
      "r373",
      "r393",
      "r394",
      "r396",
      "r399",
      "r405",
      "r503",
      "r607",
      "r608",
      "r609",
      "r610",
      "r615",
      "r616",
      "r617",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r623",
      "r624",
      "r625",
      "r627",
      "r640",
      "r663",
      "r682",
      "r697",
      "r698",
      "r699",
      "r700",
      "r701",
      "r852",
      "r875",
      "r883"
     ]
    },
    "ecd_CoSelectedMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CoSelectedMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Selected Measure Amount"
       }
      }
     },
     "auth_ref": [
      "r813"
     ]
    },
    "ecd_CoSelectedMeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CoSelectedMeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Selected Measure Name"
       }
      }
     },
     "auth_ref": [
      "r813"
     ]
    },
    "FSI_Commissions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "Commissions",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 14.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commissions",
        "documentation": "Commissions."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingenciesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingenciesPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contingencies",
        "documentation": "Disclosure of accounting policy for commitments and contingencies, which may include policies for recognizing and measuring loss and gain contingencies."
       }
      }
     },
     "auth_ref": [
      "r78",
      "r707"
     ]
    },
    "us-gaap_CommonClassBMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonClassBMember",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Class B [Member]",
        "documentation": "Classification of common stock that has different rights than Common Class A, representing ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r936"
     ]
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockMember",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock [Member]",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r749",
      "r750",
      "r751",
      "r753",
      "r754",
      "r755",
      "r756",
      "r880",
      "r881",
      "r908",
      "r930",
      "r936"
     ]
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockParOrStatedValuePerShare",
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, par value",
        "documentation": "Face amount or stated value per share of common stock."
       }
      }
     },
     "auth_ref": [
      "r125"
     ]
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesAuthorized",
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, shares authorized",
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r125",
      "r640"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesIssued",
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, shares issued",
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury."
       }
      }
     },
     "auth_ref": [
      "r125"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, shares outstanding",
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r125",
      "r640",
      "r660",
      "r936",
      "r937"
     ]
    },
    "us-gaap_CommonStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockValue",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, value",
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity."
       }
      }
     },
     "auth_ref": [
      "r125",
      "r562",
      "r746"
     ]
    },
    "us-gaap_CommunicationsAndInformationTechnology": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommunicationsAndInformationTechnology",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Telecommunications",
        "documentation": "The amount of expense in the period for communications and data processing expense."
       }
      }
     },
     "auth_ref": [
      "r142"
     ]
    },
    "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r818"
     ]
    },
    "ecd_CompActuallyPaidVsNetIncomeTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsNetIncomeTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Net Income [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r817"
     ]
    },
    "ecd_CompActuallyPaidVsOtherMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsOtherMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Other Measure [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r819"
     ]
    },
    "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r816"
     ]
    },
    "us-gaap_CompensationRelatedCostsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CompensationRelatedCostsPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock-based Compensation",
        "documentation": "Disclosure of accounting policy for salaries, bonuses, incentive awards, postretirement and postemployment benefits granted to employees, including equity-based arrangements; discloses methodologies for measurement, and the bases for recognizing related assets and liabilities and recognizing and reporting compensation expense."
       }
      }
     },
     "auth_ref": [
      "r87"
     ]
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComprehensiveIncomeNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Comprehensive income attributable to controlling interests",
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent",
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r44",
      "r232",
      "r234",
      "r243",
      "r554",
      "r576"
     ]
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Comprehensive income \u2013 non-controlling interest",
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Noncontrolling Interest",
        "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."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r102",
      "r105",
      "r232",
      "r234",
      "r242",
      "r553",
      "r575"
     ]
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total comprehensive income",
        "label": "Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest",
        "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."
       }
      }
     },
     "auth_ref": [
      "r105",
      "r177",
      "r232",
      "r234",
      "r241",
      "r552",
      "r574"
     ]
    },
    "us-gaap_ComprehensiveIncomePolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComprehensiveIncomePolicyPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income",
        "documentation": "Disclosure of accounting policy for comprehensive income."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ComputerEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComputerEquipmentMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Computer Equipment [Member]",
        "documentation": "Long lived, depreciable assets that are used in the creation, maintenance and utilization of information systems."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskBenchmarkDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative",
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage."
       }
      }
     },
     "auth_ref": [
      "r58",
      "r59",
      "r109",
      "r110",
      "r320",
      "r706"
     ]
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative",
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Axis]",
        "documentation": "Information by benchmark of concentration risk."
       }
      }
     },
     "auth_ref": [
      "r58",
      "r59",
      "r109",
      "r110",
      "r320",
      "r604",
      "r706"
     ]
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskByTypeAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Type [Axis]",
        "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender."
       }
      }
     },
     "auth_ref": [
      "r58",
      "r59",
      "r109",
      "r110",
      "r320",
      "r706",
      "r855"
     ]
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskCreditRisk",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Risk Management",
        "documentation": "Disclosure of accounting policy for credit risk."
       }
      }
     },
     "auth_ref": [
      "r118",
      "r197"
     ]
    },
    "FSI_ConcentrationRiskThresholdPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "ConcentrationRiskThresholdPercentage",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts receivable, after allowance for credit loss, percentage",
        "documentation": "Concentration Risk Threshold Percentage."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskTypeDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "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."
       }
      }
     },
     "auth_ref": [
      "r58",
      "r59",
      "r109",
      "r110",
      "r320",
      "r706"
     ]
    },
    "us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable",
     "presentation": [
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [Table]",
        "documentation": "Summarization of information required and determined to be disclosed concerning the effects of any changes in a parent's ownership interest in a subsidiary on the equity attributable to the parent which may have occurred during the period. The changes represented by this element did not result in the deconsolidation of the subsidiary."
       }
      }
     },
     "auth_ref": [
      "r23",
      "r106"
     ]
    },
    "FSI_ConsultantStockOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "ConsultantStockOptionMember",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consultant Stock Option [Member]",
        "documentation": "Consultant Stock Option [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ConsultantsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "ConsultantsMember",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative",
      "http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consultants [Member]",
        "documentation": "Consultants [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_Consulting": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "Consulting",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consulting",
        "documentation": "Consulting."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostOfGoodsAndServicesSold",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative",
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost of sales (Note 6, 7 &amp; 8)",
        "verboseLabel": "Cost of sales",
        "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities."
       }
      }
     },
     "auth_ref": [
      "r140",
      "r536"
     ]
    },
    "dei_CountryRegion": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CountryRegion",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Country Region",
        "documentation": "Region code of country"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Cover [Abstract]",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CreditFacilityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CreditFacilityAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Credit Facility [Axis]",
        "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CreditFacilityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CreditFacilityDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentFederalTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentFederalTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails": {
       "parentTag": "FSI_CurrentTax",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current tax, federal",
        "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."
       }
      }
     },
     "auth_ref": [
      "r857",
      "r878",
      "r907"
     ]
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Fiscal Year End Date",
        "documentation": "End date of current fiscal year in the format --MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentForeignTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentForeignTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails": {
       "parentTag": "FSI_CurrentTax",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current tax, foreign",
        "documentation": "Amount of current foreign income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r857",
      "r878"
     ]
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      },
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_ProfitLoss",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails",
      "http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails",
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Current income tax expense",
        "totalLabel": "Current tax, total",
        "label": "Current income tax expense",
        "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r174",
      "r474",
      "r480",
      "r878"
     ]
    },
    "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentStateAndLocalTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails": {
       "parentTag": "FSI_CurrentTax",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current tax, state",
        "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."
       }
      }
     },
     "auth_ref": [
      "r857",
      "r878",
      "r907"
     ]
    },
    "FSI_CurrentTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "CurrentTax",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails": {
       "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Current tax",
        "documentation": "Current tax.",
        "label": "CurrentTax"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CustomerRelationshipsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CustomerRelationshipsMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer Relationships [Member]",
        "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships."
       }
      }
     },
     "auth_ref": [
      "r99"
     ]
    },
    "us-gaap_DebtDefaultLongtermDebtAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtDefaultLongtermDebtAmount",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Long term debt amount",
        "documentation": "Amount of outstanding long-term debt or borrowing associated with any securities or credit agreement for which there has been a default in principal, interest, sinking fund, or redemption provisions, or any breach of covenant that existed at the end of the period and subsequently has not been cured."
       }
      }
     },
     "auth_ref": [
      "r253"
     ]
    },
    "us-gaap_DebtDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument [Axis]",
        "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities."
       }
      }
     },
     "auth_ref": [
      "r29",
      "r122",
      "r123",
      "r180",
      "r181",
      "r257",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r517",
      "r730",
      "r731",
      "r732",
      "r733",
      "r734",
      "r876"
     ]
    },
    "us-gaap_DebtInstrumentFaceAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentFaceAmount",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative",
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt face amount",
        "verboseLabel": "Debt instrument face amount",
        "documentation": "Face (par) amount of debt instrument at time of issuance."
       }
      }
     },
     "auth_ref": [
      "r113",
      "r115",
      "r374",
      "r517",
      "r731",
      "r732"
     ]
    },
    "us-gaap_DebtInstrumentInterestRateStatedPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentInterestRateStatedPercentage",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative",
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative",
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Interest Rate, Stated Percentage",
        "verboseLabel": "Interest rate",
        "terseLabel": "Debt instrument interest rate stated percentage",
        "documentation": "Contractual interest rate for funds borrowed, under the debt agreement."
       }
      }
     },
     "auth_ref": [
      "r38",
      "r375"
     ]
    },
    "FSI_DebtInstrumentMaturityMonthYear": {
     "xbrltype": "gYearMonthItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "DebtInstrumentMaturityMonthYear",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt maturity"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentNameDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "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."
       }
      }
     },
     "auth_ref": [
      "r39",
      "r257",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r517",
      "r730",
      "r731",
      "r732",
      "r733",
      "r734",
      "r876"
     ]
    },
    "us-gaap_DebtInstrumentTerm": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentTerm",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt instrument term",
        "documentation": "Period of time between issuance and maturity of debt instrument, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredFederalIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred income tax, federal",
        "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."
       }
      }
     },
     "auth_ref": [
      "r878",
      "r906",
      "r907"
     ]
    },
    "us-gaap_DeferredForeignIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredForeignIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred income tax, foreign",
        "documentation": "Amount of deferred foreign income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r174",
      "r878",
      "r906"
     ]
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred tax asset (Note 13)",
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r462",
      "r463"
     ]
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_ProfitLoss",
       "weight": -1.0,
       "order": 2.0
      },
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 2.0
      },
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails",
      "http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails",
      "http://flexiblesolutions.com/role/StatementsOfCashFlows",
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Deferred income tax recovery",
        "label": "Deferred income tax recovery",
        "totalLabel": "Deferred income tax, total",
        "verboseLabel": "Deferred tax recovery",
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r174",
      "r203",
      "r479",
      "r480",
      "r878"
     ]
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred income tax liability (Note 13)",
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r462",
      "r463",
      "r560"
     ]
    },
    "us-gaap_DeferredIncomeTaxesAndTaxCreditsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxesAndTaxCreditsAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income taxes (Note 13)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredRevenueCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredRevenueCurrent",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred revenue",
        "documentation": "Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r861"
     ]
    },
    "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred income tax, state",
        "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."
       }
      }
     },
     "auth_ref": [
      "r878",
      "r906",
      "r907"
     ]
    },
    "FSI_DeferredTaxAssetNotRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "DeferredTaxAssetNotRecognized",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred tax asset not recognized",
        "documentation": "Deferred tax asset not recognized."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsDerivativeInstruments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsDerivativeInstruments",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financial instruments",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from derivative instruments."
       }
      }
     },
     "auth_ref": [
      "r94",
      "r905"
     ]
    },
    "us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsGoodwillAndIntangibleAssets",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible assets",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from intangible assets including goodwill."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsGross",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred tax assets gross",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards."
       }
      }
     },
     "auth_ref": [
      "r469"
     ]
    },
    "us-gaap_DeferredTaxAssetsInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsInvestments",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Investments",
        "label": "Deferred Tax Assets, Investments",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from investments (excludes investments in subsidiaries and equity method investments)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsNet",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net deferred tax asset",
        "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards."
       }
      }
     },
     "auth_ref": [
      "r904"
     ]
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsOperatingLossCarryforwards",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net operating loss carryforwards",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards."
       }
      }
     },
     "auth_ref": [
      "r94",
      "r905"
     ]
    },
    "FSI_DeferredTaxAssetsPropertyPlantsAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "DeferredTaxAssetsPropertyPlantsAndEquipment",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, equipment and leaseholds",
        "documentation": "Deferred tax assets property plants and equipment."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_DeferredTaxAssetsPropertyPlantsAndEquipmentOne": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "DeferredTaxAssetsPropertyPlantsAndEquipmentOne",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Property, equipment and leaseholds",
        "documentation": "Deferred tax assets property plants and equipment.",
        "label": "DeferredTaxAssetsPropertyPlantsAndEquipmentOne"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsValuationAllowance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsValuationAllowance",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Valuation Allowance",
        "label": "Deferred Tax Assets, Valuation Allowance",
        "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized."
       }
      }
     },
     "auth_ref": [
      "r470"
     ]
    },
    "us-gaap_DeferredTaxLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilities",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Net deferred tax liability",
        "label": "Deferred Tax Liabilities, Net",
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r91",
      "r904"
     ]
    },
    "us-gaap_DefinedBenefitPlanDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanDisclosureLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan Disclosure [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Deposits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Deposits",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deposits",
        "documentation": "The aggregate of all deposit liabilities held by the entity, including foreign and domestic, interest and noninterest bearing; may include demand deposits, saving deposits, Negotiable Order of Withdrawal (NOW) and time deposits among others."
       }
      }
     },
     "auth_ref": [
      "r116"
     ]
    },
    "us-gaap_DepositsAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DepositsAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Term deposits (Note 2)",
        "documentation": "Carrying value of amounts transferred to third parties for security purposes that are expected to be returned or applied towards payment within one year or during the operating cycle, if shorter."
       }
      }
     },
     "auth_ref": [
      "r864"
     ]
    },
    "us-gaap_DepositsAssetsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DepositsAssetsNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets",
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long term deposits (Note 9)",
        "verboseLabel": "Long term deposits",
        "documentation": "Carrying value of amounts transferred to third parties for security purposes that are expected to be returned or applied towards payment after one year or beyond the operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r860"
     ]
    },
    "us-gaap_Depreciation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Depreciation",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation",
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r76"
     ]
    },
    "us-gaap_DepreciationAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DepreciationAndAmortization",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation and amortization",
        "documentation": "The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r76"
     ]
    },
    "FSI_DepreciationMethodUsedAndAnnualRate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "DepreciationMethodUsedAndAnnualRate",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation method used and annual rate",
        "documentation": "Depreciation method used and annual rate."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DepreciationNonproduction": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DepreciationNonproduction",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Depreciation",
        "label": "Depreciation, Nonproduction",
        "documentation": "The expense recognized in the current period that allocates the cost of nonproduction tangible assets over their useful lives."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r76"
     ]
    },
    "us-gaap_DevelopedTechnologyRightsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DevelopedTechnologyRightsMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Developed Technology Rights [Member]",
        "documentation": "Rights to developed technology, which can include the right to develop, use, market, sell, or offer for sale products, compounds, or intellectual property."
       }
      }
     },
     "auth_ref": [
      "r175"
     ]
    },
    "FSI_DisclosureLeasesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "DisclosureLeasesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Leases",
        "verboseLabel": "Summary Of Right-of-use Asset And Lease Liability",
        "terseLabel": "Schedule Of Undiscounted Rent Payments"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_DisclosureLongTermDepositsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "DisclosureLongTermDepositsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Long Term Deposits",
        "verboseLabel": "Schedule Of Long Term Deposits"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "STOCK OPTIONS",
        "documentation": "The entire disclosure for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r420",
      "r424",
      "r451",
      "r452",
      "r454",
      "r740"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Dividends": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Dividends",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Dividends paid",
        "label": "Dividends",
        "documentation": "Amount of paid and unpaid cash, stock, and paid-in-kind (PIK) dividends declared, for example, but not limited to, common and preferred stock."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r167"
     ]
    },
    "us-gaap_DividendsPayableAmountPerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DividendsPayableAmountPerShare",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividends per share",
        "documentation": "The per share amount of a dividend declared, but not paid, as of the financial reporting date."
       }
      }
     },
     "auth_ref": [
      "r55"
     ]
    },
    "dei_DocumentAccountingStandard": {
     "xbrltype": "accountingStandardItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentAccountingStandard",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Accounting Standard",
        "documentation": "The basis of accounting the registrant has used to prepare the financial statements included in this filing This can either be 'U.S. GAAP', 'International Financial Reporting Standards', or 'Other'."
       }
      }
     },
     "auth_ref": [
      "r773"
     ]
    },
    "dei_DocumentAnnualReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentAnnualReport",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Annual Report",
        "documentation": "Boolean flag that is true only for a form used as an annual report."
       }
      }
     },
     "auth_ref": [
      "r771",
      "r773",
      "r786"
     ]
    },
    "dei_DocumentFinStmtErrorCorrectionFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFinStmtErrorCorrectionFlag",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Financial Statement Error Correction [Flag]",
        "documentation": "Indicates whether any of the financial statement period in the filing include a restatement due to error correction."
       }
      }
     },
     "auth_ref": [
      "r771",
      "r773",
      "r786",
      "r822"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Period Focus",
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentFiscalYearFocus": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalYearFocus",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Year Focus",
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period End Date",
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodStartDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentPeriodStartDate",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period Start Date",
        "documentation": "The start date of the period covered in the document, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentQuarterlyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentQuarterlyReport",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Quarterly Report",
        "documentation": "Boolean flag that is true only for a form used as an quarterly report."
       }
      }
     },
     "auth_ref": [
      "r772"
     ]
    },
    "dei_DocumentRegistrationStatement": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentRegistrationStatement",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Registration Statement",
        "documentation": "Boolean flag that is true only for a form used as a registration statement."
       }
      }
     },
     "auth_ref": [
      "r760"
     ]
    },
    "dei_DocumentShellCompanyEventDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentShellCompanyEventDate",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Shell Company Event Date",
        "documentation": "Date of event requiring a shell company report."
       }
      }
     },
     "auth_ref": [
      "r773"
     ]
    },
    "dei_DocumentShellCompanyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentShellCompanyReport",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Shell Company Report",
        "documentation": "Boolean flag that is true for a Shell Company Report pursuant to section 13 or 15(d) of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r773"
     ]
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Transition Report",
        "documentation": "Boolean flag that is true only for a form used as a transition report."
       }
      }
     },
     "auth_ref": [
      "r807"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentType",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Type",
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentsIncorporatedByReferenceTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentsIncorporatedByReferenceTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Documents Incorporated by Reference [Text Block]",
        "documentation": "Documents incorporated by reference."
       }
      }
     },
     "auth_ref": [
      "r763"
     ]
    },
    "FSI_ENPInvestmentsAndENPMendotaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "ENPInvestmentsAndENPMendotaMember",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ENP Investments And 317 ENP Mendota [Member]",
        "documentation": "ENP Investments And 317 ENP Mendota [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ENPInvestmentsLLCAndENPMendotaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "ENPInvestmentsLLCAndENPMendotaMember",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ENP Investments LLC and ENP Mendota [Member]",
        "documentation": "ENP Investments LLC and ENP Mendota [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ENPInvestmentsLLCMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "ENPInvestmentsLLCMember",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ENP Investments, LLC [Member]",
        "documentation": "ENP Investments LLC [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ENPMendotaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "ENPMendotaMember",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ENP Mendota, LLC [Member]",
        "documentation": "ENP Mendota, LLC [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ENPPeruInvestmentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "ENPPeruInvestmentsMember",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ENP Peru Investments [Member]",
        "documentation": "ENP Peru Investments [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ENPPeruMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "ENPPeruMember",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ENP Peru [Member]",
        "documentation": "ENP Peru [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ENPPeruOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "ENPPeruOneMember",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ENP Peru One [Member]",
        "documentation": "ENP Peru One [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_EWCPMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "EWCPMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "EWCP [Member]",
        "documentation": "EWCP [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareBasic",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfBasicAndDilutedLossPerShareDetails",
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income per share (basic) (Note 14)",
        "verboseLabel": "Basic",
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r244",
      "r263",
      "r264",
      "r265",
      "r266",
      "r267",
      "r272",
      "r274",
      "r277",
      "r278",
      "r279",
      "r283",
      "r501",
      "r502",
      "r555",
      "r577",
      "r725"
     ]
    },
    "us-gaap_EarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareDiluted",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfBasicAndDilutedLossPerShareDetails",
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income per share (diluted) (Note 14)",
        "verboseLabel": "Diluted",
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r244",
      "r263",
      "r264",
      "r265",
      "r266",
      "r267",
      "r274",
      "r277",
      "r278",
      "r279",
      "r283",
      "r501",
      "r502",
      "r555",
      "r577",
      "r725"
     ]
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerSharePolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Per Share",
        "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements."
       }
      }
     },
     "auth_ref": [
      "r56",
      "r57"
     ]
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/IncomePerShare"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "INCOME PER SHARE",
        "documentation": "The entire disclosure for earnings per share."
       }
      }
     },
     "auth_ref": [
      "r271",
      "r280",
      "r281",
      "r282"
     ]
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effect of exchange rate changes on cash",
        "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r910"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "US statutory tax rates",
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss)."
       }
      }
     },
     "auth_ref": [
      "r256",
      "r465",
      "r481"
     ]
    },
    "FSI_EligiblePercentageOfDomesticAccountsReceivable": {
     "xbrltype": "percentItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "EligiblePercentageOfDomesticAccountsReceivable",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Eligible percentage of domestic accounts receivable",
        "documentation": "Eligible percentage of domestic accounts receivable."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock vested compensation non vested",
        "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r453"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average period expected to be recognized",
        "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."
       }
      }
     },
     "auth_ref": [
      "r453"
     ]
    },
    "us-gaap_EmployeeStockOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeStockOptionMember",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Option [Member]",
        "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_EmployeesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "EmployeesMember",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative",
      "http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employees [Member]",
        "documentation": "Employees [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_EnPInvestmentsCorporationLLCMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "EnPInvestmentsCorporationLLCMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ENP Investments Limited Liability Corporation (LLC) [Member]",
        "documentation": "ENP Investments Limited Liability Corporation (LLC) [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_EnpPeruInvestmentsLlcMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "EnpPeruInvestmentsLlcMember",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/InvestmentsTables",
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ENP Peru Investments LLC [Member]",
        "documentation": "ENP Peru Investments LLC [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_EnpRealtyLLCMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "EnpRealtyLLCMember",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ENP Realty LLC [Member]",
        "documentation": "ENP Realty LLC [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_EnpnvestmentsLlcMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "EnpnvestmentsLlcMember",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ENP Investments LLC [Member]",
        "documentation": "ENP Investments LLC [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line One",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine2": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine2",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line Two",
        "documentation": "Address Line 2 such as Street or Suite number"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine3": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine3",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line Three",
        "documentation": "Address Line 3 such as an Office Park"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, City or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCountry": {
     "xbrltype": "countryCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressCountry",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Country",
        "documentation": "ISO 3166-1 alpha-2 country code."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Postal Zip Code",
        "documentation": "Code for the postal or zip code"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressStateOrProvince": {
     "xbrltype": "stateOrProvinceItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, State or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityBankruptcyProceedingsReportingCurrent": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityBankruptcyProceedingsReportingCurrent",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Bankruptcy Proceedings, Reporting Current",
        "documentation": "For registrants involved in bankruptcy proceedings during the preceding five years, the value Yes indicates that the registrant has filed all documents and reports required to be filed by Section 12, 13 or 15(d) of the Securities Exchange Act of 1934 subsequent to the distribution of securities under a plan confirmed by a court; the value No indicates the registrant has not.  Registrants not involved in bankruptcy proceedings during the preceding five years should not report this element."
       }
      }
     },
     "auth_ref": [
      "r766"
     ]
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Central Index Key",
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK."
       }
      }
     },
     "auth_ref": [
      "r762"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Common Stock, Shares Outstanding",
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCurrentReportingStatus": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCurrentReportingStatus",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Current Reporting Status",
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/InvestmentsTables",
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails",
      "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails",
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "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."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r762"
     ]
    },
    "dei_EntityExTransitionPeriod": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityExTransitionPeriod",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Elected Not To Use the Extended Transition Period",
        "documentation": "Indicate if an emerging growth company has elected not to use the extended transition period for complying with any new or revised financial accounting standards."
       }
      }
     },
     "auth_ref": [
      "r850"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity File Number",
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityFilerCategory": {
     "xbrltype": "filerCategoryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFilerCategory",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Filer Category",
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": [
      "r762"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Incorporation, State or Country Code",
        "documentation": "Two-character EDGAR code representing the state or country of incorporation."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityInteractiveDataCurrent": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityInteractiveDataCurrent",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Interactive Data Current",
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)."
       }
      }
     },
     "auth_ref": [
      "r847"
     ]
    },
    "dei_EntityPrimarySicNumber": {
     "xbrltype": "sicNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityPrimarySicNumber",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Primary SIC Number",
        "documentation": "Primary Standard Industrial Classification (SIC) Number for the Entity."
       }
      }
     },
     "auth_ref": [
      "r786"
     ]
    },
    "dei_EntityPublicFloat": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityPublicFloat",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Public Float",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r762"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Shell Company",
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r762"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r762"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Tax Identification Number",
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS."
       }
      }
     },
     "auth_ref": [
      "r762"
     ]
    },
    "dei_EntityVoluntaryFilers": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityVoluntaryFilers",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Voluntary Filers",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityWellKnownSeasonedIssuer",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Well-known Seasoned Issuer",
        "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."
       }
      }
     },
     "auth_ref": [
      "r848"
     ]
    },
    "us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EntityWideInformationRevenueFromExternalCustomerLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from External Customer [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EntityWideRevenueMajorCustomerLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EntityWideRevenueMajorCustomerLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue, Major Customer [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative",
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity"
     ],
     "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."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r208",
      "r236",
      "r237",
      "r238",
      "r258",
      "r259",
      "r260",
      "r262",
      "r268",
      "r270",
      "r284",
      "r335",
      "r336",
      "r406",
      "r455",
      "r456",
      "r457",
      "r475",
      "r476",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r500",
      "r509",
      "r510",
      "r511",
      "r512",
      "r513",
      "r514",
      "r526",
      "r598",
      "r599",
      "r600",
      "r615",
      "r682"
     ]
    },
    "srt_EquityMethodInvesteeNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "EquityMethodInvesteeNameDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "auth_ref": [
      "r329",
      "r330",
      "r332"
     ]
    },
    "us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityMethodInvestmentDescriptionOfPrincipalActivities",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity method investment, description",
        "documentation": "A description of the principal activities of an investee accounted for under the equity method."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityMethodInvestmentOwnershipPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityMethodInvestmentOwnershipPercentage",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ownership percentage",
        "documentation": "The percentage of ownership of common stock or equity participation in the investee accounted for under the equity method of accounting."
       }
      }
     },
     "auth_ref": [
      "r329"
     ]
    },
    "us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityMethodInvestmentRealizedGainLossOnDisposal",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gain in equity method investment",
        "documentation": "Amount of gain (loss) on sale or disposal of an equity method investment."
       }
      }
     },
     "auth_ref": [
      "r871",
      "r872",
      "r874"
     ]
    },
    "FSI_EquityMethodInvestmentReturnOfEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "EquityMethodInvestmentReturnOfEquity",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Return of equity",
        "documentation": "Return of equity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityMethodInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityMethodInvestments",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets",
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investments (Note 10)",
        "periodStartLabel": "Balance, Beginning",
        "periodEndLabel": "Balance, Ending",
        "documentation": "This item represents the carrying amount on the entity's balance sheet of its investment in common stock of an equity method investee. This is not an indicator of the fair value of the investment, rather it is the initial cost adjusted for the entity's share of earnings and losses of the investee, adjusted for any distributions (dividends) and other than temporary impairment (OTTI) losses recognized."
       }
      }
     },
     "auth_ref": [
      "r301",
      "r327",
      "r859",
      "r888"
     ]
    },
    "us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityMethodInvestmentsAndJointVenturesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Method Investments and Joint Ventures [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityMethodInvestmentsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityMethodInvestmentsDisclosureTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/Investments"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "INVESTMENTS",
        "documentation": "The entire disclosure for equity method investments and joint ventures. Equity method investments are investments that give the investor the ability to exercise significant influence over the operating and financial policies of an investee. Joint ventures are entities owned and operated by a small group of businesses as a separate and specific business or project for the mutual benefit of the members of the group."
       }
      }
     },
     "auth_ref": [
      "r205",
      "r331",
      "r334",
      "r853"
     ]
    },
    "us-gaap_EquityMethodInvestmentsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityMethodInvestmentsPolicy",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Method Investment",
        "documentation": "Disclosure of accounting policy for equity method of accounting for investments and other interests. Investment includes, but is not limited to, unconsolidated subsidiary, corporate joint venture, noncontrolling interest in real estate venture, limited partnership, and limited liability company. Information includes, but is not limited to, ownership percentage, reason equity method is or is not considered appropriate, and accounting policy election for distribution received."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r111",
      "r330"
     ]
    },
    "us-gaap_EquityMethodInvestmentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityMethodInvestmentsTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF EQUITY METHOD INVESTMENT",
        "documentation": "Tabular disclosure of equity method investments including, but not limited to, name of each investee or group of investments, percentage ownership, difference between recorded amount of an investment and the value of the underlying equity in the net assets, and summarized financial information."
       }
      }
     },
     "auth_ref": [
      "r328"
     ]
    },
    "ecd_EquityValuationAssumptionDifferenceFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "EquityValuationAssumptionDifferenceFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Valuation Assumption Difference, Footnote [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r815"
     ]
    },
    "ecd_ErrCompAnalysisTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ErrCompAnalysisTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Erroneous Compensation Analysis [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r778",
      "r790",
      "r800",
      "r826"
     ]
    },
    "ecd_ErrCompRecoveryTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ErrCompRecoveryTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Erroneously Awarded Compensation Recovery [Table]"
       }
      }
     },
     "auth_ref": [
      "r775",
      "r787",
      "r797",
      "r823"
     ]
    },
    "ecd_ExecutiveCategoryAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ExecutiveCategoryAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Executive Category [Axis]"
       }
      }
     },
     "auth_ref": [
      "r821"
     ]
    },
    "FSI_ExpectedIncomeTaxRecovery": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "ExpectedIncomeTaxRecovery",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Expected income tax",
        "documentation": "Expected income tax recovery."
       }
      }
     },
     "auth_ref": []
    },
    "dei_Extension": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Extension",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Extension",
        "documentation": "Extension number for local phone number."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Class of asset."
       }
      }
     },
     "auth_ref": [
      "r25"
     ]
    },
    "us-gaap_FairValueByAssetClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueByAssetClassAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Asset Class [Axis]",
        "documentation": "Information by class of asset."
       }
      }
     },
     "auth_ref": [
      "r107",
      "r108"
     ]
    },
    "us-gaap_FairValueOfFinancialInstrumentsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueOfFinancialInstrumentsPolicy",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value of Financial Instruments",
        "documentation": "Disclosure of accounting policy for determining the fair value of financial instruments."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r28"
     ]
    },
    "us-gaap_FinanceLeaseRightOfUseAssetAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseRightOfUseAssetAmortization",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease right of use amortization",
        "documentation": "Amount of amortization expense attributable to right-of-use asset from finance lease."
       }
      }
     },
     "auth_ref": [
      "r521",
      "r523",
      "r745"
     ]
    },
    "us-gaap_FinancingReceivablesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinancingReceivablesTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/AccountsReceivable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ACCOUNTS RECEIVABLE",
        "documentation": "The entire disclosure for financing receivable."
       }
      }
     },
     "auth_ref": [
      "r321",
      "r324",
      "r325",
      "r326",
      "r728"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfPatentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Patents, Accumulated amortization",
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r218",
      "r356"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2024",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r158"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2028",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r158"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2027",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r158"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2026",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r158"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2025",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Two",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r158"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/PatentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]",
        "documentation": "Information by major type or class of finite-lived intangible assets."
       }
      }
     },
     "auth_ref": [
      "r354",
      "r355",
      "r356",
      "r357",
      "r537",
      "r538"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/PatentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r537"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/PatentsDetailsNarrative"
     ],
     "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."
       }
      }
     },
     "auth_ref": [
      "r72",
      "r74"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets [Member]",
        "documentation": "Assets, excluding financial assets, that lack physical substance, having a limited useful life."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsNet",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfPatentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Patents, net",
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r157",
      "r537"
     ]
    },
    "us-gaap_FiniteLivedPatentsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedPatentsGross",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfPatentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Patents, cost",
        "documentation": "Gross carrying amount before accumulated amortization as of the balance sheet date of the costs pertaining to the exclusive legal rights granted to the owner of the patent to exploit an invention or a process for a period of time specified by law. Such costs may have been expended to directly apply and receive patent rights, or to acquire such rights."
       }
      }
     },
     "auth_ref": [
      "r157"
     ]
    },
    "FSI_FirstTermMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "FirstTermMember",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "First Term [Member]",
        "documentation": "First Term [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_FloridaBasedLLCMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "FloridaBasedLLCMember",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/InvestmentsTables",
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Florida Based LLC [Member]",
        "documentation": "Florida Based LLC [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ForeignCurrencyTransactionGainLossBeforeTax",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": -1.0,
       "order": 17.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Currency exchange",
        "label": "Gain (Loss), Foreign Currency Transaction, before Tax",
        "documentation": "Amount, before tax, of realized and unrealized gain (loss) from foreign currency transaction."
       }
      }
     },
     "auth_ref": [
      "r505",
      "r506",
      "r507",
      "r508",
      "r679"
     ]
    },
    "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign Currency",
        "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."
       }
      }
     },
     "auth_ref": [
      "r504"
     ]
    },
    "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount"
       }
      }
     },
     "auth_ref": [
      "r782",
      "r794",
      "r804",
      "r830"
     ]
    },
    "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Expense of Enforcement, Amount"
       }
      }
     },
     "auth_ref": [
      "r782",
      "r794",
      "r804",
      "r830"
     ]
    },
    "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Violation of Home Country Law, Amount"
       }
      }
     },
     "auth_ref": [
      "r782",
      "r794",
      "r804",
      "r830"
     ]
    },
    "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery, Explanation of Impracticability [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r782",
      "r794",
      "r804",
      "r830"
     ]
    },
    "ecd_ForgoneRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery, Individual Name"
       }
      }
     },
     "auth_ref": [
      "r782",
      "r794",
      "r804",
      "r830"
     ]
    },
    "FSI_FourthTermMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "FourthTermMember",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fourth Term [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GainLossOnDispositionOfAssets1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GainLossOnDispositionOfAssets1",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsDetailsNarrative",
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gain on sale of asset (Note 6)",
        "verboseLabel": "Sale of assets",
        "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."
       }
      }
     },
     "auth_ref": [
      "r874"
     ]
    },
    "us-gaap_GainLossOnInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GainLossOnInvestments",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 3.0
      },
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows",
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gain on investments (Note 10)",
        "negatedLabel": "Gain on investments",
        "documentation": "Amount of realized and unrealized gain (loss) on investment."
       }
      }
     },
     "auth_ref": [
      "r144",
      "r851"
     ]
    },
    "us-gaap_GainLossOnInvestmentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GainLossOnInvestmentsTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT",
        "documentation": "Tabular disclosure of realized and unrealized gain (loss) on investment in security."
       }
      }
     },
     "auth_ref": [
      "r869",
      "r870"
     ]
    },
    "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GainLossOnSaleOfPropertyPlantEquipment",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Gain on sale of asset",
        "label": "Gain (Loss) on Disposition of Property Plant Equipment",
        "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property."
       }
      }
     },
     "auth_ref": [
      "r12"
     ]
    },
    "FSI_GainOnAcquisitionOfSubsidiary": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "GainOnAcquisitionOfSubsidiary",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails",
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Gain on acquisition of ENP Peru, LLC",
        "label": "Gain on acquisition of ENP Peru",
        "documentation": "Gain on acquisition of subsidiary."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_GainOnPreviouslyHeldEquityInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "GainOnPreviouslyHeldEquityInterest",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gain on previously held equity interest (Note 10)",
        "documentation": "Gain on previously held equity interest."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GainsLossesOnSalesOfInvestmentRealEstate": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GainsLossesOnSalesOfInvestmentRealEstate",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net sales",
        "documentation": "The net gain (loss) resulting from sales and other disposals of real estate owned for investment purposes."
       }
      }
     },
     "auth_ref": [
      "r191",
      "r192",
      "r194",
      "r871",
      "r872",
      "r874",
      "r924",
      "r935"
     ]
    },
    "us-gaap_GeneralInsuranceExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GeneralInsuranceExpense",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insurance",
        "documentation": "The expense in the period incurred with respect to protection provided by insurance entities against risks other than risks associated with production (which are allocated to cost of sales)."
       }
      }
     },
     "auth_ref": [
      "r142"
     ]
    },
    "us-gaap_Goodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Goodwill",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets",
      "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill (Note 8)",
        "verboseLabel": "Goodwill",
        "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r217",
      "r343",
      "r551",
      "r729",
      "r746",
      "r891",
      "r892"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/GoodwillAndIntangibleAssets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "GOODWILL AND INTANGIBLE ASSETS",
        "documentation": "The entire disclosure for goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r156"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillAndIntangibleAssetsPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets",
        "documentation": "Disclosure of accounting policy for goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r69"
     ]
    },
    "us-gaap_GrossProfit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GrossProfit",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Gross profit",
        "label": "Gross Profit",
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity."
       }
      }
     },
     "auth_ref": [
      "r139",
      "r255",
      "r291",
      "r305",
      "r311",
      "r314",
      "r333",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r503",
      "r727",
      "r896"
     ]
    },
    "dei_IcfrAuditorAttestationFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "IcfrAuditorAttestationFlag",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ICFR Auditor Attestation Flag"
       }
      }
     },
     "auth_ref": [
      "r771",
      "r773",
      "r786"
     ]
    },
    "us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ImpairmentEffectsOnEarningsPerShareLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Impairment Effects on Earnings Per Share [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ImpairmentEffectsOnEarningsPerShareTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ImpairmentEffectsOnEarningsPerShareTable",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Impairment Effects on Earnings Per Share [Table]",
        "documentation": "Disclosure of information about the effects of asset impairment charge on per share or per unit basis."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Impairment of Long-Lived Assets",
        "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."
       }
      }
     },
     "auth_ref": [
      "r0",
      "r162"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_ProfitLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails",
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Income before income tax",
        "label": "Income before tax",
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r1",
      "r136",
      "r186",
      "r291",
      "r305",
      "r311",
      "r314",
      "r556",
      "r570",
      "r727"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxAuthorityNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxAuthorityNameAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/IncomePerShareDetailsNarrative",
      "http://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails",
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Authority, Name [Axis]",
        "documentation": "Information by name of taxing authority."
       }
      }
     },
     "auth_ref": [
      "r19"
     ]
    },
    "us-gaap_IncomeTaxAuthorityNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxAuthorityNameDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/IncomePerShareDetailsNarrative",
      "http://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails",
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Named agency, division or body that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxDisclosureTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/IncomeTaxes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "INCOME TAXES",
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information."
       }
      }
     },
     "auth_ref": [
      "r256",
      "r459",
      "r466",
      "r467",
      "r472",
      "r477",
      "r482",
      "r483",
      "r484",
      "r612"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails",
      "http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails",
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total",
        "label": "Total income tax expense (recovery)",
        "verboseLabel": "Current and deferred income tax expense",
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r189",
      "r204",
      "r269",
      "r270",
      "r299",
      "r464",
      "r478",
      "r579"
     ]
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Taxes",
        "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."
       }
      }
     },
     "auth_ref": [
      "r235",
      "r460",
      "r461",
      "r467",
      "r468",
      "r471",
      "r473",
      "r606"
     ]
    },
    "us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Change in valuation allowance",
        "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."
       }
      }
     },
     "auth_ref": [
      "r903"
     ]
    },
    "us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxReconciliationForeignIncomeTaxRateDifferential",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign tax rate difference",
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to foreign income tax expense (benefit)."
       }
      }
     },
     "auth_ref": [
      "r903"
     ]
    },
    "us-gaap_IncomeTaxReconciliationNondeductibleExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxReconciliationNondeductibleExpense",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-deductible items",
        "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 nondeductible expenses."
       }
      }
     },
     "auth_ref": [
      "r903"
     ]
    },
    "us-gaap_IncomeTaxReconciliationOtherAdjustments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxReconciliationOtherAdjustments",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Change in estimates and other",
        "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 other adjustments."
       }
      }
     },
     "auth_ref": [
      "r903"
     ]
    },
    "FSI_IncomeTaxRecovery": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "IncomeTaxRecovery",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails": {
       "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Income tax recovery",
        "verboseLabel": "Current income tax expense",
        "documentation": "Income tax recovery.",
        "label": "IncomeTaxRecovery"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxesPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income taxes paid",
        "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."
       }
      }
     },
     "auth_ref": [
      "r54"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsPayableAndAccruedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 14.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (decrease) in accounts payable and accrued liabilities",
        "documentation": "The increase (decrease) during the reporting period in the amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not paid."
       }
      }
     },
     "auth_ref": [
      "r11"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Increase in accounts receivable",
        "label": "Increase (Decrease) in Accounts Receivable",
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services."
       }
      }
     },
     "auth_ref": [
      "r11"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccruedIncomeTaxesPayable",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 15.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Decrease in income taxes payable",
        "documentation": "The increase (decrease) during the period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r11"
     ]
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInContractWithCustomerLiability",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 16.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "(Decrease) increase in deferred revenue",
        "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r534",
      "r873"
     ]
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInInventories",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Decrease (increase) in inventories",
        "label": "Increase (Decrease) in Inventories",
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities."
       }
      }
     },
     "auth_ref": [
      "r11"
     ]
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changes in non-cash working capital items:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInPrepaidExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInPrepaidExpense",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Decrease (increase) in prepaid expenses and deposits",
        "label": "Increase (Decrease) in Prepaid Expense",
        "documentation": "The increase (decrease) during the reporting period in the amount of outstanding money paid in advance for goods or services that bring economic benefits for future periods."
       }
      }
     },
     "auth_ref": [
      "r11"
     ]
    },
    "FSI_IncreaseDecreaseInSharePercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "IncreaseDecreaseInSharePercentage",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase decrease in share percentage",
        "documentation": "Increase decrease in share percentage."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IndefiniteLivedIntangibleAssetsExcludingGoodwill",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Indefinite lived intangible assets",
        "periodStartLabel": "Indefinite lived intangible assets, beginning balance",
        "periodEndLabel": "Indefinite lived intangible assets, ending balance",
        "documentation": "Amount of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit."
       }
      }
     },
     "auth_ref": [
      "r159"
     ]
    },
    "ecd_IndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "IndividualAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Individual [Axis]"
       }
      }
     },
     "auth_ref": [
      "r785",
      "r794",
      "r804",
      "r821",
      "r830",
      "r834",
      "r842"
     ]
    },
    "ecd_InsiderTradingArrLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTradingArrLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Arrangements [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r840"
     ]
    },
    "ecd_InsiderTradingPoliciesProcLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTradingPoliciesProcLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r774",
      "r846"
     ]
    },
    "ecd_InsiderTrdPoliciesProcAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTrdPoliciesProcAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures Adopted [Flag]"
       }
      }
     },
     "auth_ref": [
      "r774",
      "r846"
     ]
    },
    "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r774",
      "r846"
     ]
    },
    "us-gaap_IntangibleAssetsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IntangibleAssetsDisclosureTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/Patents"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PATENTS",
        "documentation": "The entire disclosure for all or part of the information related to intangible assets."
       }
      }
     },
     "auth_ref": [
      "r353"
     ]
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible assets (Note 8)",
        "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges."
       }
      }
     },
     "auth_ref": [
      "r70",
      "r73"
     ]
    },
    "us-gaap_InterestExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestExpense",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails",
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest expense",
        "documentation": "Amount of the cost of borrowed funds accounted for as interest expense."
       }
      }
     },
     "auth_ref": [
      "r114",
      "r188",
      "r239",
      "r295",
      "r516",
      "r666",
      "r757",
      "r932"
     ]
    },
    "us-gaap_InterestExpenseDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestExpenseDebt",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest expense debt",
        "documentation": "Amount of the cost of borrowed funds accounted for as interest expense for debt."
       }
      }
     },
     "auth_ref": [
      "r145",
      "r387",
      "r391",
      "r733",
      "r734"
     ]
    },
    "us-gaap_InterestIncomeOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestIncomeOther",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest income",
        "documentation": "Amount of interest income earned from interest bearing assets classified as other."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InterestPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest paid",
        "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount."
       }
      }
     },
     "auth_ref": [
      "r246",
      "r249",
      "r250"
     ]
    },
    "us-gaap_InternalRevenueServiceIRSMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InternalRevenueServiceIRSMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Internal Revenue Service (IRS) [Member]",
        "documentation": "Designated tax department of the United States of America government entitled to levy and collect income taxes from the entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryDisclosureTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/Inventories"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "INVENTORIES",
        "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory."
       }
      }
     },
     "auth_ref": [
      "r338"
     ]
    },
    "us-gaap_InventoryFinishedGoods": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryFinishedGoods",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfInventoryDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfInventoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Completed goods",
        "documentation": "Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r862"
     ]
    },
    "us-gaap_InventoryNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryNet",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 4.0
      },
      "http://flexiblesolutions.com/role/ScheduleOfInventoryDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets",
      "http://flexiblesolutions.com/role/ScheduleOfInventoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventories (Note 5)",
        "totalLabel": "Total inventory",
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r228",
      "r722",
      "r746"
     ]
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventories and Cost of Sales",
        "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."
       }
      }
     },
     "auth_ref": [
      "r193",
      "r214",
      "r227",
      "r338",
      "r339",
      "r340",
      "r535",
      "r724"
     ]
    },
    "us-gaap_InventoryRawMaterialsAndSupplies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryRawMaterialsAndSupplies",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfInventoryDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfInventoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Raw materials and supplies",
        "documentation": "Gross amount of unprocessed materials to be used in manufacturing or production process and supplies that will be consumed."
       }
      }
     },
     "auth_ref": [
      "r863"
     ]
    },
    "FSI_InvestmentEliminatedUponConsolidation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "InvestmentEliminatedUponConsolidation",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails",
      "http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Less investment eliminated upon consolidation",
        "verboseLabel": "Investment eliminated upon consolidation",
        "documentation": "Investment eliminated upon consolidation."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_InvestmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "InvestmentMember",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment [Member]",
        "documentation": "Investment [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Investments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Investments",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all investments."
       }
      }
     },
     "auth_ref": [
      "r558"
     ]
    },
    "FSI_InvestorRelationsAndTransferAgentFee": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "InvestorRelationsAndTransferAgentFee",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investor relations and transfer agent fee",
        "documentation": "Investor relations aand transfer agent fee."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LandMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LandMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Land [Member]",
        "documentation": "Part of earth's surface not covered by water."
       }
      }
     },
     "auth_ref": [
      "r900"
     ]
    },
    "FSI_LeaseInterestExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "LeaseInterestExpense",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease interest expense",
        "documentation": "Lease interest expense."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_LeaseRightOfUseFinancing": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "LeaseRightOfUseFinancing",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease right of use financing",
        "documentation": "Lease right of use financing."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LeaseholdImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeaseholdImprovementsMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leasehold Improvements [Member]",
        "documentation": "Additions or improvements to assets held under a lease arrangement."
       }
      }
     },
     "auth_ref": [
      "r161"
     ]
    },
    "dei_LegalEntityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "LegalEntityAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/InvestmentsTables",
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails",
      "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails",
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Legal Entity [Axis]",
        "documentation": "The set of legal entities associated with a report."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeOperatingLeaseDiscountRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseDiscountRate",
     "presentation": [
      "http://flexiblesolutions.com/role/LeasesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating leases discount rate",
        "documentation": "Discount rate used by lessee to determine present value of operating lease payments."
       }
      }
     },
     "auth_ref": [
      "r744"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/LeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF UNDISCOUNTED RENT PAYMENTS",
        "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position."
       }
      }
     },
     "auth_ref": [
      "r912"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfUndiscountedRentPaymentsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfUndiscountedRentPaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total",
        "label": "Lessee, Operating Lease, Liability, to be Paid",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease."
       }
      }
     },
     "auth_ref": [
      "r525"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfUndiscountedRentPaymentsDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfUndiscountedRentPaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2024",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r525"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfUndiscountedRentPaymentsDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfUndiscountedRentPaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2025",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r525"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfUndiscountedRentPaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Impact of discounting",
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease."
       }
      }
     },
     "auth_ref": [
      "r525"
     ]
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeasesTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/Leases"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "LEASES",
        "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r518"
     ]
    },
    "us-gaap_Liabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Liabilities",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total Liabilities",
        "label": "Liabilities [Default Label]",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r255",
      "r333",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r488",
      "r491",
      "r492",
      "r503",
      "r639",
      "r726",
      "r759",
      "r896",
      "r915",
      "r916"
     ]
    },
    "us-gaap_LiabilitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Liabilities and Stockholders\u2019 Equity",
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any."
       }
      }
     },
     "auth_ref": [
      "r130",
      "r183",
      "r566",
      "r746",
      "r877",
      "r889",
      "r909"
     ]
    },
    "us-gaap_LiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total current liabilities",
        "label": "Liabilities, Current",
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r37",
      "r213",
      "r255",
      "r333",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r488",
      "r491",
      "r492",
      "r503",
      "r746",
      "r896",
      "r915",
      "r916"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrentAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Current"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditFacilityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lender Name [Axis]",
        "documentation": "Information by name of lender, which may be a single entity (for example, but not limited to, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit."
       }
      }
     },
     "auth_ref": [
      "r32",
      "r876"
     ]
    },
    "us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityCurrentBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility, Current Borrowing Capacity",
        "documentation": "Amount of current borrowing capacity under the credit facility considering any current restrictions on the amount that could be borrowed (for example, borrowings may be limited by the amount of current assets), but without considering any amounts currently outstanding under the facility."
       }
      }
     },
     "auth_ref": [
      "r32"
     ]
    },
    "us-gaap_LineOfCreditFacilityLenderDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityLenderDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identification of the lender, which may be a single entity (for example, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit, including a letter of credit facility."
       }
      }
     },
     "auth_ref": [
      "r32",
      "r876"
     ]
    },
    "us-gaap_LineOfCreditFacilityLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r876"
     ]
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate amount of revolving line of credit",
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility."
       }
      }
     },
     "auth_ref": [
      "r32"
     ]
    },
    "us-gaap_LineOfCreditFacilityTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityTable",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility [Table]",
        "documentation": "A table or schedule providing information pertaining to short-term or long-term contractual arrangements with lenders, including letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line."
       }
      }
     },
     "auth_ref": [
      "r32",
      "r876"
     ]
    },
    "us-gaap_LinesOfCreditCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LinesOfCreditCurrent",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets",
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short term line of credit (Note 11)",
        "verboseLabel": "Line of credit",
        "documentation": "The carrying value as of the balance sheet date of the current 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."
       }
      }
     },
     "auth_ref": [
      "r122",
      "r180"
     ]
    },
    "FSI_LoanGuaranteedRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "LoanGuaranteedRate",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Loan guaranteed rate",
        "documentation": "Loan guaranteed rate."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LoansPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LoansPayable",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "First mortgage",
        "documentation": "Including the current and noncurrent portions, aggregate carrying value as of the balance sheet date of loans payable (with maturities initially due after one year or beyond the operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r29",
      "r181",
      "r926"
     ]
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermDebt",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Balance, beginning of period",
        "periodEndLabel": "Balance, end of period",
        "label": "Long-term debt",
        "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation."
       }
      }
     },
     "auth_ref": [
      "r29",
      "r181",
      "r381",
      "r390",
      "r731",
      "r732",
      "r926"
     ]
    },
    "us-gaap_LongTermDebtCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermDebtCurrent",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets",
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current portion of long term debt (Note 12)",
        "negatedLabel": "Less: current portion",
        "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as current. Excludes lease obligation."
       }
      }
     },
     "auth_ref": [
      "r220"
     ]
    },
    "us-gaap_LongTermDebtNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermDebtNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets",
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long term debt (Note 12)",
        "verboseLabel": "Long-term debt non current",
        "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation."
       }
      }
     },
     "auth_ref": [
      "r221"
     ]
    },
    "us-gaap_LongTermDebtTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermDebtTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebt"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "LONG TERM DEBT",
        "documentation": "The entire disclosure for long-term debt."
       }
      }
     },
     "auth_ref": [
      "r163"
     ]
    },
    "FSI_LongTermDepositsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "LongTermDepositsTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDeposits"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "LONG TERM DEPOSITS",
        "documentation": "Long term deposits [Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_LygosIncMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "LygosIncMember",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lygos Inc [Member]",
        "documentation": "Lygos Inc [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MachineryAndEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MachineryAndEquipmentMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Machinery and Equipment [Member]",
        "documentation": "Tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment."
       }
      }
     },
     "auth_ref": []
    },
    "srt_MajorCustomersAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MajorCustomersAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Axis]"
       }
      }
     },
     "auth_ref": [
      "r320",
      "r738",
      "r899",
      "r928",
      "r929"
     ]
    },
    "srt_MaximumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MaximumMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails",
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]"
       }
      }
     },
     "auth_ref": [
      "r361",
      "r362",
      "r363",
      "r364",
      "r419",
      "r533",
      "r597",
      "r631",
      "r632",
      "r688",
      "r690",
      "r692",
      "r693",
      "r695",
      "r717",
      "r718",
      "r728",
      "r735",
      "r739",
      "r748",
      "r898",
      "r917",
      "r918",
      "r919",
      "r920",
      "r921",
      "r922"
     ]
    },
    "ecd_MeasureAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MeasureAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measure [Axis]"
       }
      }
     },
     "auth_ref": [
      "r813"
     ]
    },
    "ecd_MeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measure Name"
       }
      }
     },
     "auth_ref": [
      "r813"
     ]
    },
    "FSI_MendotaLLCMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "MendotaLLCMember",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "317 Mendota LLC [Member]",
        "documentation": "317 Mendota LLC [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_MendotaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "MendotaMember",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Mendota [Member]",
        "documentation": "Mendota [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_MidlandBankMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "MidlandBankMember",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Midland Bank [Member]",
        "documentation": "Midland Bank [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_MidlandStatesBankMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "MidlandStatesBankMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails",
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Midland States Bank [Member]",
        "documentation": "Midland States Bank [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_MidlandStatesBankOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "MidlandStatesBankOneMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Midland States Bank One [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_MinimumInterestPenalty": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "MinimumInterestPenalty",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum interest penalty"
       }
      }
     },
     "auth_ref": []
    },
    "srt_MinimumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MinimumMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails",
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]"
       }
      }
     },
     "auth_ref": [
      "r361",
      "r362",
      "r363",
      "r364",
      "r419",
      "r533",
      "r597",
      "r631",
      "r632",
      "r688",
      "r690",
      "r692",
      "r693",
      "r695",
      "r717",
      "r718",
      "r728",
      "r735",
      "r739",
      "r748",
      "r898",
      "r917",
      "r918",
      "r919",
      "r920",
      "r921",
      "r922"
     ]
    },
    "us-gaap_MinorityInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MinorityInterest",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets",
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-controlling interests (Note 17)",
        "periodStartLabel": "Distribution to noncontrolling interests, Beginning balance",
        "periodEndLabel": "Distribution to noncontrolling interests, Ending balance",
        "documentation": "Amount of equity (deficit) attributable to noncontrolling interest. Excludes temporary equity."
       }
      }
     },
     "auth_ref": [
      "r41",
      "r182",
      "r255",
      "r333",
      "r365",
      "r367",
      "r368",
      "r369",
      "r372",
      "r373",
      "r503",
      "r565",
      "r642"
     ]
    },
    "us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Distributions to noncontrolling interests",
        "negatedTerseLabel": "Distribution",
        "label": "Noncontrolling Interest, Decrease from Distributions to Noncontrolling Interest Holders",
        "documentation": "Decrease in noncontrolling interest balance from payment of dividends or other distributions by the non-wholly owned subsidiary or partially owned entity, included in the consolidation of the parent entity, to the noncontrolling interest holders."
       }
      }
     },
     "auth_ref": [
      "r167"
     ]
    },
    "us-gaap_MinorityInterestDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MinorityInterestDisclosureTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/Non-controllingInterests"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "NON-CONTROLLING INTERESTS",
        "documentation": "The entire disclosure for noncontrolling interest in consolidated subsidiaries, which could include the name of the subsidiary, the ownership percentage held by the parent, the ownership percentage held by the noncontrolling owners, the amount of the noncontrolling interest, the location of this amount on the balance sheet (when not reported separately), an explanation of the increase or decrease in the amount of the noncontrolling interest, the noncontrolling interest share of the net Income or Loss of the subsidiary, the location of this amount on the income statement (when not reported separately), the nature of the noncontrolling interest such as background information and terms, the amount of the noncontrolling interest represented by preferred stock, a description of the preferred stock, and the dividend requirements of the preferred stock."
       }
      }
     },
     "auth_ref": [
      "r176"
     ]
    },
    "us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MinorityInterestOwnershipPercentageByNoncontrollingOwners",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noncontrolling interest percentage",
        "verboseLabel": "Non-controlling interest percentage",
        "documentation": "The equity interest of noncontrolling shareholders, partners or other equity holders in consolidated entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MinorityInterestOwnershipPercentageByParent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MinorityInterestOwnershipPercentageByParent",
     "presentation": [
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related party owner ship percentage",
        "documentation": "The parent entity's interest in net assets of the subsidiary, expressed as a percentage."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_MnpiDiscTimedForCompValFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MnpiDiscTimedForCompValFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "MNPI Disclosure Timed for Compensation Value [Flag]"
       }
      }
     },
     "auth_ref": [
      "r833"
     ]
    },
    "ecd_MtrlTermsOfTrdArrTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MtrlTermsOfTrdArrTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Terms of Trading Arrangement"
       }
      }
     },
     "auth_ref": [
      "r841"
     ]
    },
    "srt_NameOfMajorCustomerDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "NameOfMajorCustomerDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative"
     ],
     "auth_ref": [
      "r320",
      "r738",
      "r899",
      "r928",
      "r929"
     ]
    },
    "ecd_NamedExecutiveOfficersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NamedExecutiveOfficersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Named Executive Officers, Footnote [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r814"
     ]
    },
    "FSI_NanoChemMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "NanoChemMember",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Nano Chem [Member]",
        "documentation": "Nano Chem [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_NanoChemSolutionIncMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "NanoChemSolutionIncMember",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "NanoChem Solutions Inc [Member]",
        "documentation": "NanoChem Solutions Inc [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_NanoChemSolutionsIncMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "NanoChemSolutionsIncMember",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "NanoChem Solutions Inc [Member]",
        "documentation": "NanoChem Solutions Inc [Member]",
        "label": "NanoChem Solutions Inc [Member] [Default Label]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Cash provided by (used in) financing activities",
        "label": "Net Cash Provided by (Used in) Financing Activities",
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit."
       }
      }
     },
     "auth_ref": [
      "r248"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing activities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Cash used in investing activities",
        "label": "Net Cash Provided by (Used in) Investing Activities",
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets."
       }
      }
     },
     "auth_ref": [
      "r248"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investing activities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Cash provided by operating activities",
        "label": "Net Cash Provided by (Used in) Operating Activities",
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities."
       }
      }
     },
     "auth_ref": [
      "r149",
      "r150",
      "r151"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating activities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfBasicAndDilutedLossPerShareDetails",
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails",
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net income attributable to controlling interest",
        "label": "Net Income (Loss) Attributable to Parent",
        "verboseLabel": "Net income attributable to controlling interest",
        "terseLabel": "Segment profit",
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r137",
      "r151",
      "r187",
      "r211",
      "r231",
      "r233",
      "r238",
      "r255",
      "r261",
      "r263",
      "r264",
      "r265",
      "r266",
      "r269",
      "r270",
      "r276",
      "r291",
      "r305",
      "r311",
      "r314",
      "r333",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r502",
      "r503",
      "r573",
      "r662",
      "r680",
      "r681",
      "r727",
      "r757",
      "r896"
     ]
    },
    "us-gaap_NetIncomeLossAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetIncomeLossAttributableToNoncontrollingInterest",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Net income attributable to non-controlling interests",
        "label": "Non-controlling interest share of income",
        "documentation": "Amount of Net Income (Loss) attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r104",
      "r178",
      "r231",
      "r233",
      "r269",
      "r270",
      "r572",
      "r867"
     ]
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Recent Accounting Pronouncements",
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_NewAgreementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "NewAgreementMember",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "New Agreement [Member]",
        "documentation": "New Agreement [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_NoTradingSymbolFlag": {
     "xbrltype": "trueItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "NoTradingSymbolFlag",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "No Trading Symbol Flag",
        "documentation": "Boolean flag that is true only for a security having no trading symbol."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_NonGaapMeasureDescriptionTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonGaapMeasureDescriptionTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-GAAP Measure Description [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r813"
     ]
    },
    "ecd_NonPeoNeoAvgCompActuallyPaidAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonPeoNeoAvgCompActuallyPaidAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO Average Compensation Actually Paid Amount"
       }
      }
     },
     "auth_ref": [
      "r811"
     ]
    },
    "ecd_NonPeoNeoAvgTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonPeoNeoAvgTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO Average Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r810"
     ]
    },
    "ecd_NonRule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonRule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r841"
     ]
    },
    "ecd_NonRule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonRule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r841"
     ]
    },
    "us-gaap_NoncontrollingInterestAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NoncontrollingInterestAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Noncontrolling Interest [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NoncontrollingInterestDecreaseFromDeconsolidation",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Distribution to noncontrolling interests, Non-controlling interest share of loss",
        "label": "Noncontrolling Interest, Decrease from Deconsolidation",
        "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."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r81"
     ]
    },
    "us-gaap_NoncontrollingInterestIncreaseFromBusinessCombination": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NoncontrollingInterestIncreaseFromBusinessCombination",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-controlling interest of 317 Mendota LLC",
        "documentation": "Amount of increase in noncontrolling interest from a business combination."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r81",
      "r98"
     ]
    },
    "us-gaap_NoncontrollingInterestMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NoncontrollingInterestMember",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative",
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noncontrolling Interest [Member]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r100",
      "r406",
      "r880",
      "r881",
      "r882",
      "r936"
     ]
    },
    "us-gaap_NoncurrentAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NoncurrentAssets",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Total",
        "label": "Long-Lived Assets",
        "documentation": "Long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r319"
     ]
    },
    "us-gaap_NumberOfOperatingSegments": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NumberOfOperatingSegments",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of operating segments",
        "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues."
       }
      }
     },
     "auth_ref": [
      "r885"
     ]
    },
    "us-gaap_OfficeEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OfficeEquipmentMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Office Equipment [Member]",
        "documentation": "Tangible personal property used in an office setting. Examples include, but are not limited to, computers, copiers and fax machine."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OfficersCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OfficersCompensation",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Administrative salaries and benefits",
        "documentation": "Amount of expense for salary and wage arising from service rendered by officer. Excludes allocated cost, labor-related nonsalary expense, and direct and overhead labor cost included in cost of good and service sold."
       }
      }
     },
     "auth_ref": [
      "r868"
     ]
    },
    "us-gaap_OperatingExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingExpenses",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total operating expenses",
        "label": "Operating Expenses",
        "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingExpensesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingExpensesAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating expenses"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Operating income",
        "label": "Operating Income (Loss)",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r291",
      "r305",
      "r311",
      "r314",
      "r727"
     ]
    },
    "us-gaap_OperatingLeaseExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseExpense",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease expense",
        "documentation": "Amount of operating lease expense. Excludes sublease income."
       }
      }
     },
     "auth_ref": [
      "r911"
     ]
    },
    "us-gaap_OperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiability",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfUndiscountedRentPaymentsDetails",
      "http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Lease liability, beginning balance",
        "periodEndLabel": "Lease liability, ending balance",
        "label": "Total",
        "verboseLabel": "Lease liability, December 31, 2023",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease."
       }
      }
     },
     "auth_ref": [
      "r520"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets",
      "http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current portion of lease liability (Note 3)",
        "verboseLabel": "Short-term portion",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r520"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets",
      "http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease liability (Note 3)",
        "verboseLabel": "Long-term portion",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r520"
     ]
    },
    "us-gaap_OperatingLeasePayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeasePayments",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Payments",
        "label": "Operating Lease, Payments",
        "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use."
       }
      }
     },
     "auth_ref": [
      "r522",
      "r524"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseRightOfUseAsset",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets",
      "http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Right of use assets (Note 3)",
        "periodStartLabel": "Right of use assets, beginning balance",
        "periodEndLabel": "Right of use assets, ending balance",
        "documentation": "Amount of lessee's right to use underlying asset under operating lease."
       }
      }
     },
     "auth_ref": [
      "r519"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseRightOfUseAssetAmortizationExpense",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Depreciation",
        "label": "Operating Lease, Right-of-Use Asset, Periodic Reduction",
        "documentation": "Amount of periodic reduction over lease term of carrying amount of right-of-use asset from operating lease."
       }
      }
     },
     "auth_ref": [
      "r874"
     ]
    },
    "us-gaap_OperatingLossCarryforwards": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLossCarryforwards",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Total",
        "label": "Operating loss carryforwards",
        "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws."
       }
      }
     },
     "auth_ref": [
      "r93"
     ]
    },
    "us-gaap_OperatingLossCarryforwardsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLossCarryforwardsLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/IncomePerShareDetailsNarrative",
      "http://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails",
      "http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Loss Carryforwards [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLossCarryforwardsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLossCarryforwardsTable",
     "presentation": [
      "http://flexiblesolutions.com/role/IncomePerShareDetailsNarrative",
      "http://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails",
      "http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Loss Carryforwards [Table]",
        "documentation": "Schedule reflecting pertinent information, such as tax authority, amounts, and expiration dates, of net operating loss carryforwards, including an assessment of the likelihood of utilization."
       }
      }
     },
     "auth_ref": [
      "r92"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Translation adjustment",
        "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."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r21",
      "r177"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrealized gain (loss) on foreign currency transactions",
        "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."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other comprehensive income:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherGeneralExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherGeneralExpense",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Office and miscellaneous",
        "documentation": "Amount of general expenses not normally included in Other Operating Costs and Expenses."
       }
      }
     },
     "auth_ref": [
      "r143"
     ]
    },
    "ecd_OtherPerfMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OtherPerfMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Performance Measure Amount"
       }
      }
     },
     "auth_ref": [
      "r813"
     ]
    },
    "dei_OtherReportingStandardItemNumber": {
     "xbrltype": "otherReportingStandardItemNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "OtherReportingStandardItemNumber",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Reporting Standard Item Number",
        "documentation": "\"Item 17\" or \"Item 18\" specified when the basis of accounting is neither US GAAP nor IFRS."
       }
      }
     },
     "auth_ref": [
      "r773"
     ]
    },
    "ecd_OutstandingAggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OutstandingAggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r780",
      "r792",
      "r802",
      "r828"
     ]
    },
    "ecd_OutstandingRecoveryCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OutstandingRecoveryCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Recovery Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r783",
      "r795",
      "r805",
      "r831"
     ]
    },
    "ecd_OutstandingRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OutstandingRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Recovery, Individual Name"
       }
      }
     },
     "auth_ref": [
      "r783",
      "r795",
      "r805",
      "r831"
     ]
    },
    "srt_OwnershipAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "OwnershipAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ownership [Axis]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_OwnershipDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "OwnershipDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails"
     ],
     "auth_ref": []
    },
    "FSI_OwnershipInterestPurchaseAgreementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "OwnershipInterestPurchaseAgreementMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ownership Interest Purchase Agreement [Member]",
        "documentation": "Ownership Interest Purchase Agreement [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ParentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ParentMember",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Parent [Member]",
        "documentation": "Portion of equity, or net assets, in the consolidated entity attributable, directly or indirectly, to the parent. Excludes noncontrolling interests."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PatentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PatentsMember",
     "presentation": [
      "http://flexiblesolutions.com/role/PatentsDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Patents [Member]",
        "documentation": "Exclusive legal right granted by the government to the owner of the patent to exploit an invention or a process for a period of time specified by law."
       }
      }
     },
     "auth_ref": [
      "r175"
     ]
    },
    "ecd_PayVsPerformanceDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PayVsPerformanceDisclosureLineItems",
     "auth_ref": [
      "r809"
     ]
    },
    "us-gaap_PaymentsForProceedsFromDepositOnLoan": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsForProceedsFromDepositOnLoan",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less: Payments on loan",
        "label": "Payments for (Proceeds from) Deposit on Loan",
        "documentation": "The net cash inflow or outflow from resulting from payment, receipt or drawdown of cash deposit to guarantee a loan during the period."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r52"
     ]
    },
    "us-gaap_PaymentsOfDividends": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsOfDividends",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Dividends paid",
        "label": "Payments of Dividends",
        "documentation": "Cash outflow in the form of capital distributions and dividends to common shareholders, preferred shareholders and noncontrolling interests."
       }
      }
     },
     "auth_ref": [
      "r49"
     ]
    },
    "us-gaap_PaymentsOfFinancingCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsOfFinancingCosts",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Lease payments",
        "label": "Payments of Financing Costs",
        "documentation": "The cash outflow for loan and debt issuance costs."
       }
      }
     },
     "auth_ref": [
      "r48"
     ]
    },
    "us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquireBusinessesAndInterestInAffiliates",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Distribution to noncontrolling interests, Acquisition",
        "documentation": "The cash outflow associated with the acquisition of a controlling interest in another entity or an entity that is related to it but not strictly controlled (for example, an unconsolidated subsidiary, affiliate, joint venture or equity method investment)."
       }
      }
     },
     "auth_ref": [
      "r46"
     ]
    },
    "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Acquisition of ENP Peru, LLC",
        "label": "Payments to Acquire Businesses, Net of Cash Acquired",
        "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase."
       }
      }
     },
     "auth_ref": [
      "r46"
     ]
    },
    "us-gaap_PaymentsToAcquireInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquireInvestments",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Purchase of investments",
        "label": "Payments to Acquire Investments",
        "documentation": "The cash outflow associated with the purchase of all investments (debt, security, other) during the period."
       }
      }
     },
     "auth_ref": [
      "r147"
     ]
    },
    "FSI_PaymentsToAcquireLongTermDeposits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "PaymentsToAcquireLongTermDeposits",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Long term deposits",
        "documentation": "Payments to acquire long term deposits.",
        "label": "PaymentsToAcquireLongTermDeposits"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails",
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Purchase of property and equipment",
        "negatedTerseLabel": "Expenditures for segment assets",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets."
       }
      }
     },
     "auth_ref": [
      "r148"
     ]
    },
    "us-gaap_PaymentsToMinorityShareholders": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToMinorityShareholders",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative",
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Distribution to non-controlling interest",
        "label": "Partnership distribution to non-controlling interest",
        "documentation": "Amount of cash outflow to a noncontrolling interest. Includes, but not limited to, reduction of noncontrolling interest ownership. Excludes dividends paid to the noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r48"
     ]
    },
    "ecd_PeerGroupIssuersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeerGroupIssuersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Peer Group Issuers, Footnote [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r812"
     ]
    },
    "ecd_PeerGroupTotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeerGroupTotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Peer Group Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r812"
     ]
    },
    "ecd_PeoActuallyPaidCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeoActuallyPaidCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Actually Paid Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r811"
     ]
    },
    "ecd_PeoName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeoName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Name"
       }
      }
     },
     "auth_ref": [
      "r814"
     ]
    },
    "ecd_PeoTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeoTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r810"
     ]
    },
    "FSI_PercentageOfForeignAccountsReceivableOfInventory": {
     "xbrltype": "percentItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "PercentageOfForeignAccountsReceivableOfInventory",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Percentage of foreign accounts receivable of inventory",
        "documentation": "Percentage of foreign accounts receivable of inventory."
       }
      }
     },
     "auth_ref": []
    },
    "dei_PreCommencementIssuerTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "PreCommencementIssuerTenderOffer",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pre-commencement Issuer Tender Offer",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r767"
     ]
    },
    "dei_PreCommencementTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "PreCommencementTenderOffer",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pre-commencement Tender Offer",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r768"
     ]
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockParOrStatedValuePerShare",
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred stock, par value",
        "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer."
       }
      }
     },
     "auth_ref": [
      "r124",
      "r393"
     ]
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesAuthorized",
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred stock, shares authorized",
        "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r124",
      "r640"
     ]
    },
    "us-gaap_PreferredStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesIssued",
     "presentation": [
      "http://flexiblesolutions.com/role/IncomePerShareDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred stock, shares issued",
        "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt."
       }
      }
     },
     "auth_ref": [
      "r124",
      "r393"
     ]
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesOutstanding",
     "presentation": [
      "http://flexiblesolutions.com/role/IncomePerShareDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred stock, shares outstanding",
        "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased."
       }
      }
     },
     "auth_ref": [
      "r124",
      "r640",
      "r660",
      "r936",
      "r937"
     ]
    },
    "us-gaap_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Allowance for Doubtful Accounts",
        "documentation": "Disclosure of accounting policy for determining the estimated allowance for doubtful accounts for premium amounts due from policyholders, insureds, and other insurance entities. May include factors that management considered, such as historical loss experience and current economic and competitive conditions."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PrepaidExpenseCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PrepaidExpenseCurrent",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid expenses and deposits",
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits within a future period of one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r229",
      "r341",
      "r342",
      "r723"
     ]
    },
    "us-gaap_PrimeRateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PrimeRateMember",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prime Rate [Member]",
        "documentation": "Interest rate charged by financial institutions to their most creditworthy borrowers."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromBankDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromBankDebt",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plus: Proceeds from loans",
        "documentation": "The cash inflow from bank borrowing during the year."
       }
      }
     },
     "auth_ref": [
      "r47"
     ]
    },
    "us-gaap_ProceedsFromIssuanceOfCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromIssuanceOfCommonStock",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock issued",
        "documentation": "The cash inflow from the additional capital contribution to the entity."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "us-gaap_ProceedsFromIssuanceOfLongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromIssuanceOfLongTermDebt",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds of long term debt",
        "documentation": "The cash inflow from a debt initially having maturity due after one year or beyond the operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r47",
      "r607"
     ]
    },
    "FSI_ProceedsFromLoanAcquiredFromAcquisition": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "ProceedsFromLoanAcquiredFromAcquisition",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plus: Loan acquired with acquisition of ENP Peru",
        "documentation": "Proceeds from loan acquired from acquisition."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ProceedsFromNoncontrollingInterestOfMendota": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "ProceedsFromNoncontrollingInterestOfMendota",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-controlling interest of 317 Mendota"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ProceedsFromRedemptionOfInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "ProceedsFromRedemptionOfInvestments",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Redemption of investments",
        "documentation": "Proceeds from redemption of investments."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromRepaymentsOfLinesOfCredit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromRepaymentsOfLinesOfCredit",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "(Repayment) advance of short term line of credit",
        "documentation": "The net cash inflow or cash outflow 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 either short term or long term maturity that is collateralized (backed by pledge, mortgage or other lien in the entity's assets)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromSaleOfEquityMethodInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromSaleOfEquityMethodInvestments",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Distributions received from equity investments",
        "documentation": "The cash inflow associated with the sale of 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."
       }
      }
     },
     "auth_ref": [
      "r45"
     ]
    },
    "us-gaap_ProceedsFromSaleOfProductiveAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromSaleOfProductiveAssets",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from sale of asset",
        "documentation": "The cash inflow from the sale of property, plant and equipment (capital expenditures), software, and other intangible assets."
       }
      }
     },
     "auth_ref": [
      "r146"
     ]
    },
    "us-gaap_ProductInformationLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductInformationLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Information [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "srt_ProductOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ProductOrServiceAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails",
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]"
       }
      }
     },
     "auth_ref": [
      "r316",
      "r536",
      "r591",
      "r592",
      "r593",
      "r594",
      "r595",
      "r596",
      "r720",
      "r736",
      "r747",
      "r856",
      "r894",
      "r895",
      "r899",
      "r928"
     ]
    },
    "srt_ProductsAndServicesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ProductsAndServicesDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails",
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "auth_ref": [
      "r316",
      "r536",
      "r591",
      "r592",
      "r593",
      "r594",
      "r595",
      "r596",
      "r720",
      "r736",
      "r747",
      "r856",
      "r894",
      "r895",
      "r899",
      "r928"
     ]
    },
    "us-gaap_ProfessionalFees": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProfessionalFees",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Professional fees",
        "documentation": "A fee charged for services from professionals such as doctors, lawyers and accountants. The term is often expanded to include other professions, for example, pharmacists charging to maintain a medicinal profile of a client or customer."
       }
      }
     },
     "auth_ref": [
      "r757",
      "r933",
      "r934"
     ]
    },
    "us-gaap_ProfitLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProfitLoss",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      },
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows",
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome",
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net income for the year",
        "label": "Net income",
        "verboseLabel": "Net income for the year",
        "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r211",
      "r231",
      "r233",
      "r247",
      "r255",
      "r261",
      "r269",
      "r270",
      "r291",
      "r305",
      "r311",
      "r314",
      "r333",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r486",
      "r489",
      "r490",
      "r502",
      "r503",
      "r556",
      "r571",
      "r614",
      "r662",
      "r680",
      "r681",
      "r727",
      "r742",
      "r743",
      "r758",
      "r867",
      "r896"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Lived Tangible Asset [Axis]",
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r14"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentDisclosureTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholds"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PROPERTY, EQUIPMENT AND LEASEHOLDS",
        "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections."
       }
      }
     },
     "auth_ref": [
      "r160",
      "r198",
      "r201",
      "r202"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentGross",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost",
        "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."
       }
      }
     },
     "auth_ref": [
      "r161",
      "r215",
      "r569"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentNet",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, equipment and leaseholds, net (Note 6)",
        "verboseLabel": "Property, plant and equipment, net, total",
        "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."
       }
      }
     },
     "auth_ref": [
      "r14",
      "r557",
      "r569",
      "r746"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Equipment, Leaseholds and Intangible Assets",
        "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."
       }
      }
     },
     "auth_ref": [
      "r14",
      "r198",
      "r201",
      "r567"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS",
        "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation."
       }
      }
     },
     "auth_ref": [
      "r14"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "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."
       }
      }
     },
     "auth_ref": [
      "r161"
     ]
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProvisionForDoubtfulAccounts",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 8.0
      },
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 18.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows",
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Bad debt expense",
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r245",
      "r337"
     ]
    },
    "ecd_PvpTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PvpTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure [Table]"
       }
      }
     },
     "auth_ref": [
      "r809"
     ]
    },
    "ecd_PvpTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PvpTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance [Table Text Block]"
       }
      }
     },
     "auth_ref": [
      "r809"
     ]
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails",
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]"
       }
      }
     },
     "auth_ref": [
      "r361",
      "r362",
      "r363",
      "r364",
      "r417",
      "r419",
      "r447",
      "r448",
      "r449",
      "r532",
      "r533",
      "r597",
      "r631",
      "r632",
      "r688",
      "r690",
      "r692",
      "r693",
      "r695",
      "r717",
      "r718",
      "r728",
      "r735",
      "r739",
      "r748",
      "r751",
      "r893",
      "r898",
      "r918",
      "r919",
      "r920",
      "r921",
      "r922"
     ]
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails",
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "auth_ref": [
      "r361",
      "r362",
      "r363",
      "r364",
      "r417",
      "r419",
      "r447",
      "r448",
      "r449",
      "r532",
      "r533",
      "r597",
      "r631",
      "r632",
      "r688",
      "r690",
      "r692",
      "r693",
      "r695",
      "r717",
      "r718",
      "r728",
      "r735",
      "r739",
      "r748",
      "r751",
      "r893",
      "r898",
      "r918",
      "r919",
      "r920",
      "r921",
      "r922"
     ]
    },
    "us-gaap_RealizedInvestmentGainsLosses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RealizedInvestmentGainsLosses",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gross profit",
        "documentation": "Amount of realized gain (loss) on investment."
       }
      }
     },
     "auth_ref": [
      "r578"
     ]
    },
    "FSI_RealizedInvestmentGainsLossesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "RealizedInvestmentGainsLossesNet",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Net income",
        "documentation": "Net income.",
        "label": "RealizedInvestmentGainsLossesNet"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ReceivablesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ReceivablesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Receivables [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF REPORTABLE SEGMENTS",
        "documentation": "Tabular disclosure of all significant reconciling items in the reconciliation of total revenues from reportable segments to the entity's consolidated revenues."
       }
      }
     },
     "auth_ref": [
      "r63",
      "r64"
     ]
    },
    "ecd_RecoveryOfErrCompDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RecoveryOfErrCompDisclosureLineItems",
     "auth_ref": [
      "r775",
      "r787",
      "r797",
      "r823"
     ]
    },
    "us-gaap_RelatedPartyDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails",
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related parties include affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests."
       }
      }
     },
     "auth_ref": [
      "r418",
      "r527",
      "r528",
      "r634",
      "r635",
      "r636",
      "r637",
      "r638",
      "r659",
      "r661",
      "r687"
     ]
    },
    "us-gaap_RelatedPartyTransactionsByRelatedPartyAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionsByRelatedPartyAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails",
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party, Type [Axis]",
        "documentation": "Information by type of related party. Related parties include, but not limited to, affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests."
       }
      }
     },
     "auth_ref": [
      "r418",
      "r527",
      "r528",
      "r539",
      "r540",
      "r541",
      "r542",
      "r543",
      "r544",
      "r545",
      "r546",
      "r547",
      "r548",
      "r549",
      "r550",
      "r634",
      "r635",
      "r636",
      "r637",
      "r638",
      "r659",
      "r661",
      "r687",
      "r914"
     ]
    },
    "FSI_RemainingInvestmentOwnedPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "RemainingInvestmentOwnedPercentage",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Remaining investment owned percentage",
        "documentation": "Remaining investment owned percentage."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RepaymentsOfLongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RepaymentsOfLongTermDebt",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Repayment of long term debt",
        "label": "Repayments of Long-Term Debt",
        "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r50",
      "r610"
     ]
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResearchAndDevelopmentExpense",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Research",
        "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."
       }
      }
     },
     "auth_ref": [
      "r119",
      "r458",
      "r923"
     ]
    },
    "ecd_RestatementDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RestatementDateAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Determination Date [Axis]"
       }
      }
     },
     "auth_ref": [
      "r776",
      "r788",
      "r798",
      "r824"
     ]
    },
    "ecd_RestatementDeterminationDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RestatementDeterminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Determination Date"
       }
      }
     },
     "auth_ref": [
      "r777",
      "r789",
      "r799",
      "r825"
     ]
    },
    "ecd_RestatementDoesNotRequireRecoveryTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RestatementDoesNotRequireRecoveryTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Does Not Require Recovery [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r784",
      "r796",
      "r806",
      "r832"
     ]
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated earnings",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r127",
      "r167",
      "r564",
      "r601",
      "r603",
      "r611",
      "r641",
      "r746"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings [Member]",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r208",
      "r258",
      "r259",
      "r260",
      "r262",
      "r268",
      "r270",
      "r335",
      "r336",
      "r455",
      "r456",
      "r457",
      "r475",
      "r476",
      "r493",
      "r495",
      "r496",
      "r498",
      "r500",
      "r598",
      "r600",
      "r615",
      "r936"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails",
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative",
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sales",
        "verboseLabel": "Sale",
        "terseLabel": "Total",
        "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise."
       }
      }
     },
     "auth_ref": [
      "r292",
      "r293",
      "r304",
      "r309",
      "r310",
      "r316",
      "r318",
      "r320",
      "r415",
      "r416",
      "r536"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerMember",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from Contract with Customer Benchmark [Member]",
        "documentation": "Revenue from satisfaction of performance obligation by transferring promised product and service to customer, when it serves as benchmark in concentration of risk calculation."
       }
      }
     },
     "auth_ref": [
      "r320",
      "r854"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Recognition",
        "documentation": "Disclosure of accounting policy for revenue from contract with customer."
       }
      }
     },
     "auth_ref": [
      "r206",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411",
      "r412",
      "r413",
      "r414",
      "r719"
     ]
    },
    "us-gaap_Revenues": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Revenues",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Sales",
        "label": "Revenues",
        "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss)."
       }
      }
     },
     "auth_ref": [
      "r240",
      "r255",
      "r292",
      "r293",
      "r304",
      "r309",
      "r310",
      "r316",
      "r318",
      "r320",
      "r333",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r503",
      "r556",
      "r896"
     ]
    },
    "us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenuesFromExternalCustomersAndLongLivedAssetsLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails",
      "http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenues from External Customers and Long-Lived Assets [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevolvingCreditFacilityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevolvingCreditFacilityMember",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revolving Credit Facility [Member]",
        "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_Rule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "Rule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r841"
     ]
    },
    "ecd_Rule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "Rule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r841"
     ]
    },
    "us-gaap_SalariesAndWages": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SalariesAndWages",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Wages",
        "documentation": "Amount of expense for salary and wage arising from service rendered by nonofficer employee. Excludes allocated cost, labor-related nonsalary expense, and direct and overhead labor cost included in cost of good and service sold."
       }
      }
     },
     "auth_ref": [
      "r868"
     ]
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/IncomePerShareTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF ANTI-DILUTIVE OPTIONS",
        "documentation": "Tabular disclosure of securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive securities."
       }
      }
     },
     "auth_ref": [
      "r56"
     ]
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED",
        "documentation": "Tabular disclosure of a material business combination completed during the period, including background, timing, and recognized assets and liabilities. This table does not include leveraged buyouts."
       }
      }
     },
     "auth_ref": [
      "r95",
      "r96"
     ]
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT)",
        "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."
       }
      }
     },
     "auth_ref": [
      "r173"
     ]
    },
    "us-gaap_ScheduleOfDebtInstrumentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfDebtInstrumentsTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF OUTSTANDING BALANCE LOAN",
        "documentation": "Tabular disclosure of long-debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the entity, if longer."
       }
      }
     },
     "auth_ref": [
      "r39",
      "r79",
      "r80",
      "r112",
      "r113",
      "r115",
      "r117",
      "r165",
      "r166",
      "r731",
      "r733",
      "r879"
     ]
    },
    "us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits, by Title of Individual and by Type of Deferred Compensation [Table]",
        "documentation": "Schedule, table or text reflecting arrangements that are not equity-based payments, or pension and other postretirement benefits, with individual employees. The arrangements (for example, profit sharing, deferred bonuses or certain split-dollar life insurance arrangements) are generally based on employment contracts between the entity and one or more selected officers or key employees, and which contain a promise by the employer to pay certain amounts at designated future dates, sometimes including a period after retirement, upon compliance with stipulated requirements. This type of arrangement is distinguished from broader based employee benefit plans as it is usually tailored to the employee. Disclosure also typically includes the amount of related compensation expense recognized during the reporting period and the carrying amount as of the balance sheet date of the related liability."
       }
      }
     },
     "auth_ref": [
      "r82",
      "r168"
     ]
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF DEFERRED TAX ASSETS (LIABILITIES)",
        "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."
       }
      }
     },
     "auth_ref": [
      "r172"
     ]
    },
    "us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfDefinedBenefitPlansDisclosuresTable",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Defined Benefit Plans Disclosures [Table]",
        "documentation": "Disclosures about an individual defined benefit pension plan or an other postretirement defined benefit plan. It may be appropriate to group certain similar plans. Also includes schedule for fair value of plan assets by major categories of plan assets by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets or liabilities (Level 1), Significant other observable inputs (Level 2), and significant unobservable inputs (Level 3)."
       }
      }
     },
     "auth_ref": [
      "r16",
      "r83",
      "r84",
      "r85",
      "r86"
     ]
    },
    "FSI_ScheduleOfDistributionsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "ScheduleOfDistributionsTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/Non-controllingInterestsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF DISTRIBUTIONS",
        "documentation": "Schedule of distributions [Table Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/IncomePerShareTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF BASIC AND DILUTED LOSS PER SHARE",
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r884"
     ]
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF RECONCILIATION OF INCOME TAXES",
        "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r171"
     ]
    },
    "us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE",
        "documentation": "Tabular disclosure of the names of foreign countries in which material long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets are located, and amount of such long-lived assets located in that country or foreign geographic area."
       }
      }
     },
     "auth_ref": [
      "r68"
     ]
    },
    "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from External Customers by Products and Services [Table]",
        "documentation": "Tabular presentation of the description and amount of revenues from a product or service, or a group of similar products or similar services, reported from external customers during the period, if the information is not provided as part of the reportable operating segment information."
       }
      }
     },
     "auth_ref": [
      "r65"
     ]
    },
    "us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Revenue by Major Customers, by Reporting Segments [Table]",
        "documentation": "Tabular disclosure about the extent of the entity's reliance on its major customers."
       }
      }
     },
     "auth_ref": [
      "r154"
     ]
    },
    "srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment, Name [Axis]"
       }
      }
     },
     "auth_ref": [
      "r329",
      "r330",
      "r332"
     ]
    },
    "us-gaap_ScheduleOfEquityMethodInvestmentsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEquityMethodInvestmentsLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Equity Method Investments [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r255",
      "r329",
      "r330",
      "r332",
      "r333",
      "r503"
     ]
    },
    "us-gaap_ScheduleOfEquityMethodInvestmentsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEquityMethodInvestmentsTable",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Equity Method Investments [Table]",
        "documentation": "Summarization of information required and determined to be disclosed concerning equity method investments in common stock. The summarized information includes: (a) the name of each investee or group of investees for which combined disclosure is appropriate, (2) the percentage ownership of common stock, (3) the difference, if any, between the carrying amount of an investment and the value of the underlying equity in the net assets and the accounting treatment of difference, if any, and (4) the aggregate value of each identified investment based on its quoted market price, if available."
       }
      }
     },
     "auth_ref": [
      "r211",
      "r255",
      "r329",
      "r330",
      "r332",
      "r333",
      "r503"
     ]
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable",
     "presentation": [
      "http://flexiblesolutions.com/role/PatentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Finite-Lived Intangible Assets [Table]",
        "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r72",
      "r74",
      "r537"
     ]
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/PatentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF PATENTS",
        "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment."
       }
      }
     },
     "auth_ref": [
      "r72",
      "r74"
     ]
    },
    "us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS",
        "documentation": "Tabular disclosure of goodwill and intangible assets, which may be broken down by segment or major class."
       }
      }
     },
     "auth_ref": [
      "r69"
     ]
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/InventoriesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF INVENTORY",
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process."
       }
      }
     },
     "auth_ref": [
      "r30",
      "r131",
      "r132",
      "r133"
     ]
    },
    "FSI_ScheduleOfLoanCovenantsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "ScheduleOfLoanCovenantsTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF LOAN COVENANTS",
        "documentation": "Schedule of loan covenants [Table Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ScheduleOfLongTermDepositsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "ScheduleOfLongTermDepositsTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDepositsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF LONG TERM DEPOSITS",
        "documentation": "Schedule Of Long Term Deposits [Table Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ScheduleOfMethodOfDepreciationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "ScheduleOfMethodOfDepreciationTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF METHOD OF DEPRECIATION",
        "documentation": "Schedule Of Method Of Depreciation [Table Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/Non-controllingInterestsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION",
        "documentation": "Schedule of noncontrolling interest related to acquisition [Table Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ScheduleOfNonOperatingLossCarryforwardsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "ScheduleOfNonOperatingLossCarryforwardsTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS",
        "documentation": "Schedule of nonoperating loss carryforwards [Table Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfProductInformationTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfProductInformationTable",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Product Information [Table]",
        "documentation": "Schedule detailing quantitative information concerning products or product lines by product or product line."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfPropertyPlantAndEquipmentTable",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Table]",
        "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation."
       }
      }
     },
     "auth_ref": [
      "r14"
     ]
    },
    "us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA",
        "documentation": "Tabular disclosure of the names of foreign countries from which revenue is material and the amount of revenue from external customers attributed to those countries. An entity may also provide subtotals of geographic information about groups of countries."
       }
      }
     },
     "auth_ref": [
      "r67",
      "r138"
     ]
    },
    "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails",
      "http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]",
        "documentation": "Schedule of material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material. An entity may also provide subtotals of geographic information about groups of countries."
       }
      }
     },
     "auth_ref": [
      "r66",
      "r135"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails",
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]",
        "documentation": "Disclosure of information about share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r421",
      "r423",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r430",
      "r431",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r441",
      "r442",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447",
      "r448",
      "r449",
      "r450"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF STOCK OPTION ACTIVITIES",
        "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."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r27",
      "r88"
     ]
    },
    "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS",
        "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."
       }
      }
     },
     "auth_ref": [
      "r170"
     ]
    },
    "us-gaap_ScheduleOfShortTermDebtTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShortTermDebtTable",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Short-Term Debt [Table]",
        "documentation": "A table or schedule providing information pertaining to borrowings under which repayment was required in less than twelve months (or normal operating cycle, if longer) after its issuance. It may include: (1) description of the short-term debt arrangement; (2) identification of the lender or type of lender; (3) repayment terms; (4) weighted average interest rate; (5) carrying amount of funds borrowed under the specified short-term debt arrangement as of the balance sheet date and measures of the maximum and average amount outstanding during the period; (6) description of the refinancing of a short-term obligation when that obligation is excluded from current liabilities in the balance sheet; and (7) amount of a short-term obligation that has been excluded from current liabilities in the balance sheet because of a refinancing of the obligation."
       }
      }
     },
     "auth_ref": [
      "r33"
     ]
    },
    "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE",
        "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets."
       }
      }
     },
     "auth_ref": [
      "r74"
     ]
    },
    "FSI_SecondTermMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "SecondTermMember",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Second Term [Member]",
        "documentation": "Second Term [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Security12bTitle",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r761"
     ]
    },
    "dei_Security12gTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Security12gTitle",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(g) Security",
        "documentation": "Title of a 12(g) registered security."
       }
      }
     },
     "auth_ref": [
      "r765"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r764"
     ]
    },
    "dei_SecurityReportingObligation": {
     "xbrltype": "securityReportingObligationItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SecurityReportingObligation",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Reporting Obligation",
        "documentation": "15(d), indicating whether the security has a reporting obligation under that section of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r769"
     ]
    },
    "FSI_SegmentAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "SegmentAssets",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment assets",
        "documentation": "Segment assets."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SegmentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "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."
       }
      }
     },
     "auth_ref": [
      "r288",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r299",
      "r300",
      "r301",
      "r302",
      "r304",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r312",
      "r314",
      "r320",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r359",
      "r360",
      "r580",
      "r581",
      "r582",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r729",
      "r856",
      "r928"
     ]
    },
    "srt_SegmentGeographicalDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "SegmentGeographicalDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails",
      "http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails"
     ],
     "auth_ref": [
      "r318",
      "r319",
      "r628",
      "r629",
      "r630",
      "r689",
      "r691",
      "r694",
      "r696",
      "r708",
      "r709",
      "r710",
      "r711",
      "r712",
      "r713",
      "r714",
      "r715",
      "r716",
      "r721",
      "r737",
      "r751",
      "r899",
      "r928"
     ]
    },
    "FSI_SegmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "SegmentMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment [Member]",
        "documentation": "Segment [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SegmentReportingAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingDisclosureTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependency"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY",
        "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments."
       }
      }
     },
     "auth_ref": [
      "r287",
      "r288",
      "r289",
      "r290",
      "r291",
      "r303",
      "r308",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r320"
     ]
    },
    "us-gaap_SellingAndMarketingExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SellingAndMarketingExpense",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Advertising and promotion",
        "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensation",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock based compensation",
        "documentation": "Amount of noncash expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r11"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Volatility",
        "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."
       }
      }
     },
     "auth_ref": [
      "r447"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest rate",
        "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares."
       }
      }
     },
     "auth_ref": [
      "r449"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails",
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r421",
      "r423",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r430",
      "r431",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r441",
      "r442",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447",
      "r448",
      "r449",
      "r450"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Number of shares Exercisable, Ending Balance",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number",
        "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."
       }
      }
     },
     "auth_ref": [
      "r430"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Weighted average exercise price, Exercisable, Ending Balance",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price",
        "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."
       }
      }
     },
     "auth_ref": [
      "r430"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Number of shares, Cancelled or expired",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period",
        "documentation": "For presentations that combine terminations, 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 or that expired."
       }
      }
     },
     "auth_ref": [
      "r902"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average exercise price, Cancelled or expired",
        "documentation": "Weighted average price of options that were either forfeited or expired."
       }
      }
     },
     "auth_ref": [
      "r902"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails",
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative",
      "http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of shares, Granted",
        "verboseLabel": "Stock options granted",
        "terseLabel": "Stock option granted",
        "documentation": "Gross number of share options (or share units) granted during the period."
       }
      }
     },
     "auth_ref": [
      "r432"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average fair value of options granted",
        "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology."
       }
      }
     },
     "auth_ref": [
      "r442"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Number of shares, Beginning Balance",
        "periodEndLabel": "Number of shares Exercisable, Ending Balance",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number",
        "documentation": "Number of options outstanding, including both vested and non-vested options."
       }
      }
     },
     "auth_ref": [
      "r428",
      "r429"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Weighted average exercise price, Beginning Balance",
        "periodEndLabel": "Weighted average exercise price, Ending Balance",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price",
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan."
       }
      }
     },
     "auth_ref": [
      "r428",
      "r429"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate intrinsic value of vested options",
        "documentation": "Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest exercisable or convertible options. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r445"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r430",
      "r431",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r441",
      "r442",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447",
      "r448",
      "r449",
      "r450"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average exercise price, Exercised",
        "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares."
       }
      }
     },
     "auth_ref": [
      "r433"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average exercise price, Granted",
        "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options."
       }
      }
     },
     "auth_ref": [
      "r432"
     ]
    },
    "us-gaap_SharePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharePrice",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share price",
        "documentation": "Price of a single share of a number of saleable stocks of a company."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Options granted percentage",
        "documentation": "Percentage of vesting of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r901"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate intrinsic value of vested options exercised",
        "documentation": "Intrinsic value of vested award under share-based payment arrangement. Excludes share and unit options."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Options maximum granted term",
        "documentation": "Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r741"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Expected life - years",
        "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."
       }
      }
     },
     "auth_ref": [
      "r446"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted-average remaining contractual life",
        "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."
       }
      }
     },
     "auth_ref": [
      "r169"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vested term",
        "documentation": "Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r444"
     ]
    },
    "FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Exercise price per share, Cancelled or expired",
        "documentation": "Cancelled or expired, Exercise price per share."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Exercise price per share, Exercised",
        "documentation": "Exercised, Exercise price per share."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Exercise price per share, Granted",
        "documentation": "Exercise price per share, Granted."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Exercise price per share Exercisable, Ending Balance",
        "documentation": "Exercise price per share.",
        "label": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Exercise price per share, Beginning Balance",
        "periodEndLabel": "Exercise price per share, Ending Balance",
        "documentation": "Exercise price per share.",
        "label": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharesOutstanding",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Balance, shares",
        "periodEndLabel": "Balance, shares",
        "label": "Shares, Outstanding",
        "documentation": "Number of shares issued which are neither cancelled nor held in the treasury."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShippingAndHandlingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShippingAndHandlingMember",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shipping and Handling [Member]",
        "documentation": "Packing and transport of product."
       }
      }
     },
     "auth_ref": [
      "r900"
     ]
    },
    "FSI_ShippingCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "ShippingCost",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 16.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shipping",
        "documentation": "Shipping cost."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShortTermBorrowings": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShortTermBorrowings",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short term borrowings",
        "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."
       }
      }
     },
     "auth_ref": [
      "r121",
      "r180",
      "r746",
      "r925"
     ]
    },
    "us-gaap_ShortTermDebtLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShortTermDebtLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short-Term Debt [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShortTermDebtTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShortTermDebtTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCredit"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SHORT-TERM LINE OF CREDIT",
        "documentation": "The entire disclosure for short-term debt."
       }
      }
     },
     "auth_ref": [
      "r163"
     ]
    },
    "us-gaap_ShortTermDebtTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShortTermDebtTypeAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short-Term Debt, Type [Axis]",
        "documentation": "Information by type of short-term debt arrangement."
       }
      }
     },
     "auth_ref": [
      "r33"
     ]
    },
    "us-gaap_ShortTermDebtTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShortTermDebtTypeDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of short-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing."
       }
      }
     },
     "auth_ref": [
      "r31"
     ]
    },
    "us-gaap_ShortTermInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShortTermInvestments",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Term deposits",
        "label": "Short-Term Investments",
        "documentation": "Amount of investments including trading securities, available-for-sale securities, held-to-maturity securities, and short-term investments classified as other and current."
       }
      }
     },
     "auth_ref": [
      "r184",
      "r185",
      "r864"
     ]
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SignificantAccountingPoliciesTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SIGNIFICANT ACCOUNTING POLICIES",
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity."
       }
      }
     },
     "auth_ref": [
      "r152",
      "r252"
     ]
    },
    "FSI_SoftwareMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "SoftwareMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Software [Member]",
        "documentation": "Software [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_SolicitingMaterial": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SolicitingMaterial",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Soliciting Material",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as soliciting material pursuant to Rule 14a-12 under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r770"
     ]
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementBusinessSegmentsAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segments [Axis]",
        "documentation": "Information by business segments."
       }
      }
     },
     "auth_ref": [
      "r210",
      "r288",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r299",
      "r300",
      "r301",
      "r302",
      "r304",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r312",
      "r314",
      "r320",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r358",
      "r359",
      "r360",
      "r580",
      "r581",
      "r582",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r729",
      "r856",
      "r928"
     ]
    },
    "us-gaap_StatementClassOfStockAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementClassOfStockAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Class of Stock [Axis]",
        "documentation": "Information by the different classes of stock of the entity."
       }
      }
     },
     "auth_ref": [
      "r207",
      "r222",
      "r223",
      "r224",
      "r255",
      "r274",
      "r275",
      "r277",
      "r279",
      "r285",
      "r286",
      "r333",
      "r365",
      "r367",
      "r368",
      "r369",
      "r372",
      "r373",
      "r393",
      "r394",
      "r396",
      "r399",
      "r405",
      "r503",
      "r607",
      "r608",
      "r609",
      "r610",
      "r615",
      "r616",
      "r617",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r623",
      "r624",
      "r625",
      "r627",
      "r640",
      "r663",
      "r682",
      "r697",
      "r698",
      "r699",
      "r700",
      "r701",
      "r852",
      "r875",
      "r883"
     ]
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative",
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r40",
      "r208",
      "r236",
      "r237",
      "r238",
      "r258",
      "r259",
      "r260",
      "r262",
      "r268",
      "r270",
      "r284",
      "r335",
      "r336",
      "r406",
      "r455",
      "r456",
      "r457",
      "r475",
      "r476",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r500",
      "r509",
      "r510",
      "r511",
      "r512",
      "r513",
      "r514",
      "r526",
      "r598",
      "r599",
      "r600",
      "r615",
      "r682"
     ]
    },
    "srt_StatementGeographicalAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "StatementGeographicalAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails",
      "http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]"
       }
      }
     },
     "auth_ref": [
      "r318",
      "r319",
      "r628",
      "r629",
      "r630",
      "r689",
      "r691",
      "r694",
      "r696",
      "r704",
      "r708",
      "r709",
      "r710",
      "r711",
      "r712",
      "r713",
      "r714",
      "r715",
      "r716",
      "r721",
      "r737",
      "r751",
      "r899",
      "r928"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
      "http://flexiblesolutions.com/role/InvestmentsTables",
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails",
      "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails",
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r258",
      "r259",
      "r260",
      "r284",
      "r536",
      "r605",
      "r627",
      "r633",
      "r634",
      "r635",
      "r636",
      "r637",
      "r638",
      "r640",
      "r643",
      "r644",
      "r645",
      "r646",
      "r647",
      "r650",
      "r651",
      "r652",
      "r653",
      "r655",
      "r656",
      "r657",
      "r658",
      "r659",
      "r661",
      "r664",
      "r665",
      "r667",
      "r668",
      "r669",
      "r670",
      "r671",
      "r672",
      "r673",
      "r674",
      "r675",
      "r676",
      "r677",
      "r678",
      "r682",
      "r752"
     ]
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfCashFlowsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfFinancialPositionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfStockholdersEquityAbstract",
     "auth_ref": []
    },
    "us-gaap_StatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementTable",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
      "http://flexiblesolutions.com/role/InvestmentsTables",
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails",
      "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails",
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Table]",
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed."
       }
      }
     },
     "auth_ref": [
      "r258",
      "r259",
      "r260",
      "r284",
      "r536",
      "r605",
      "r627",
      "r633",
      "r634",
      "r635",
      "r636",
      "r637",
      "r638",
      "r640",
      "r643",
      "r644",
      "r645",
      "r646",
      "r647",
      "r650",
      "r651",
      "r652",
      "r653",
      "r655",
      "r656",
      "r657",
      "r658",
      "r659",
      "r661",
      "r664",
      "r665",
      "r667",
      "r668",
      "r669",
      "r670",
      "r671",
      "r672",
      "r673",
      "r674",
      "r675",
      "r676",
      "r677",
      "r678",
      "r682",
      "r752"
     ]
    },
    "ecd_StkPrcOrTsrEstimationMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "StkPrcOrTsrEstimationMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Price or TSR Estimation Method [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r779",
      "r791",
      "r801",
      "r827"
     ]
    },
    "FSI_StockBankMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "StockBankMember",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Bank [Member]",
        "documentation": "Stock Bank [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodSharesIssuedForServices": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesIssuedForServices",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consultant for services, shares",
        "documentation": "Number of shares issued in lieu of cash for services contributed to the entity. Number of shares includes, but is not limited to, shares issued for services contributed by vendors and founders."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodSharesNewIssues": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesNewIssues",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity",
      "http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock issued, shares",
        "verboseLabel": "Stock option issued upon exercise",
        "documentation": "Number of new stock issued during the period."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r124",
      "r125",
      "r167",
      "r607",
      "r682",
      "r698"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails",
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Number of shares, Exercised",
        "label": "Stock options exercised",
        "documentation": "Number of share options (or share units) exercised during the current period."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r124",
      "r125",
      "r167",
      "r433"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueIssuedForServices": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueIssuedForServices",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consultant for services, value",
        "documentation": "Value of stock issued in lieu of cash for services contributed to the entity. Value of the stock issued includes, but is not limited to, services contributed by vendors and founders."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodValueNewIssues": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueNewIssues",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Common stock issued",
        "label": "Stock Issued During Period, Value, New Issues",
        "documentation": "Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r124",
      "r125",
      "r167",
      "r615",
      "r682",
      "r698",
      "r758"
     ]
    },
    "FSI_StockIssuedInExchangeForServicesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "StockIssuedInExchangeForServicesPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued in Exchange for Services",
        "documentation": "Stock Issued In Exchange For Services [Policy Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_StockOptionExercisePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "StockOptionExercisePercent",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock option exercise percent",
        "documentation": "Stock option exercise percent"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockOptionPlanExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockOptionPlanExpense",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock option expense",
        "documentation": "Amount of noncash expense for option under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r12"
     ]
    },
    "FSI_StockYardAndBankMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "StockYardAndBankMember",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Yard And Bank One [Member]",
        "documentation": "Stock Yard And Bank One [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_StockYardsBankTrustFiveMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "StockYardsBankTrustFiveMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Yards Bank Trust Five [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_StockYardsBankTrustFourMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "StockYardsBankTrustFourMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Yards Bank Trust Four [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_StockYardsBankTrustMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "StockYardsBankTrustMember",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Yards Bank &amp; Trust [Member]",
        "documentation": "Stock Yards Bank Trust [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_StockYardsBankTrustOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "StockYardsBankTrustOneMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Yards Bank Trust One [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_StockYardsBankTrustThreeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "StockYardsBankTrustThreeMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Yards Bank Trust Three [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_StockYardsBankTrustTwoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "StockYardsBankTrustTwoMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Yards Bank Trust Two [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total stockholders\u2019 equity \u2013 controlling interest",
        "label": "Equity, Attributable to Parent",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r125",
      "r128",
      "r129",
      "r155",
      "r642",
      "r660",
      "r683",
      "r684",
      "r746",
      "r759",
      "r877",
      "r889",
      "r909",
      "r936"
     ]
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders\u2019 Equity"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets",
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total Stockholders\u2019 Equity",
        "periodStartLabel": "Balance",
        "periodEndLabel": "Balance",
        "label": "Equity, Including Portion Attributable to Noncontrolling Interest",
        "documentation": "Amount of equity (deficit) attributable to parent and noncontrolling interest. Excludes temporary equity."
       }
      }
     },
     "auth_ref": [
      "r100",
      "r101",
      "r103",
      "r208",
      "r209",
      "r237",
      "r258",
      "r259",
      "r260",
      "r262",
      "r268",
      "r335",
      "r336",
      "r406",
      "r455",
      "r456",
      "r457",
      "r475",
      "r476",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r500",
      "r509",
      "r510",
      "r514",
      "r526",
      "r599",
      "r600",
      "r613",
      "r642",
      "r660",
      "r683",
      "r684",
      "r702",
      "r758",
      "r877",
      "r889",
      "r909",
      "r936"
     ]
    },
    "us-gaap_StockholdersEquityNoteDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityNoteDisclosureTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStock"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "CAPITAL STOCK",
        "documentation": "The entire disclosure for equity."
       }
      }
     },
     "auth_ref": [
      "r164",
      "r254",
      "r392",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r406",
      "r499",
      "r685",
      "r686",
      "r703"
     ]
    },
    "us-gaap_SubsequentEventLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event [Line Items]",
        "documentation": "Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event."
       }
      }
     },
     "auth_ref": [
      "r515",
      "r530"
     ]
    },
    "us-gaap_SubsequentEventMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventMember",
     "presentation": [
      "http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event [Member]",
        "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r515",
      "r530"
     ]
    },
    "us-gaap_SubsequentEventTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventTable",
     "presentation": [
      "http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event [Table]",
        "documentation": "Discloses pertinent information about one or more significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued."
       }
      }
     },
     "auth_ref": [
      "r515",
      "r530"
     ]
    },
    "us-gaap_SubsequentEventTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventTypeAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event Type [Axis]",
        "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r515",
      "r530"
     ]
    },
    "us-gaap_SubsequentEventTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventTypeDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r515",
      "r530"
     ]
    },
    "us-gaap_SubsequentEventsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Events [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsequentEventsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventsTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SubsequentEvents"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SUBSEQUENT EVENTS",
        "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."
       }
      }
     },
     "auth_ref": [
      "r529",
      "r531"
     ]
    },
    "us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsidiary company ownership interest rate",
        "documentation": "The number of units or percentage investment held in the subsidiary by the limited liability company or limited partnership."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/LeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY",
        "documentation": "Summary Of Right of use Asset And Lease Liability [Table Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SupplementalCashFlowInformationAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental disclosure of cash flow information:"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TabularListTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TabularListTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tabular List [Table Text Block]"
       }
      }
     },
     "auth_ref": [
      "r820"
     ]
    },
    "us-gaap_TaxPeriodAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TaxPeriodAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tax Period [Axis]",
        "documentation": "Information about the period subject to enacted tax laws."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TaxPeriodDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TaxPeriodDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identified tax period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TaxesPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TaxesPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income taxes payable",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r34"
     ]
    },
    "us-gaap_TechnologyEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TechnologyEquipmentMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Technology Equipment [Member]",
        "documentation": "Equipment used in the creation, maintenance and utilization of information systems which include computers and peripherals."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_TermDepositsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "TermDepositsPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Term Deposits",
        "documentation": "Term Deposits [Policy Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_TermLoanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "TermLoanMember",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Term Loan [Member]",
        "documentation": "Term Loan [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ThirdTermMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "ThirdTermMember",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Third Term [Member]",
        "documentation": "Third Term [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ThreeCustomersMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "ThreeCustomersMember",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Three Customers [Member]",
        "documentation": "Three Customers [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ThreePrimaryCustomersMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "ThreePrimaryCustomersMember",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Three Primary Customers [Member]",
        "documentation": "Three Primary Customers [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_TitleOfIndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "TitleOfIndividualAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative",
      "http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of Individual [Axis]"
       }
      }
     },
     "auth_ref": [
      "r886",
      "r913"
     ]
    },
    "srt_TitleOfIndividualWithRelationshipToEntityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "TitleOfIndividualWithRelationshipToEntityDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative",
      "http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative"
     ],
     "auth_ref": []
    },
    "ecd_TotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r812"
     ]
    },
    "ecd_TotalShareholderRtnVsPeerGroupTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TotalShareholderRtnVsPeerGroupTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Shareholder Return Vs Peer Group [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r819"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "TradingSymbol",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_TrailerMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "TrailerMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trailer [Member]",
        "documentation": "Trailer [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TravelAndEntertainmentExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TravelAndEntertainmentExpense",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Travel",
        "documentation": "Expenses incurred for travel and entertainment during the period."
       }
      }
     },
     "auth_ref": [
      "r142"
     ]
    },
    "ecd_TrdArrAdoptionDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrAdoptionDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adoption Date"
       }
      }
     },
     "auth_ref": [
      "r843"
     ]
    },
    "ecd_TrdArrDuration": {
     "xbrltype": "durationItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrDuration",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Arrangement Duration"
       }
      }
     },
     "auth_ref": [
      "r844"
     ]
    },
    "ecd_TrdArrIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Name"
       }
      }
     },
     "auth_ref": [
      "r842"
     ]
    },
    "ecd_TrdArrIndTitle": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrIndTitle",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title"
       }
      }
     },
     "auth_ref": [
      "r842"
     ]
    },
    "ecd_TrdArrSecuritiesAggAvailAmt": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrSecuritiesAggAvailAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Available"
       }
      }
     },
     "auth_ref": [
      "r845"
     ]
    },
    "ecd_TrdArrTerminationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrTerminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Termination Date"
       }
      }
     },
     "auth_ref": [
      "r843"
     ]
    },
    "FSI_TrioOpportunityCorpMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "TrioOpportunityCorpMember",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trio Opportunity Corp [Member]",
        "documentation": "Trio Opportunity Corp [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_TwoThousandFourtyYearMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "TwoThousandFourtyYearMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2040 [Member]",
        "documentation": "2040 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_TwoThousandThirtyNineYearMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "TwoThousandThirtyNineYearMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2039 [Member]",
        "documentation": "2039 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_TwoThousandThirtyOneYearMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "TwoThousandThirtyOneYearMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2031 [Member]",
        "documentation": "2031 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_TwoThousandThirtySevenYearMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "TwoThousandThirtySevenYearMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2037 [Member]",
        "documentation": "2037 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_TwoThousandThirtyTaxYearMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "TwoThousandThirtyTaxYearMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2030 [Member]",
        "documentation": "2030 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_TwoThousandThirtyTwoYearMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "TwoThousandThirtyTwoYearMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2032 [Member]",
        "documentation": "2032 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TypeOfArrangementAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TypeOfArrangementAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails",
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Axis]",
        "documentation": "Information by collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations."
       }
      }
     },
     "auth_ref": [
      "r485"
     ]
    },
    "country_US": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "US",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "UNITED STATES"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_UndrlygSecurityMktPriceChngPct": {
     "xbrltype": "pureItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "UndrlygSecurityMktPriceChngPct",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Underlying Security Market Price Change, Percent"
       }
      }
     },
     "auth_ref": [
      "r839"
     ]
    },
    "FSI_UnitedStatesandAbroadMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "UnitedStatesandAbroadMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "United States and Abroad [Member]",
        "documentation": "United States and Abroad [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_UnrelatedPartyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20231231",
     "localname": "UnrelatedPartyMember",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrelated Party [Member]",
        "documentation": "Unrelated Party [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UseOfEstimates": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UseOfEstimates",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Use of Estimates",
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles."
       }
      }
     },
     "auth_ref": [
      "r60",
      "r61",
      "r62",
      "r195",
      "r196",
      "r199",
      "r200"
     ]
    },
    "us-gaap_UtilitiesOperatingExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UtilitiesOperatingExpense",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 15.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Utilities",
        "documentation": "Amount of operating expense of regulated operation."
       }
      }
     },
     "auth_ref": [
      "r141"
     ]
    },
    "us-gaap_VariableRateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VariableRateAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Variable Rate [Axis]",
        "documentation": "Information by type of variable rate."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_VariableRateDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VariableRateDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfBasicAndDilutedLossPerShareDetails",
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average number of common shares (diluted)",
        "verboseLabel": "Diluted",
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period."
       }
      }
     },
     "auth_ref": [
      "r273",
      "r279"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfBasicAndDilutedLossPerShareDetails",
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average number of common shares (basic)",
        "verboseLabel": "Basic",
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period."
       }
      }
     },
     "auth_ref": [
      "r272",
      "r279"
     ]
    },
    "dei_WrittenCommunications": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "WrittenCommunications",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Written Communications",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as written communications pursuant to Rule 425 under the Securities Act."
       }
      }
     },
     "auth_ref": [
      "r849"
     ]
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "4",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482338/360-10-05-4"
  },
  "r1": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "SubTopic": "20",
   "Topic": "940",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1"
  },
  "r2": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "7",
   "SubTopic": "30",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479637/805-30-30-7"
  },
  "r3": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "8",
   "SubTopic": "30",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479637/805-30-30-8"
  },
  "r4": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "SubTopic": "230",
   "Topic": "830",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1"
  },
  "r5": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r6": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r7": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14"
  },
  "r8": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "SubTopic": "405",
   "Topic": "942",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481071/942-405-45-2"
  },
  "r9": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-20"
  },
  "r10": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "21D",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-21D"
  },
  "r11": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r12": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r13": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "9",
   "Subparagraph": "(c)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-9"
  },
  "r14": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r15": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "825",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-1"
  },
  "r16": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "20",
   "Topic": "715",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r17": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "30",
   "Topic": "350",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r18": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "30",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1"
  },
  "r19": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15"
  },
  "r20": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)(2)",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r21": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)(3)",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r22": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c),(3)",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r23": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r24": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "SubTopic": "10",
   "Topic": "505",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2"
  },
  "r25": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "SubTopic": "10",
   "Topic": "820",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r26": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r27": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r28": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "60",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "820",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482053/820-10-60-1"
  },
  "r29": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22))",
   "SubTopic": "10",
   "Topic": "210",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r30": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1"
  },
  "r31": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r32": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19(b),22(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r33": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r34": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19,20)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r35": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r36": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.20)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r37": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.21)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r38": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.22(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r39": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.22)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r40": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r41": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.31)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r42": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14"
  },
  "r43": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A"
  },
  "r44": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-5"
  },
  "r45": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12"
  },
  "r46": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r47": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14"
  },
  "r48": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15"
  },
  "r49": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15"
  },
  "r50": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15"
  },
  "r51": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4"
  },
  "r52": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-8"
  },
  "r53": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-1"
  },
  "r54": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2"
  },
  "r55": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-3"
  },
  "r56": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r57": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2"
  },
  "r58": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18"
  },
  "r59": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-20"
  },
  "r60": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-4"
  },
  "r61": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-8"
  },
  "r62": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-9"
  },
  "r63": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r64": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31"
  },
  "r65": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40"
  },
  "r66": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "41",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r67": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r68": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r69": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r70": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-1"
  },
  "r71": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-2"
  },
  "r72": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r73": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "((a)(1),(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r74": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r75": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r76": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r77": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r78": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "460",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r79": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-3"
  },
  "r80": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-8"
  },
  "r81": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1"
  },
  "r82": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "710",
   "SubTopic": "10",
   "Section": "25",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483070/710-10-25-11"
  },
  "r83": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-2"
  },
  "r84": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-3"
  },
  "r85": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-4"
  },
  "r86": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-17"
  },
  "r87": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b),(f(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r88": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r89": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-12"
  },
  "r90": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-13"
  },
  "r91": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6"
  },
  "r92": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-3"
  },
  "r93": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-3"
  },
  "r94": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-8"
  },
  "r95": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2"
  },
  "r96": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-3"
  },
  "r97": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-1"
  },
  "r98": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-1"
  },
  "r99": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-20"
  },
  "r100": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-15"
  },
  "r101": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-16"
  },
  "r102": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-21"
  },
  "r103": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "4I",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4I"
  },
  "r104": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4J"
  },
  "r105": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4K"
  },
  "r106": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "4M",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4M"
  },
  "r107": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "820",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r108": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "820",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-3"
  },
  "r109": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-20"
  },
  "r110": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21"
  },
  "r111": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28"
  },
  "r112": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-1A"
  },
  "r113": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-2"
  },
  "r114": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3"
  },
  "r115": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482949/835-30-55-8"
  },
  "r116": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03.12)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r117": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "470",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480848/942-470-50-3"
  },
  "r118": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "825",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480981/942-825-50-1"
  },
  "r119": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "985",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1"
  },
  "r120": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//205/tableOfContent"
  },
  "r121": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r122": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r123": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r124": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r125": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r126": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r127": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r128": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r129": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(31))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r130": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(32))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r131": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r132": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r133": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r134": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11"
  },
  "r135": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r136": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r137": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r138": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r139": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r140": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r141": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.2(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r142": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r143": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r144": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.7(c),9(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r145": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.8)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r146": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12"
  },
  "r147": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r148": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r149": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24"
  },
  "r150": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25"
  },
  "r151": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r152": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "235",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//235/tableOfContent"
  },
  "r153": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "275",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//275/tableOfContent"
  },
  "r154": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "42",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42"
  },
  "r155": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 4.E)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2"
  },
  "r156": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//350/tableOfContent"
  },
  "r157": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r158": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r159": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r160": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//360/tableOfContent"
  },
  "r161": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r162": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.CC)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480091/360-10-S99-2"
  },
  "r163": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//470/tableOfContent"
  },
  "r164": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//505/tableOfContent"
  },
  "r165": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-6"
  },
  "r166": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-7"
  },
  "r167": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1"
  },
  "r168": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "710",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483043/710-10-30-1"
  },
  "r169": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r170": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r171": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r172": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r173": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r174": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r175": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "38",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38"
  },
  "r176": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//810/tableOfContent"
  },
  "r177": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19"
  },
  "r178": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r179": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r180": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r181": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r182": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r183": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r184": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r185": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r186": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r187": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r188": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04.9)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r189": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2"
  },
  "r190": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "SubTopic": "210",
   "Topic": "946",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-20"
  },
  "r191": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "SubTopic": "360",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479638/944-360-45-3"
  },
  "r192": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "SubTopic": "360",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479638/944-360-45-4"
  },
  "r193": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "270",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482989/270-10-45-6"
  },
  "r194": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "360",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479607/944-360-50-1"
  },
  "r195": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r196": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r197": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r198": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-1"
  },
  "r199": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-11"
  },
  "r200": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-12"
  },
  "r201": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-6"
  },
  "r202": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-7"
  },
  "r203": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r204": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h))",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r205": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "323",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//323/tableOfContent"
  },
  "r206": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//606/tableOfContent"
  },
  "r207": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(a)",
   "Publisher": "SEC"
  },
  "r208": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6"
  },
  "r209": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6"
  },
  "r210": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-1"
  },
  "r211": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7"
  },
  "r212": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r213": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5"
  },
  "r214": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1"
  },
  "r215": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r216": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r217": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r218": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r219": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r220": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r221": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r222": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(27)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r223": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r224": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r225": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(3)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r226": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r227": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r228": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r229": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r230": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r231": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A"
  },
  "r232": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A"
  },
  "r233": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B"
  },
  "r234": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B"
  },
  "r235": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-1"
  },
  "r236": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4"
  },
  "r237": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5"
  },
  "r238": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6"
  },
  "r239": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(210.5-03(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r240": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r241": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r242": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r243": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r244": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r245": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r246": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-17"
  },
  "r247": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-2"
  },
  "r248": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24"
  },
  "r249": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25"
  },
  "r250": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2"
  },
  "r251": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8"
  },
  "r252": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-1"
  },
  "r253": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r254": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(e)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r255": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r256": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r257": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-04(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3"
  },
  "r258": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23"
  },
  "r259": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24"
  },
  "r260": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5"
  },
  "r261": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r262": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r263": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11"
  },
  "r264": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11"
  },
  "r265": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3"
  },
  "r266": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4"
  },
  "r267": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7"
  },
  "r268": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7"
  },
  "r269": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8"
  },
  "r270": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9"
  },
  "r271": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//260/tableOfContent"
  },
  "r272": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10"
  },
  "r273": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16"
  },
  "r274": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2"
  },
  "r275": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-3"
  },
  "r276": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B"
  },
  "r277": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B"
  },
  "r278": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7"
  },
  "r279": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r280": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r281": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2"
  },
  "r282": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-3"
  },
  "r283": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15"
  },
  "r284": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1"
  },
  "r285": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-1"
  },
  "r286": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-3"
  },
  "r287": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//280/tableOfContent"
  },
  "r288": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-15"
  },
  "r289": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21"
  },
  "r290": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21"
  },
  "r291": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r292": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r293": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r294": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r295": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r296": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r297": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r298": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r299": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r300": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(j)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r301": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25"
  },
  "r302": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "25",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25"
  },
  "r303": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-26"
  },
  "r304": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r305": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r306": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r307": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r308": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31"
  },
  "r309": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r310": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r311": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r312": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r313": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r314": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r315": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "34",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-34"
  },
  "r316": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40"
  },
  "r317": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r318": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r319": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r320": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "42",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42"
  },
  "r321": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//310-10/tableOfContent"
  },
  "r322": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2"
  },
  "r323": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9"
  },
  "r324": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "42",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-42"
  },
  "r325": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "44",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-44"
  },
  "r326": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//310-20/tableOfContent"
  },
  "r327": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481664/323-10-45-1"
  },
  "r328": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r329": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r330": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r331": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r332": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r333": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r334": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r335": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4"
  },
  "r336": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5"
  },
  "r337": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r338": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//330/tableOfContent"
  },
  "r339": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-1"
  },
  "r340": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-4"
  },
  "r341": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "340",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482955/340-10-05-5"
  },
  "r342": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "340",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483032/340-10-45-1"
  },
  "r343": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-1"
  },
  "r344": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r345": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r346": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r347": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r348": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r349": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r350": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r351": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r352": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r353": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//350-30/tableOfContent"
  },
  "r354": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r355": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r356": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r357": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r358": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3"
  },
  "r359": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1"
  },
  "r360": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.P.4(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2"
  },
  "r361": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4"
  },
  "r362": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9"
  },
  "r363": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r364": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r365": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r366": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r367": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r368": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r369": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r370": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r371": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r372": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r373": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r374": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r375": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r376": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r377": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r378": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r379": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r380": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D"
  },
  "r381": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D"
  },
  "r382": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D"
  },
  "r383": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E"
  },
  "r384": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E"
  },
  "r385": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E"
  },
  "r386": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F"
  },
  "r387": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F"
  },
  "r388": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F"
  },
  "r389": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F"
  },
  "r390": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-4"
  },
  "r391": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-6"
  },
  "r392": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r393": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r394": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r395": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r396": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r397": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r398": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14"
  },
  "r399": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14"
  },
  "r400": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14"
  },
  "r401": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "16",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-16"
  },
  "r402": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18"
  },
  "r403": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18"
  },
  "r404": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18"
  },
  "r405": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2"
  },
  "r406": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1"
  },
  "r407": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-17"
  },
  "r408": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-18"
  },
  "r409": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-18"
  },
  "r410": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-19"
  },
  "r411": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20"
  },
  "r412": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20"
  },
  "r413": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20"
  },
  "r414": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20"
  },
  "r415": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4"
  },
  "r416": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5"
  },
  "r417": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r418": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(n)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r419": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5"
  },
  "r420": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//718/tableOfContent"
  },
  "r421": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-1D"
  },
  "r422": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-2"
  },
  "r423": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-3"
  },
  "r424": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r425": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r426": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r427": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r428": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r429": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r430": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r431": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r432": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r433": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r434": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r435": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r436": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r437": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r438": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r439": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r440": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r441": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r442": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r443": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r444": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r445": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r446": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r447": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r448": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r449": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r450": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(v)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r451": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r452": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r453": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r454": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(l)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r455": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r456": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r457": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r458": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "730",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482916/730-10-50-1"
  },
  "r459": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//740/tableOfContent"
  },
  "r460": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-25"
  },
  "r461": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-28"
  },
  "r462": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-4"
  },
  "r463": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6"
  },
  "r464": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10"
  },
  "r465": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r466": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-14"
  },
  "r467": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17"
  },
  "r468": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-19"
  },
  "r469": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r470": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r471": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-20"
  },
  "r472": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-21"
  },
  "r473": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r474": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r475": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r476": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r477": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r478": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r479": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r480": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r481": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r482": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 11.C)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-2"
  },
  "r483": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "270",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1"
  },
  "r484": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2"
  },
  "r485": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "808",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479402/808-10-50-1"
  },
  "r486": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19"
  },
  "r487": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25"
  },
  "r488": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25"
  },
  "r489": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r490": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r491": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3"
  },
  "r492": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3"
  },
  "r493": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r494": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r495": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r496": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r497": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r498": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(i)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r499": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-6"
  },
  "r500": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r501": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r502": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r503": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28"
  },
  "r504": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//830/tableOfContent"
  },
  "r505": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481839/830-10-45-17"
  },
  "r506": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482014/830-20-35-1"
  },
  "r507": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481956/830-20-45-1"
  },
  "r508": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481926/830-20-50-1"
  },
  "r509": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17"
  },
  "r510": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r511": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r512": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r513": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r514": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1"
  },
  "r515": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-2"
  },
  "r516": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483013/835-20-50-1"
  },
  "r517": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482900/835-30-50-1"
  },
  "r518": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//842-20/tableOfContent"
  },
  "r519": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1"
  },
  "r520": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1"
  },
  "r521": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-4"
  },
  "r522": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5"
  },
  "r523": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r524": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r525": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6"
  },
  "r526": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2"
  },
  "r527": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1"
  },
  "r528": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1"
  },
  "r529": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//855/tableOfContent"
  },
  "r530": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2"
  },
  "r531": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2"
  },
  "r532": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r533": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "910",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-6"
  },
  "r534": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482312/912-310-45-11"
  },
  "r535": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "330",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482105/912-330-50-1"
  },
  "r536": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "924",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 11.L)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1"
  },
  "r537": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483154/926-20-50-5"
  },
  "r538": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "928",
   "SubTopic": "340",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483147/928-340-50-1"
  },
  "r539": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-15"
  },
  "r540": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-15"
  },
  "r541": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-20"
  },
  "r542": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-20"
  },
  "r543": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-28"
  },
  "r544": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-28"
  },
  "r545": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "33",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-33"
  },
  "r546": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "33",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-33"
  },
  "r547": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "35A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-35A"
  },
  "r548": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "35A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-35A"
  },
  "r549": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-8"
  },
  "r550": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-8"
  },
  "r551": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r552": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r553": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r554": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(26))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r555": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(27))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r556": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1"
  },
  "r557": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1"
  },
  "r558": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(1)(h))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r559": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r560": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(15)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r561": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r562": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r563": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r564": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r565": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r566": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r567": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r568": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r569": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r570": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r571": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r572": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r573": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r574": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r575": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r576": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r577": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r578": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(3)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r579": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r580": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r581": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r582": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r583": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r584": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r585": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r586": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r587": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r588": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r589": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column J))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r590": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column K))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r591": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r592": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r593": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r594": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r595": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r596": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r597": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-7A"
  },
  "r598": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r599": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r600": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r601": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r602": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r603": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r604": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "825",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B"
  },
  "r605": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r606": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(h)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r607": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r608": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r609": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r610": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r611": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11"
  },
  "r612": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-13"
  },
  "r613": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-3"
  },
  "r614": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-3"
  },
  "r615": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4"
  },
  "r616": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-2"
  },
  "r617": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "27",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-27"
  },
  "r618": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r619": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r620": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r621": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r622": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r623": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r624": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r625": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r626": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-21"
  },
  "r627": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4"
  },
  "r628": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1"
  },
  "r629": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-2"
  },
  "r630": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r631": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r632": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r633": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r634": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r635": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r636": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r637": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r638": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r639": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r640": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(16)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r641": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r642": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r643": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r644": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r645": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r646": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r647": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r648": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r649": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(5)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r650": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r651": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r652": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r653": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r654": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r655": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r656": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r657": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r658": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r659": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2"
  },
  "r660": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2"
  },
  "r661": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3"
  },
  "r662": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7"
  },
  "r663": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483580/946-220-50-3"
  },
  "r664": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r665": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r666": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r667": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r668": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r669": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r670": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r671": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r672": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r673": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r674": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r675": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r676": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r677": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r678": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r679": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r680": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r681": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(1)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r682": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r683": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r684": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r685": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2"
  },
  "r686": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2"
  },
  "r687": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1"
  },
  "r688": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r689": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r690": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r691": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r692": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r693": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r694": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r695": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r696": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r697": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-1"
  },
  "r698": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2"
  },
  "r699": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2"
  },
  "r700": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2"
  },
  "r701": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2"
  },
  "r702": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-3"
  },
  "r703": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-6"
  },
  "r704": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479851/948-310-S99-1"
  },
  "r705": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481058/954-310-45-1"
  },
  "r706": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481027/954-310-50-2"
  },
  "r707": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "450",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480598/954-450-50-1"
  },
  "r708": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r709": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r710": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r711": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r712": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r713": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r714": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r715": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r716": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r717": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "976",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1"
  },
  "r718": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "978",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1"
  },
  "r719": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r720": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(a)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r721": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(b)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r722": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r723": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r724": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r725": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "52",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52"
  },
  "r726": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r727": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31"
  },
  "r728": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481933/310-10-55-12A"
  },
  "r729": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482548/350-20-55-24"
  },
  "r730": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r731": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B"
  },
  "r732": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C"
  },
  "r733": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69E"
  },
  "r734": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69F"
  },
  "r735": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r736": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r737": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r738": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r739": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480547/715-80-55-8"
  },
  "r740": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r741": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r742": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4J"
  },
  "r743": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4K"
  },
  "r744": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3"
  },
  "r745": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "53",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479589/842-20-55-53"
  },
  "r746": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10"
  },
  "r747": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479401/944-30-55-2"
  },
  "r748": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-29F"
  },
  "r749": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1"
  },
  "r750": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r751": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1"
  },
  "r752": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1"
  },
  "r753": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r754": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r755": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r756": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r757": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10"
  },
  "r758": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-11"
  },
  "r759": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12"
  },
  "r760": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12"
  },
  "r761": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r762": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r763": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-23"
  },
  "r764": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r765": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "g"
  },
  "r766": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12, 13, 15d"
  },
  "r767": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "13e",
   "Subsection": "4c"
  },
  "r768": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "14d",
   "Subsection": "2b"
  },
  "r769": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "15",
   "Subsection": "d"
  },
  "r770": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Section": "14a",
   "Number": "240",
   "Subsection": "12"
  },
  "r771": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-K",
   "Number": "249",
   "Section": "310"
  },
  "r772": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-Q",
   "Number": "240",
   "Section": "308",
   "Subsection": "a"
  },
  "r773": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Number": "249",
   "Section": "220",
   "Subsection": "f"
  },
  "r774": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16",
   "Subsection": "J",
   "Paragraph": "a"
  },
  "r775": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1"
  },
  "r776": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r777": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r778": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r779": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r780": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r781": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r782": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r783": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r784": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "2"
  },
  "r785": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "ii",
   "Section": "6"
  },
  "r786": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Number": "249",
   "Section": "240",
   "Subsection": "f"
  },
  "r787": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a"
  },
  "r788": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r789": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r790": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r791": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r792": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r793": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r794": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r795": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r796": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "b"
  },
  "r797": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a"
  },
  "r798": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r799": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r800": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r801": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r802": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r803": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r804": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r805": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r806": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "b"
  },
  "r807": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r808": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v"
  },
  "r809": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "1"
  },
  "r810": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "ii"
  },
  "r811": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii"
  },
  "r812": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iv"
  },
  "r813": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "vi"
  },
  "r814": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "3"
  },
  "r815": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "4"
  },
  "r816": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "i"
  },
  "r817": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "ii"
  },
  "r818": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iii"
  },
  "r819": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iv"
  },
  "r820": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6"
  },
  "r821": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6",
   "Subparagraph": "i"
  },
  "r822": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w"
  },
  "r823": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1"
  },
  "r824": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r825": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r826": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r827": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r828": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r829": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r830": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r831": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r832": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "2"
  },
  "r833": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "1"
  },
  "r834": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2"
  },
  "r835": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "A"
  },
  "r836": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "C"
  },
  "r837": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "D"
  },
  "r838": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "E"
  },
  "r839": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "F"
  },
  "r840": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a"
  },
  "r841": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "1"
  },
  "r842": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "A"
  },
  "r843": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "B"
  },
  "r844": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "C"
  },
  "r845": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "D"
  },
  "r846": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "b",
   "Paragraph": "1"
  },
  "r847": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r848": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "405"
  },
  "r849": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "425"
  },
  "r850": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "7A",
   "Section": "B",
   "Subsection": "2"
  },
  "r851": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r852": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-3"
  },
  "r853": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "323",
   "SubTopic": "740",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481543/323-740-50-2"
  },
  "r854": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18"
  },
  "r855": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "SubTopic": "825",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B"
  },
  "r856": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4H",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H"
  },
  "r857": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r858": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r859": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r860": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r861": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r862": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r863": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r864": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r865": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4"
  },
  "r866": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5"
  },
  "r867": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6"
  },
  "r868": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r869": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(7)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r870": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(9)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r871": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(b)(7)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r872": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(b)(9)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r873": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r874": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r875": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r876": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(f))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r877": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r878": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r879": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-04(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3"
  },
  "r880": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23"
  },
  "r881": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24"
  },
  "r882": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5"
  },
  "r883": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "55",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-55"
  },
  "r884": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r885": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-18"
  },
  "r886": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-13"
  },
  "r887": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-4"
  },
  "r888": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r889": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r890": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r891": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r892": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r893": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "410",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10"
  },
  "r894": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9"
  },
  "r895": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r896": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r897": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r898": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r899": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5"
  },
  "r900": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r901": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r902": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r903": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r904": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r905": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-6"
  },
  "r906": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r907": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r908": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r909": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28"
  },
  "r910": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "830",
   "SubTopic": "230",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1"
  },
  "r911": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-4"
  },
  "r912": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6"
  },
  "r913": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-2"
  },
  "r914": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-3"
  },
  "r915": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7"
  },
  "r916": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7"
  },
  "r917": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r918": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r919": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r920": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r921": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r922": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r923": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "912",
   "SubTopic": "730",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482517/912-730-25-1"
  },
  "r924": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(14)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r925": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(16)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r926": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r927": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r928": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B"
  },
  "r929": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r930": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4"
  },
  "r931": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r932": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3"
  },
  "r933": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(k)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3"
  },
  "r934": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r935": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r936": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r937": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>110
<FILENAME>0001493152-24-012435-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001493152-24-012435-xbrl.zip
M4$L#!!0    ( $.%@5ABX]8PBB\  %<= @ (    97@Q.2YH=&WM?7MOVTBR
M[_\&_!UXYV '-B [<1XSD\<)(-O*1&<=V]=V9G=P<7'1(EM23RBVADU:UG[Z
M6U7=S8<>MMN1;='N!7:22!19W>SZU;OJXY>+KT>?-C<^?NFT#^'/ /_W\:)[
M<=3Y]/&%_A.^?6&^_KA_<OAG<'[QYU'GOW_JRR1['^R]'&?!A1AQ%1SS27 F
M1RQIZ0]:P3E/1?\G^"'\]-3U=Q^"$4L'(GD?X*7%_S\$&;_*=E@L!O!5*@;#
M[*=/'S^?'%]4'[#39R,13]_?] BZ5HG_<$V1N7F6LD3U93IZ'^3C,4]#IC@\
M9/_3STE/C3]\?+$/NX./A#].G]#R.O_^TMWO7FQN[+U[N#6&/,EXZM_A+9='
M:_@<\RO1B_GFQKF,\TS(1 5=W,:$X3]8W()_AKO-7F0W42+BZ>;&1<HBD0R"
M4QF+<-KL13WTZ?LK5YGH3U>Y"KN$.OD7[?VC3G#0.3HZ;1\>=H]__^^?7OY$
M_SX_;1_8?YOG3T24#?%^+_^A'^"RWIU,CM_C.LT_>S++)+#Y2UCDQ9G[+E[R
M-!,AB^V6P>U19GV\.'2_EUG8R]VW(EDU.]39^>+PTYTHO.?# 82>?CL[/3GO
MS%'[XN(,_X/G9+4G?O=7V.U'.O8K6\-#+.&68B/8RH8\^#F._L[EAP,Y&K-D
M^G-*_]H.ADP%+)+CC$=!-A1X X+IH([2> _XTMQ$?U;<(Y/!D,?CS0V1J2 2
M*0\SF0+=LM\7(4_A 4D4\-$XEE,."PR!A'@*O)4- V&>EIFGQ6P"/X0;CE-^
M"9I$@/\-D'X&4I^!$A!RN&\@1N-4@AHP=P-XU.8&_5Z.9,;UPP3]C!Z(MRKV
M0"']*I ]>$6T94&>X,VZ&1\%;U[^AD\ZXX,\UE^>[_R32,OA^A!6$ D5QE)Q
M( (U$WU1RN%JW$RI]V.6P#'NG>!Z4\8I"P&LS+^0MES1^F#;,B:2<EDI+'W
M1[ E*NA-[1+LW=5NHP^R%T&/(X(:(X/.#TY.'U("+3OTYD,!*($/V%GY6_&<
M<&M.N/-QO2^.:N^N.R==@ PW7J%;_L](?Q"^,<HLD'XLCDL93V*K$/,@MRKB
MM;50UN*_LU3&,5J"+I3@DTY XC.MYQP:$JS@%"E(7C6&S\0E#_0&!2,^ZEG]
M0\)%*8IC<_50@J@=RCARW)&M$(FGQ\ 34M[G:4KB/F"%?F1T*&4UI!91@/*:
MJ  B(G$IHIS%JM@DK:2XT7*B=S[8BGA?)$!%C\=RL@W,"\H)5W",0!5!NBQ!
M<$'(4,6 ITY!]X.M8B&H'_1F08&!<\/B()&)UG'<J*EJ0:&$Q:0)JBZ54[#[
M(/"]YS46C]/7O+O]M<?ISE7(QYDC/JI \0SNE8*5PZ_&:&5D@% $"2UMVRU
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
M+56B)%D\U8V;6!9L\2L&VA=0\5E@NG(VQ;0?JLMP[,&9RN_H6L%:ED(G!UQ
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
M<+(;EI#>D2]#;E19/*IH)+@?(\ =+GL9@-P;JJH5F=.4;*0&='^7N[0>4Y[
M'B/51,5E(Z4')7*.]JQBP=2E5*0Y4RP:H%>& Y+1^5]8-^PNM'; !DBX%ZPE
MCQ<>C6K).!\K2;GO83L9V3\B.6QJKC+H4'XC9FPQW1<HO1D\7?+;$ XG%XYP
M9L&8<$,&(<F "U"O^O3T#:!E7W>C5MEDZ&!%[Q.GWJNZ.85#'B?9R@G@!,V@
M6GSR)S=AE05W_H-97;LF@>ME$KAV3 *72>":A5PKJ=VX[\^"P*D1@T9GF'+L
M?U8MP82),:XLQDAV/VC_Z#+!KD$RZI$X$I*HCPH1PAJ!M)O]S$7JWFX@E=NH
M5?;SPGW$DY]3[IA\AU8UR9F3!%%L3RD$OJ,3S;JR5R#S2.:G_>)T%026MN=#
MD[(3%"IK<CQ@!,>P*?*ZBG@&N_GEM'U[T_[]&G9UL/LRNS($7YH)):+8<4F5
M5W/^9*O'(=#C/36X!!/K0-9#4F6%S\/>&'7N2%H7S!(C=S"0B:<X@-.VXU D
MVK:,@O([EC:DR-\]V3Q)07O6U4$1&S1VLNNK$,F0J9Z4Z!(1E.?@HH,?I]7B
M)$ZT--D8]7?IFB0PDH13Y0J15D_F-S7Y&S1KI:62@9OR$W&5>NHR25:6$3AJ
M%,DHDH ?\0%E_Z&%3<6<<&A^#PT'3M/4\$#=09)X'/).ZDNN98XZB5O#.W2$
M5U:B<"$_S[Q(W1(!E<:RD\EP,KU15;/(FL0!F#NRT:MJ/ G&J9HM@8 H( 39
MC!25T=&_?[7JNXT&@?^O?>P:0G$3ZLFKO+=X1/G+KA;7W1 J/_>Q&ZL3H-L"
M*4BF>1>HD-P.*L9*A5%WW'>Y##(,Y&Q;%/M(X1V/^1BBV[;.J25@T(TXA43U
MCY))TO(3G;<!OZWIWUK"I3ZTN16M 1P(>AUD+$(YY,%.1Q\$F2'2#X$_41T@
M41_9MJZR8 'Z4NQ4!XQE?786BVN$G_B,#ES [[>Q^3,&0(#AU8NGP['TVY=-
M/] _Q.5Q*$6IK@!.X95.)K4K*N\,PF_":NUBYPQLMF$Y;+Q=RS9FS<:HBQP2
M_5/(H/45)BTNL;4.ML#L47%#6-BG.N3L#[U A7_I5?+QFCP)&>/&N&IZRHKA
M842($ 0>8&XFJ25],I-10U$QD6&1Q&&[,L6;UI<%KP@P\5?97"59:L*EI+F:
M>A'.'8LQDX%2M-66LPD^64:I,$QMJHQE)OP7UJ@Q%69SX*18,ND,]KR5[)D<
M;)2R)!50/)=2;VHA,,!B"C^CE/.P#;+ R9T3=(@>M5J&*R,A%R4@*<C8&T!5
M?JB6-X&/K4WPQI$1(V_6776TZ-*"CQYPC'-_5=KO'^W;TVNC_J[Z)FC.0.*=
MENYDY,U#:EX%/( R8K,M[36Q F!V7[9ESR1?3>BZR)\Q.A'>!2Y&UC$]A4)_
MDAA!4J"W*0(Q(>HU;/$MVZS1UY+<L3F\Q?Z.N>H5;N,T8-6L*0UK V,"!1J=
MX!JQJ-5Z)IE!QFL\-I*A#FID0]V9*($HB%3XN];AY-13OG[#'U;AA<DS!ZQ3
MIZ0$%\4\R!E/IY,-9+JM5(14OAK&:OKP<1W_THU1TBBY@Q55@"1.C'Z= 9<8
M5D=90N.B4_&4B";3"FLE3 GK&+4?3M6<25.W@!CO*G\[R^^*F\Q3FPQ!/+=A
M[H]6242B.EUT"_<P5^?<!/+6RT!^M']PM"#0EPSK-2D$@N!S&"Q1HAN  C_
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
M_D5$BX4/"TA"D4WE<PH8:;4V32G+^<T0R8OKZ+9NV#U+^;L2GU^:7H(,'H3
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
MN!DYI0SH>8QT*W<1<A?AE;@(\SF!'NK8<V[ K/1 =<3 %8'<%<@-5.X*Y*[
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
M+K#(S$Q3M1YHVXMEP5_=UYA4EY'O.@V")G53, =A%C&G'AS8(5"1><2=8HS
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
M7Q2QT,B)V*FF3V"N3316U%X3&B0M%&R@_NTUGXJ=D\'X9; W Q62^CGXY!R
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
MHZDA4WC8;\SK0C<G0Z\TAEJ@!*.<,I>@%FM5OAR#WS+AU:6*:%$J@MD5AY%
M6^U_"=(<_]A*1T.?"H6/8[_/0Z.YJ.!OI)@#%3]^J6>TBP!Q"U'F1F&E"[L3
M3H[3#W$;H4++L/%W;(-K8-\=>%#!$0#G-.1@9[%MXU^0=,I1EHX60(S"Q_\Y
M/,0G0UKO/7>M#- '_.T_$Z1W\;<D\0/W3=$F\ #N\-#1 3WU,;[H^DZ'3T*8
M%A],TQSF)^(#/V.0NN[/\P_'YDM3QA:&P?W7!^Y)[=E#.)7P)N"8*XI ;&,<
M)&$^J70>+<MOPO25^XGBFV!ZG1[Z<>IB\P-W.QUC$.NFTE&['[@65E@4XRT#
M<%OR?^D?]UOPE[#WRV\"->.BMG!5Q<=_,.&623C'?AT3*0^''805'P9NC('+
M%-'@T?$0X,<UT(!P]Z;BFR6]Z5W$;@_DCQWG86!&]=Z]()3P+^D)3B^:/\Z/
M+YJ%]M7%W>WY5:O-G;=NFS>M.OQ0O^#QCPVL2SN?LG9DOX4HS.P")!%(0[HS
M#^/__K<JB94/'%VEF,6#GAIFP1XB[B=23(MKZM".?8*Z:-1!)B>+/ ?.+UFE
M R[5BA-&&XW4XN#MW5'[J' "*LVTWFV;BDGKCWB*W U(9:%Z+XK%^Y?JS7?[
MY]75Y^Y0P6I^,L(03\E'WL_\(.YPWE4*%X3_YXC P?JHBF=;#F+5@:Z.?JDI
M=] ZGT8,>UQTOFS%0T-"@1CO\DZ!<0&T_N^!M&B+5PA:6/8@(GWJ>CIDX,_2
MI7?0F4,.F%'\>CF;X\;]+/WMLCSE[X8Q&ALZ*;EZ5JW9QWRS2BZ)[KQ_L<22
M_KEH]S^?H=W1[EHQJ6^?-O(E1JOCN+1R]YXVE+%J*]JYWGSN(LNZZF.<$92Y
MA#NW7FJ_?EQ\.QYL@W"!L5^Z TKP?RB2.%5?,(=<^F&G=,46*GN@^\1W#O1D
M)6Q?HEM?6\W>(%M1==1K*B8TDEFNR#9.6Y6S\N2V\5GY:T6VWNU.1A,-'+7L
M,;Y+T+^"[X6U^=Y'VRL<K9GP.1,-D6ZICXA>GKFBT+O]69Y\Z_3/^G^O]2(X
MRIX0S%$U>^!3/DR3!.\R9FBN+=38V.-?NG+[XT]7>NDU1G]^[RY:N#6PC_?7
M1 JG:U.H9>B^D<?N]:-+L>??S9/;Q]\/:*+^M9H68^@P>YJJ,2-J]H!WV?#O
M\)5*]R]2L57MEXS;8;OXU\J9HZFSQJL!=R79.T3@Y4["TA9W\,%Z0PU\(K;B
MX_FW,_?MH,I#^>2^"W=V@BB(]_?P+U&2_8.F_<))>=PK?[\V3%+<;=,5$'##
M=&L$>T,P;NAE8M<'-[^N?]PVDYGIZ5P$2=4W 4[GP:=C12.+.Q<O+L60(@LQ
M^#$KZN)6?3%&39Q+E%I5F&N#A(N6JXEMV0H9(D%&-ZF]0+K%=5Y7WDF<5M#E
M<%!LW=[T#CA;M>%H#O)XSB+@'"P<N1Q]Y)A=:PN'736HQCW$_=(9YLOYJG'+
M^<Y;I[Z"/@K+P2=1XN52B9>*T968&S+ KOEOJ21[V]3<BN[8"@LPS^2CU,\I
MGSK*TYNZ^XB+N@4V8-_84>9K59DO%Z,W">:LL"\E$'SQL\ "S*,AJGRUBI5!
M.;JW^:_C@(BIT#MD@=AW( M<L?E>\TJEQ%?D[3/'T@:,#/%%:MC"GT5?H#QS
M&YU4XD5!XLMR]*R8OTXAI(;PJY+S"XRPR8@2S ?58LX'J>.#!1(S3S618,9"
MB2]6DHT!(T=$A]FT4\/$K]$;$Q/KN>[TUE1TB\)7UWOD)XTVXO>@.!K2 BUD
M7_5OE>= 1%-U>?]RTM<G/Y][/ZY_)=J;[0.04SP($V]RKTJBE):6^[B[:&NB
M#W*&C;3[/X"4]0/(*3U A!.^4]41K^MV4Z^]MKG7'G-ORPJW/*?F(C7#G>W:
MYAL&4TNPV/JCG.N/+7'< G.M,^PY&>:*G)-T;1I]U;XP+.M>I9/*=S+-X^ 3
MQCFG.J5WN5NU+)2UE IES .4!"&M!XC:Z>S(PYHV)D:JMR0P7_I4>!Q!XJB>
M99=\NM@BM=YV,FP1ZGJ4!.:\?_J9(1E<QDZ=E03V8=(UC-FL;CQ;%[,+2&-.
M/%?XBBCSDI3(!&YAL?;GW+(FJ'<R,2$K1]:TD>O5%GHB?]G$D8F=(**W^_CO
M&!Y.)0!MA?*SBIM*]+%I/<CLW(G6X P^VX/)\[7V_<_ J\$)P,)2/0Y;#C;R
ML&NJCM75&"4Q+NL'%^141%X0,ZJ-8XG4=K$ML,_RCAZZ_NJ1S%!F4A+8MTX7
M!;X48WY<VMW.K(=38C;#J22T2[A++;(7U6$V+TO1M1)IYY)L1E=;Y)(%AF".
ML;;#$($.[:G/L[M4=<,DU\PTF'$7#</Q3E2+YB%A9GO87?-G>EE]K[:</8,]
M]?ZE^EFRSO_]_'QW^7M'V;PY6&%6I3X'+:?.NK_R9-^RV%;2*K9Q#U#-^@&R
M[A](J?4/XAX@K74$$;=0V]+@B>7"I#5*S$.W3%9K?%%FB7#W?"N]6^HL('X-
MYR,QQ$<6<,UN03$.ZKV>"L]7-!A6?JX[02;)<W0PVGJ0,4*Z1>Y/;]"?B6JI
M-FHC\U'M(NJTW:"N,=#)4XC_EGPV+G0S '$K#PG<9)^G"_@B\C(W;S[$R_GK
MQN['-2VE*-/RUV%NI=),6B4DF.B2F&NFY5J-%V,T4_UUK!)7R")CF!QS(9B+
M#)[^.LQE03U%IR,EYJTMN3+:3*3DR&CXK\-<!D1J7GIDYF1^HM(3.+.D0N[=
M9>_>74YN9HE9EFM?KW^=R49U-\LJP^>42(L(7:_Y:[.))/6X$TD6J;*5:HBA
MWGWZT1.N&]W(@22[FT*RYC5\,:Z A4XA*4IE7HK1?KY!:V$"++741)CRSL$U
MR2JSWWD1BN;4W DU6:);F;FL4:SP)4GFY6)T96-.WFT*:YRR<)E]<6Z)KPDR
M7RM'9XA?!5GW-]9C.PV")7F-_%1(2U!5*/&5&'O5V69YI(?6J2%U>( O,Q<R
MRF1,!U^3<W.[6V+&OS>5F6LF8?Q&B1=B7-OEM-T";1?(QIYT*Y&PN%9)(* )
MS!K4=Y<UT,O=&[NL__IQ-QM&W5.ML:9,WT.M%@J?/+W=),+?FS*H7O<J[>'O
MYW&WG]V<02G/&61)-<9.!>4Y@RQ0DR5G4,QS!EDA[SHY@V*>,_A;<@;%/&>0
M.1$.SQD4\YQ!UH@9/V=0S',&V:#M MG2FS.8+]RN[&_R9O/ZBUSMW7T;?Z_E
MDS=3T3%32NO<Q]@'*&;] )&%Y?LZ0,H'Y\E>Z9>\'1^YQ%SW+0I\N10]*#LG
MY)J$#/> 2\P><,II%5=KI+99-AO,9ALS=EO@+&8_;BN<%=AKU_"Y;"?JHXJY
MH4?:]:%1_^?UMW;QNM.<_LOB5+$UZCL@<&-%W<[,JM?F5Y73VHD<^P!IG0(2
MD8KS>'--4Q,G7UIFON$H2V6^4JFDL/<Y-C^DU<].B!_"78\R<];\%7!!1L=\
MQ^*"<)^@S.QM;DSR0'^@[/,'@O-6V*WR9A0<3RRLV2P+^UT=52=^U/U+8_+R
MM6&/QS>5AR13,1BZPZ 9/IS1YV2QPEUBHABVPEU<-'(_(DC@LCY3II+UF3*5
MK'MRE;1Z<K$/D-H<Y4J;PZ28U_12XM\J59A+."1!X/$34ILQV2T1PIV$"OO.
MQ:U@.-!3. E>T_%RW.K7CP?/7R]O=I4TR'=UK%9R61_?5\EF1C)BW/UF"8,*
M<RY1XF'S;C5&?57*V:*:6O\O&;8(SQM4F6<1I)\9DL%E?.^FNL9\PGG<UJH"
M+TH9'0D?#[/A+@O[VGB9KY1*?*VZZ9*30*=%7GM;QTO_4CN_^=51?PF)5I8D
MO[)#8E_9D4C'B2H]E:3/_>K05E*[LB-<@T2T+-3B\G]P)TJ-ERI2-C4'^[1T
M9F2S[Z07,QI\;A/)+&T;[,O?19DOU=*+];B^9]9CJFHV8ZHDE,L*OYJ]8$/F
MRRE.;,5DDEHV(ZR-F23<K:VQKW#9!D<$^K3-A!9V0 70PZCY<GMU=ZL@*5_5
MD06)36W);]P#I+4,(/8!LNX9U%+K&<0]0%HOMO>Y#&(+J3!LOM@7(\*>B T6
MQ;]FFH1Z&^4-%G)OBO! 3Z.^R\4<+[_TUD7_5AX,SKKY=HY ?LZW<["C(:8U
M*0N1)2)_'>;2-ZM[*TFM,OM:=KE6XH5J='3WU[%*7"'+5^"P8BXR7OKK,)<%
M]129>RRS;R'/E=&&(I4OO,F,2*V(G3;8;I.@_ 1.VCS>T:3-YOU+N_'O<56X
ML<M#<3?[.98#+(FR>]C:#GD1S_$?N:X$D:]Q/6."L?:!VVQZY^GJZ9W-9&LI
M)J.QT#R[&(SNHC=^;(Z*+0[X7.^FORS&E>KP 9]RB2_)T;45@2S&QB1IY..E
MP4B[XHKD9B>MRTKL5WG 1=%3SG(.RBH'L20/1.8Z4;'"UV2)%\3HBL><I;+*
M4FO4]I=%]G''55XHR?B_T57'.2LQLM+^!K9N9QA565PCS1DRL+6"0R2QF*P)
MC)[C^CKY*S7L%9Z;$IGK;6$@I2#Q<BEWGUX_ \6O+!#9]Z+S0KG$5\2<GUXM
M/RVP"GM>O,I+9>P@Q6BLV!:O['6O3O/^Y7CX.*A;9Y;X;WDO>W6BDG^IEJAX
MC50[3_79$[D[_/)<O92JKSK5%WL]?9[J^ULM0VQ6RE-].0=M+]4GY:F^G*6V
MD^J3\E1?BEDI\ZD^*4_UI9F_4L->X:D^*4_UY0RTS52?E*?Z<GZ*E^J3,I?J
MP_\+1_]4*'P<^UGG/2<*F!BWZ@A97 L]<3?&2-%Y^@N>:R-3[7_@1HHY4/'#
MA<4RPBX"W"U4L!((^\I(U:;OHYY,/FNI+X@",H/<*6\=IQ_B-D*%EF$CTA/>
M,'12K0K^$'>JZHK>516-\[)JUI'_:!__Y_ 0?PIIO?=<>ZRI]F$;#>!C'[@6
M9G ,OB!RAX>?THZ" *+-G>U:&6!);Z,_$Z1W\;<DZ0-'@EC\ '(^HH]ZZF/\
M8F#?Z?!)"'/C@VF:(S5$].!G#%+7_7G^X5TL_<K8PC"X__K /:D]>PBG$MX$
M'!.RY2&5J;8Q#I)#GS@[CY;E-V&JW/U$\4TPO4X/Y_C%P>8'[G8ZQB#63:6C
M=EW& 8RW#,!MV?^E?]QOP5_"WB^_"53!BSK%52D?_\&$6R;A'/MU3*0\''80
M5IH8N#$&+E-$@T?'0X ?UT"#;4COWZU>/W:<AX$!UGOW C06.0<XO6C^.#^^
M:!;:5Q=WM^=7K39WWKIMWK3J\$/]@L<_-K#&[7S*V(E;5[?-=N'VBFO@,UU=
MG)_4;YLGW.EYJ]YJG-<ON/8M_L5ELW7;SN#AW+KZ@EM7SREZ#_XA9? P;^^.
MVD>%$U!&IO4NV0- -XO:GR:M#ZA?VIJ,\'>ZL5M<D-55QA@<VX3&&+^W#'^=
M]]?=^>,G^$NF.G9VGATKE@H);NR+8TJ1/IQ;_.9C#3OW^,QC[Z*S.K?/=?V'
MW;]4T0^Q^$V\JG0.=D*?]YR% P+M$*/(BO$.PEGB46&F^,BQI<;]B_+[<OI9
M+?9L2SOX=%QOG[>YJU/N^J;9QMJ J#V/F*^ %1, V?FEJO<0/%(X*JGZ-H]Q
M.\0<5^CZXX"^%P=87AS O85./DGX$/E)\CGQPSN8)(]C6L390\0IW:XQ@<<8
M?>Y40\\JN%)M0W.F4Y&0E@[V5S2^@*/A(^XM?,]Y*61I%7WJ/IKG5/RH)QQ!
M:]-#XTG'D%B3CJ7V5,54\>F]-YPB<^2*$W=A]XYX[&_J1F.(1G-OA]<YKW+_
M[KVK$  O?93WAV,5H]K"O[[&OVQ[/\)S\0L;;>X$]9%I8C ;ACDF0-@3$V.-
M M+\U7">>*[K\% .AIW 38?SB&;KNG"-S G^\1$Y'8*PCL<#&G^ @P_,(VA>
M'&M"R5]NX>)K>M6_4$<JIN:%BCURS2FBP-B^,IT_7"NFK:/_S]ZW-B7.=.U^
MYU=DN]][UTQ5].%\F'E>JU!1<? (CC/SA0JDD6A(, <0?OWNU=U).B&!  %A
M;JN>@Z-)IP_KW&M=RS#[RO!VS'YPLV,@14,>MNT[VT#AN1JF81T>NB_2O QZ
M6WAXR'H+X;4X61EF_5R^Z9O9DU[)S<KP)DL01/#<!-T9SVM79$B 4[(@\I+0
MLI<#3PBN,J!OED*XQ6J+E-UFN5 -[/W!<6BE)9%._PBA_9T4+=C?R24H[O<>
M38'9$T97M=VC*\P0'*_@E6$5BW_'EN30VO.-?/_Z0[FX4KI_#:W%67F _N+>
M3"R@OV+873REOU04_8'@XJ8KSD@U[H^N8@$ZA+^Q-<V^%*#<(Z&JJO2SA^Q,
M4QV:Z&62P2ROEZTI]*41$CH(:0)2\>%H1-'90WR\GNK##QX)6',*[!R%L622
MSBG&4#?("_CQ:VDB9+*BD*E4RK!6T&<DL 9*\ :-)%E*$9;2L#.1J8CD 6=
MK"ST@=)55 0/6#I> CXX6.RII.$WCSYMI>W;2G4M!6X?9T0,;:/;)]!6^!.2
M6[(_(R*+;>2()J>QD8. 5M=(IAU6W^#P2<]H5O1E7=&7C27ZP!1@,L[+@'Q
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
MB@%&S:UQIIA#W934VUY#UYX;R@A; Z2<,GZU]"K#M:?5\[?L:Z-5';PI>UB
M^J476CE]WIZ^GYM/V<IMXV>^<'#L;0T@$\"6')(]\==(?S83_*!3K&NI8*_3
M\VKS1#C598+C0(SVEC[$?)@KID4!G[A7"T\\!&+&U[S<>N58^%)MGL+C7_U
M$Q3_PA14( *5$ &M6Q89*!>6OV*J8UO0D4)0E8%"80%%P/!@GW23^,EG5;<"
M'S]#+\<HR""T='4'!ZP/Q2-#ZG*H$X+SV$<:=!P4 "S-(M"/W;ZD/=-^"EW%
MZ-H#TX*] 2Q%&38$D35U)<,@W58HH@8%3:9%V -I0A;0H;78@'W1 ;C&%O\:
M :<D71:#FP%8E1+#9$L%IMZ9X(GB-R7H1"O GM"?\ \$N8E ? "(HPVPDH*-
M9VP2.!'$VB_V5'WL D#B/R-#G7CUXT="G?X%X#>ZI-DN&2CE?Q> 5.!YF*G7
M)!(:L?F7)\*3W.P'^+3P:.1GQ=M/&7_6>\C!:_25LE-HR!3F!'B$MGMCDW!Q
M(@-;"RU^D6R2:?7PX X<:)50.WY.)6 K%O$^D6FK,'W=5F7\H#'A@4PPI?2P
MVA%,N]OW$&&.4BW2/7@,_Z/I_#J=)<@4LI(@=V+V@TI[['J:8%I](BPO5MHS
ML";G.F"3:J<$I09K4D/23(HO!@!IY)\L:C=?<_/]SE<>LSV5E=*?\Y;=Z$G[
MB!_QY3D*Z.K'TVM?.[=?;:6,'0"Z/X*S09_Z>@=@/VR-4"@T-6?'XHAT1]4J
M)FU#?M0\$F3P6@S6U"/J50!W]H_A"E8>T=@9^%32)/PK+<4/;GG<XH[%GF.3
M<#!^#334#:*Y(A8@!J<OPI>9F@.]I!LNYHDFIU2% G/!#"F\"1;_1(\S0!.L
MS%&O!Q#(##V:98\*9A]A10;-C(\$AIA*-"A#)Z9K8@*!Z"1GD2Z0BH,0[7PQ
M1;^()?U(4@@(*:<'('R(-XO;*$D&RAFPAL@*&5('9%(-CVOR6QDX%J]#,L'%
MIB,0106JTCTT[H79LQ>#!T1,L<A#$OD3P8_"?C G4W8_[8<C2Q&,\*X^0,(7
M:"Y!(:$)MADV3?!OB-W###9 $#<0-LE,; \YKRD:-;CP 4 8ANP\MV)O? I_
M/3O"IYSZ #G%]$;*Y<-G2=&H<0YD@!CL-^$+W<]E8#OC6>F$A"A.+P.TPPJ8
MQ&^P_N4%6!#5U[.+*0&D&.4I/08/CQ\+\"1#N@NG0.]U_/B$=4O'UK,[&),I
M"#R/GL?G>T]W&S?Q"D$3;P%H]7R[KA@?Q'NVX4;F?# J#8?RSTT$P3=NS/5#
MC;E">_I'4FOC.[D\N)4.CAT%]X#]*NS> +M]VG/+G]QW;#UT7Y\-Z)< T6'=
M^ 8HGN0&,U%#S['FGI&&J%7A="@8&M@+-13'-86_/T^($!N3=DZ@+9$QHB;&
MD&)84^G;P7XH>C8DF4C2H:Y.H!6""$JX!RV.\,N@F6T(/X!$O-$ME,J4/XGC
M@V%L*=:?21J7C-"A::&A,,!'J1);V*$+P^-LI]G]"!JGH"&Q7K\)7S)8D<%T
MO>@>4UE=)B:_8%5'XH#DEPZ&:^I+-NI%/OBD=_ &D;_",)[IYHPL"E]R7\,!
M:SD; ,B[B_"S^:\$LM?]7BKT0;<]2NA$1$+V7PI?^<V!CSI[1D!_OQ"'XNN<
M<< !,?%/9@\:9$'T1^#[X_1LM4=;C$#$*7P(!C!,]D-7Z4)Z +S+%N AYA)0
M8/@B97V(5C(CP\(DPYIW$:Y.P;0 X!W,8@6^AYV(5QI9-*F_QCYC>#U66(L6
MS.OV$*\,4Q$F$V/BSD,RL+.''15LQ9'!J:E-)P765@^[BX>Z=MC1)4.FGX=Z
M<-*?QA_SA:U!*@TFXM$9NC&A63.T8P,<[(BUBR'43O>5!M8 SA(+0A!2).8H
M451GF>(28YL0;\I @<"I2>'R:;^8T,/XE&@?(-&:0*&I,'<6_C"D_,HH&S.H
M91N8:?K8Q18Z"',.=B&\N.QW(#2#W.^*$($E0-_$8P:B(\\C$ZY+%>SDTY"!
M$[V57>YAW_@DA@\@AC-$I5**26*30I'3%AFNT4*ZL@!B.OZ#H71L2S<8XOA0
MFA"Q ,K$=#M9$L$01F%4ND)POP.1&W)Q0=Z4;5 A*9+P 4#K!)R<H9&36R+>
MH<0B24/0.,MXA1L0C4G%H,PC] C-U3DD<X'7&3*BDK_O4]HI3B]A.:FH5!X;
M"FG3%:7J/8(?(,MI_DUE=@<1%Q:6"'=;<(^C."#U7-#&1+[]W7]VV+CKZLO_
M;5K8B:R;IHWDNE9C(0^L/)NL:<M"O]5-IUQNH/;T/F.^O>GR;SVWCVZK$NJV
M%MM39:+G:_77BQ.Y \F8>*D"W17@.&=?"#LX._/IR.Z,K^))7'TPT&%X.#_%
M/3_$GQ\SU(BE2JYH23C-4]3D[I9)6WJSVY' -26&*S9M97+_;9 AJ"<Q?QHZ
M50XR<:>9ZT'_P@<AV6V]CM63.82^%^1*@5X)."\Y$S<0W*/#TDQ'*$^Q4B,)
MP][=+[VU]KT(EK1[I;'W1!L_$[/PF8FYK4S,RF<FYF<FYBZ9395@Q!^$-1:K
MQ"5_H)U@H?'= I/IW-?=+]8([>D@U^N_E\>-YO7+/AI++Z'&4@G;@$K_\;+Y
M;IV_2LQ8.J0ZDM^93_MH9^PCSTH@MHE[1*Z%0;(;5%4P^]A$8&?I>G3@@L;,
MV"QERB1CDZ>#%#&+LE@A$Z/'3R).[B9^\>N1\ AV#3%9O 0ZG]OI1ER()<5>
M#.9\NDOE5I,*6[9(&GC3_$+._M.-'B)=LDDJ!VTFQMSF-QM_W7(M*L?2<CJ@
MC25C_\VJ?:5UCF2PW?ML0*8P&-VD_2FUQ(<T)H[-9N^XO>9$Q.R#EDXZ-#*G
M#Q^"H0\/D)N/(Q_UNMP3,,,A8F/RY7Q.EW>'COC9"".8"LVH!5*BO,=\!F^6
MF@U5AK-+H9FI!I= :^ED2.A.+AG,YF>>$(V]&"0I=D+]&?2.C*YBSF[2_I/Q
MIBV+[$R-QRF?RU$GJ1S4))AO6M0"ID6<(=K3?JUU63D[-7\]=/;1MG@-M2WR
M[>D?Y<>?^E7MX:VN'AS?DIL7WZ8(=%?^JE9W>RAQR<FD0K.7#.1<,3IA=M$1
ME?BGF;0L(L)(90!_]]B%RQD(S=#[.Q9ST;K*4'6$&DO 2D5D48D"%';,9@QJ
M)(I.$_A,%HIV:BI\-0"R@G^$9'SGTL_)FX2E$6$)A2!XJ2SNDP+SP)KXHNYN
M2&A>OB$UR@R%2GZ5I*9RR5X]EA&](+/-JUH(I,7RZ;1L/J%IN7/R,#^UP4)M
M,%,\4),,@(TU[Y!!5'%\_W+!F^UI+C.\U2K]VRN]NX^R7PV5_1DL^[NF-3*S
M:K.7A4(QPAUX$P2R"Y\2_V./[00;L=T48K0)]BIUL!SY98,$ZDRPV!PILI<+
M*TB0E4YB;UB\\)%Q)CWA'9 Z8P0&,XA\EM_NV;S.6]2BU6T+*N1(0P"6\$.-
MYR/A3%')-$)F"?_M2FK7IJ+R&<\20NPT1]_)4M&AW LRW&48B,L5XNUDQ_:F
MR6\&.!KF$;C:,$?0 =@) 2U!IRN2S2%IYS1SG-:C@>#UK0IL=+)+])XA\$V_
MU<]_>487RFP/.#WG[0);*%_71C6@Z7D+=.TC1+R=T#71%TF6!"A&O&6'SDML
M1\$+XB; $IJ]>7@9%K/I_,XIL>UWUC-#'[/D0.(83C:T">G1>$O.4)= M BY
MC"B ,"?;AW_(?FJUA5IM)E_ZT42WO9I3DSBGSLW_8'MZ9US]S$^GZ/9F+R^.
M!Z$ZZZP]O:Y>%7*M6F]8RA\</U)N=9>]J1CHIWH*#0%AVWHH&:[D\%7PA%8O
M$==!@_M0;+C3T&:XPQ'BF3#5\ZB1HO&FQ=*EL:S$4BF%IXQEE.,M#*17+YK#
MVE]C>3_P17&8*G(-<!!U,[7>Q.KGBL_8%:\3Z H6+J5"EPV#1'W'38WBBM)\
ME<6>=^!HW6I84;.LX/481*JGK#[6?X'UC\E34,3L+IJ^3C0L,B1/U7G%X)],
MY&.B7.$H7TAV(:[H2L'.^POV77JE;C)@*[#D":G;=P*86.F2PD86IO=2<(FY
MY9& @;B@J>"SXWQ);JG@.R/%@7*#BPE(5*?8 T[%.^6CA/,;]I]6-I!9ZR;&
MIB0(*C/AY\@)F^I"3A!Z)\GL53]1@;QQG_ 5Z^'1& @%%>S/NBZ/%54EI;@*
M-J:U9P5,9P=_P_>P(SB[1#(3>O6N"D0'6()'ZY#4B:G@8<)NP_C!H5)@3* Z
M"&R&S+)+':/7DM[=&<T4(.#=Z=FJ &GP)LL^70 XPD@^N-B4"_D!*H'$CAC#
M.5F7X%6(PNQCB@87!6Q5#FX'*U\F>9]@;[.Y\NJ'ZAAZ:P$'P&&.>"@C,+@&
MZ:R?1O9"([LT@SN!:9$D+-WVSAW]7==,_"HY+1H/FA- BO5^>WKZHZ.,*T^Y
MYT>TCR:Y%A5&RIU+[W6],;P:=0Z.82]H]A>0I;L= K<?FXHL?2J-V2IM?!HI
M*B04$R2FHM%Z?!J58 %N5F0%5C$U$RFR$<L@AUP%!Q (_XP%M^R6=(/)*;D&
M\D3X E?[[XI%AW0+Q)AE+ZDI/,  BGPD>805&=94NFTZV9].-,']E#<N,3T$
MDB2&?0*^0*R#K#%)C*=C8'_$4N!3Q+RF7^=AB0@01.JGJU,L:-Z@O-D$5X*&
M]-GC?$[$ )\6_L*[,L![RVM;O4.J,$$4*]K09A(;*YZ9)VUMYEE:8T:"*5!E
M)6.192@=1(JBO&_W%2SKC6Y_PM]5 YJ'BCT'E>$CD$\[ \#Y84TIPI^\XH6>
M8N!%6&.=AN:@$(-DM::X>3GJ1I5,RS=CD5('(%]UT)R=VB<C,'X^:_$SGW5;
M^:R9]&="ZV="ZQ)*V3L5_A2"I[3T"GR'%'F8![L!UN].-W'[(3ET?&Z.V<0G
M62F6*@G-<L,.3P.4-IE=1B#) 9GOPKVMTXI56B:CT1)IQ$P:ZAS2RGQ Q6&>
M(6<>*8@+U/VU721VLU'#?M)>UJ6].C4==:_DGCR%J=--=>2M0*0P !&6J@.4
MJ3G_$BF")O8NWGP43:K L$$,^'"4>FG#!1\%?P^\I&@N_;LS > HRAO?2=4N
MF0LS?D.F2PMBP44@A5XZ%N,2NS3W'B)38<X#=@YH"2ZD\%@2N9I6Z6UYSU95
M4DWL)A]_LN$G&Z[)ACG!R=5_G/4./8HV[2&[-\*4BPG-HJ2MZ0[=,DB-B8<J
MPJ$H.!%=SJ7TD7 (+X:3L=MN8K<-PCV,TOC3Z8E+#W=P(A4X,AKJI@)!X]!
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
M#['40"P_DY8 Z5J*']J]X.WH@-1/NB0"YBD9P@^G#S-U@")(AB*K35K(6J;
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
M/VLK-XR,926<DDM/C6KYJ5JJE527DOG-")JU,=?$J/C+&F0<LIQX:(4!&D\
MV;*0%M/Y,"<Y!J&$G?77Q.7M/.&:=>8YCV3CR<_\:O(S6(P_O42J)IV/'Y\J
MN57EYQ9D9C@])0"-GREBF0GGLH"@/@7E,H(R-G'&$90S)'LOE7NU[ ^[9,I[
M*BA#W6&>M$MQ XKS1&5&K&0KNRPJ%U#K'$&:^QB"#Q/$Q?B"N#9/$$^MXE/W
MYZ_R>:DX7Q!CESM,"J]$[$G+Z7!B3@"I/Y,IB-E*6&.=%:EY\^([(!Z74_GA
MGF-L%W-SZXU@X6@'/,1Y#SL/0F*"&WG[RW9M#I7$\<77-Q=SD5+*W?(%CO;O
MYOCTOFMWSQL=5SXU_+'!#1J)[BSCN]2E+;K4'\-O(0P4;+N="!_Y##LGB$Z^
MY[0/=VRW.?33F!0?KB9J^?TD'Z"?X)R7IQFX)0B;SRI>:BD!+[4L%HIAO;8^
M7MPLL)?N6'[ COD3F4CIY4QX<7CEY]MUZ^?+K?VF>5Z#\_86/0;ODRN09@(.
M;Z$L%C-AS;AVQBO84@#E9%F-.&.QVVGS?GB3RQ0?=TXAAI)/.0&G<A_B)1^D
M&TNQ=>,,)55RS?3H*CLJ_7GY6-VX,#!13J3K6J:P6 )MW:3:+Y48'7:(5(DS
M9#<JG0TJZ<Y#^6=N9U7B8HI,P,S'2C%=3N^44ES9A-OWJ!FG?>?&RR[OU+L+
ML]D_@:O3*/7[4;&R^=HYG(X3\#MV-DH6-/'^RM#8*I9)LZ\;UB&?3Y^<A5M=
MS&.G-..?Y%U[K$89[.'>^G%C2M?ZB.LA.S/=Q.U9-J4E&"<)KZ@B%K*+%<"'
MAWF^"Q$BN^&VMPB0T8Z8*^G%M'BC:]TYY"@/4"5W.9&NRES\*+CJ#Y#PWK3C
MDVPEB>N]@E@J[:"H7]EP:0'XXNY8*#&D9RB=ELW3;/^VHU^EO80TLK2=MCXJ
M^W)'Q_+G0XJ'^6KI6GMZ_58?WF=__[I#A0WD:N];1GUE!MT]K/K))9QKR;*-
M11GUV06570M&:T^S^L_WZ9M=^W/RLH?I](^:4VV&Y!2MF_2J!TFWM)X.C8/-
MS>? ;RW?O=*>CC+]V]*C.LUV/%B38+[[Z67M[+%1@X3WQYNS>O/T]O&F53L3
M'FHW+>&N^OL:_W]S^TGNDFWI<7+<2X5_W#<->FT-KP;SWGVK_BYLRE%PSSA!
MI\DYT7RES+G4#45/J]G<RX\+9?FL]M@6A?OM="VN '$B1&<VNL&?:8V1.D+7
MI)#<T\$#J7';:-Q-B]/3]K3:[3W5E+.[/"2?;,"&\;+I(Q@2[VI^ ZGT<\L
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
M$A#*F).QWEP3^>&#-G:K(G;!$>27B,D&8WO08W1=\(U=H^VXTG'1MJZ,:5+
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
M&/S[]F*;EM*;L%\J&K92\9#IHX*B);D,+*=LS4KI/4P0GB03T/L0:28" A(
MX4882^8WX7_H=UW.2_/%];PDI#@_Z0Q^P,/LG!KETQ)ZJHV-B2>^?2)[ 5_X
MQ3O/!^>&/B! /.D,_H^E1X#R5-)K7/\6LD4QEPG+LR8D('P!1A0.9S<I/6^3
MLNXF,:ETDAUEWBZM7JN;V<PF9>DF18J-U?.'10!*+(766I M^DI+MDU!T0AH
M"?Y9PS,T+0&3GRFI"/XB6'T$TR;"DVAUT\+_1^+A0*;X77V R$CX![S6/B94
M9838'X[VGB,_5+#4-<+N(CD%*%J0M GH,3D%O^CH$E6),S3.8X9<2(K6P(;U
MK7:FF$/=5( &;GM5TT26F0D7#=T7[<=H9-;/.ZI+]4U,$4 9$GEQ$=W/_^IJ
MXB*S1MN:0CE25*2P,!4PD^K/&CYW&2]0D(1G/'\!KXKR@;/L!0PAQ&*(OXD3
M@J:"[Y^Q#QF976D( 5G#1H$CQX:VG[#JFB5ISPHV52@M8?+JJKII&ZB%/W6B
MZMW7 Y_)DN;A.6.\W9ZF<[V;?/JND*U(ZQDXH<<4<B3?!!,3KGJ(=\&,\0T\
M0N>X=)3R<WTY>]*>#C(WCZ-W5&R=E@Z.[ZJMVDVKZ6C$__ZG<^P_O<1/*Q\\
MK6:WCV1;1;>]<P5S)&I@3I"#A] "PS/B]"H\G.$*H[6GE=+DYV5/NGZ_+&[@
M-+?+=/X#/RFTI^J@/DE?U!ZN6E[VK(PEKBKAC^'#10?'S=/+VMECHR;<G@M^
MDOC78(&MX!0G!BJ4J*AW!UU;A !'<V0@;&>:*_,!!<-RI[O\P7XP%?!QL?]V
MC/\<"WQ(:N^6\TG421 UP1M;AZ8W>_?!(W]%3.8.$_0\K*_(%]>*0\:$+_)"
MDEG.B.!,!S9[]UYD.$P/TSPH<N[2?->,@3SM>AC;["61N,I+L-%:*$H1DXZ-
M?US)+!%JP?8=+"FD7C,MYO.+6PURQ[-F$'O7Z*@83D=!$Y03]KR4#R6Q4DYN
M74B#_K"ASI(8KS4D;J0/(+N8:UR"(I>(;.TD11)Q/I(,1?)KJHW3:O2'$Z5B
M=D4S0['#W._<X/9/]^5>F:58#:TJ$^.M:KGDD4HV?7!\&)$VLI@HEMGH^5<J
MB=@A6XWL?#J%_T[[.;M']O.G4[A3R_DDZD^G<(^<PORR3B&[$I:;UFGU^;SP
MY^EU?YS"T,OE[!)I3%$F>*92$$O9Q8ET?Z]3F$[0*60D]CAZ^94?7(XT^:_U
M"<,)<HDDJ9TDR+WU"2,B9 M]0D:PM>YKY@E5[]^[^=WW"8N[X1/.2[,[:4]+
MT\+3S>\_@_=6/I%[R[\S0R:Y9;3Z*"61]#N2[L')+U_:W6RRC:_7(_?:;2_(
M/6WYO1&:<-..PWLGDVOI13=.5<DT S5EC-6<LK+[\4OC63=_YYL%+S$[=&G?
MOOTZ^_7MV^$2W%,^.-84U3WN!=EV)_$WAQ,J@2R\A+=G^I*^2]?>KNOI_(+M
M69AY/G=%\?+]W+H;WRS]>C&W1.93I%[,B<5*9!(4308$^EXU&]!+?DI%)C\)
MF,F$ :NG=S]@(# 93%  2)T(E@YK19CW!?3>[>,M18*L]'K(@)9VYN93"O<]
M:2HWDS1UH>OR6%'5JC;#-HOSIWCYMMQ [6E=L?3Q<[\U;16VDTJU\D']MW-<
M=E*J^/%"5/U!,!$G>XXMH-.K_L\G]>U71CDXOKB]/7NJ-QI"]>9,J-^TJC<7
M]9-&3:@VFS4N^X;]WZ;3LG)STK)F3'A-=LYX;EI6.C0M*_9H[>G)U8GZZZ9_
M9A5+.TX9<U.PTNVI5-<N&HU+)3=$<5*P K1Q5CNOW]1;-:%1_UF;1RQ_5U1^
M250-AXKF8@N$!#)#W(1HD(*U(F<1Q?C\7D6X@">2*D&O5HFHT#/4)0: D,N(
M K&J0)O2Q)9=C(,L/5ZPCYS/>PLW')W3#U2,73:&^=*?I_(#((<R.\YY=';
M\SD#LIO-LU:NTC]]5IIR/FS ^0GOSG.Q@QVYE:M?UIA)Z%5\;G7<-[&0PPP;
M6D@;;FBN['A_1!7X=A!-%C^8['ICXZS5L:_=(QZ70%PNP=/O E7P?]G.K(P'
ML*H,WW:5[EI5LG/B'AZEA/KF-=(6&R\T0I)W>FI&NSHO_#:])"B.^%1"?(I'
M?&X-4F!*9PE,B>F"RKWR9&>,UK3ZLMR4YLKF92<57YOD5RZ.VL*,0[5.?N4B
M^E(I+:9#@5Z7TCD)E4OO=J/W/8S$.J24<@)#EDX"3U+WS59H)2%(V=K-'59(
M(V1:)/YT)"QF3Q*[4FA,RS(D&0DFZAKP!Q#0Y#=X\:\F"TGA7^FI&%_>^XC4
MO]6M///,FQY:TKK9;6]SD4F2B?0FDV@<')YKNKQ&;LZ[%)"1 G#$SY):T[""
MGOA1V&O:'<>BI[HQU T2IV\T3MVV9W<O0^7'=>V^4EA"QXM"!V'BU* 13X=N
M\D%P?Z*<W,VKVHP?G'KQ-@24<A(W\&(Y%Z6@([V^'33JUTO&VP!HG,=62URK
M*3>,B61E4WS4ZW6O*R?O\D]%Y2_45DE-"6&:+UNX@UN56Q*HJL$G'(M78ENK
M7Q-7+XO<VT2B .&Y*.OIC)E[]O5IO8,&%_93Z<\OI920SO@8/;$NY2=0O9,1
MBY&.W,Y'?'98.1175PX;8)AN^G=:5T^[Y[^S>Z$<<JYRR*W'(H4DDC9V7SG$
MBXR:$;KCPR.B'MM4UE([M<VJG0LM4^N6:^7+-WDIM8,T.4SG;  F,<E X<HL
MET1"NUC(),QT:^6!_OIY<Y(U[N\E@,WZC#3N1LYG9I6TQAF8M:?';L5\4E_3
M\DNX:DP^_7 AR%HAB0! I-9:D"U:22);=-K*I5'>OBCK)^5M;>L"%,?"1OW$
M+29P[CW'AP@NDG"'B'I"Q__]/X>'PKF"5/F;<"<]H^]XI#<;$D^_89/EN_!3
M4FT8+",<'C)+1%9&\=6J7QXO%7=?'#K/I-/_A*4V1EMYECX,4UBS(;I<[I\%
MY2^Y8#614QIY?LAOJK.=WP7HC?)-J!I21^E^%VXP"](MO]%A;S,%_JW_.*_!
MGZ(FD L/N@:UKZ-Z__L??'*S9^BCT(Z!I-?##H*$Y&_"$,]NKTX-AHZW ?Q>
MPR'0?>88X_.B,WEAY%P_I6)<5U*+&#M.Y&H2"WZSKPSIO:6I]ZRQ9"#NUC+.
M?>G>WUHFG2==*$?E2>OS "?/;<LV$&\TU"A<]]P$ZDQ( G42GVE/'^S7ROMY
M]?']#]I 9O6F>:*&OS( *D[YS'$' 5W'LI 0MX9G(?3 -)D@R3 !QQK;/CTL
M7/6Q^6WO1</<I/-<>SHIM$J=5_U/:=2)DW1>:[;JU]56[4PX?VP]/M2$ZO7M
M0ZO^I]JJW]X(M5]WM9MF[3,G(")Q.U2V89F2W](E>C5FA?FL;+C!X[?&2!VA
M:WQ"?=.?Y,;5U4F*04S;DPD9*ZR*;LZ7G2B5;+_<U\:CR2/R'%K8IV3NQ]=;
M^MQXDU.#MW"-?HU17+T%4<S [E9NR&,D!/-D7]C@?=]R9_P;B_[66-\P55_@
M<RR\UOHW;WV>J@NKW^"MM,J-$/#*.9AQ"?@CK^ZB"+B8, ''10").-J^@5 8
MTE[BA%RYG%Z?#D[?FI*/D(M;)618[49(>:.!RQVJS> IN90P)9^O1<GGNFUL
MA9!KM8N'\MEH]'Z9Y0FYM$U"AL5NA(ZWF%.T8\(YLI 1[VIYQY(L3M?C%/SL
M5CC%&%1_VN7ZS=V+PG-*>9,WP:MMQT9X*8DLI:13,%:_#<ZVI^/[HO[#;-V7
M3LN[?1N\:9"+4MH)UITWZ]\:NO;<0L;@#)%>4V84E@76;T[61>0K[>EMRWS)
MEGZ_E^N5'<<F^&_GN+(R:D6Z/4UG[3/T5/Z5;JH'QXW;FPNA57NX%LYJ=[?-
M.M\Z* *JXC-J7"EE>4+TL#!FZ&M!ER.'+N..T)[^T3._KOJ9K-;O[V&@%W(O
MG)9V?<F$2BS;4*P)=+XDRQ6L/O2W,Y"@XHW LS$&<(.M21 '%\9]I=OG+TAD
M:0#W5N[;?:3*0F<BJ)(F8Y-$IG<E,W\&3M%M,S5"FJP;)LG[<%O,"D/;Z.+)
M[3?JT&STV+ZK]$\*S\^/3[$@2R(%P]\6*MX45KBS^?G*.9?^\RM[]=ZZL)3'
M\\**YIASQ;Y:(F62ZTIS^3>7M_;%:Z70>-)?UU]7=H5U;:ZRKAB\3T\T]C]W
MX*B8^?R7EO_.OBV .VR7''V)9([Z9 BFNH;UC,&ZV1/_ZV!Y*EG.O85)1_JV
M#5>Y.;KIHU.B-^<91AU%?-" 4@)1OG(6'UQA<=>8-6&!_Z7'%IH 62HD<&QB
M(;\3;CA6<8V'?-I6_S0[G==_N1M>"N;,U+#Q;$VND=7792[=:#'.)-^T.OX@
M[6E6LWY)I[],+;\EC,E5VO5FTK/]>O/M*7; !Z=Z\T?F=^G@N'[SL]9L7<_O
MV;M7GL?GE!,GI"\\2702W 8I9A3I:PA\:7+QK'AS2-$SB_._+3;//A*<:,/0
M0"/P^=4)C0)(0K .(;=0%-V.-61 "N8=,L!;D9YI/%^1V_*P;=]A$05A_4R1
MAO5-P^(C.^%CSOX6(4B+#E:+P3=M3BHVU*X3[K]1U=9CNO60KN86*?78ZPK3
M\IEBL% K<E(!?1$W(E^_.7=-@<,L9PO UAX<%R(+(?Y)Z<X:(*,6&7A&$#>"
M]%>8HRB80U6QA ZRQ@AIPHVDZ:=]-!"^S*M&V34J<&;M''SI9\WNGK\8BBUM
M]>#]\PB<=269L\YGCHJER./^2JI5 LG-LX>9W^'#Q)/G.<>K^GQ^:)0;E[E.
M#7I6;).=PR?D/]YRW.2W!<=;/LKEHD]73-%(+U0VD81V@U8V]10848"Y'[F\
M#5G V"@D2?#XF;JJ*IJNT,BOBB".*T"B?!\+?R1 ;!)!KKQN]9$A(*C,5;PJ
M*:8M %8L=65KB"!=B)ZX<">#R0Q\#I@VGE"(*G&.N>H^M18!9K/I8BZ]46GR
MY[TSJ:5KZ<*KERCDS9[$QZV),""CXOUR/B9XDG?HT5L$X<)MR0H[$N%SIHN'
M>$]B"*5RW(RW9!40W&2XU7@S=8\\;N6);2H:,DU,?QU%(S?EIW#+@9UZ\H^6
M(6EF#V$'7,XXY.#4/W*$X6[=C*@!1G$.^O1RE!W</6KVT[/7MX?=>=#+%>>S
MB^3/,M..*J$L.B64OM/T33EPF$M$@_S!A$*Z*!8+D>TP4D-)D;$8,'3[N8]/
M3L,6[,RI\3@;IY+9=T%-ESZ&W-0H*:W"1*KW%NTS?"@.#\S;M26",0&XYT)E
M7@UJ"K([GN$6CA20XID*>/Y]_ _:^2.X@;S'?XTE-5S_U1G'A+#^R01"3WCE
MA@Z"_9D^$BHB<YR.CCH";1AJ0E_A+[R;U>M^WY-]^+N'W(<]MEXLYIQS6WE]
M\7 2PM82./52,H(O%X;US02?%K5/@+<90@#9I(PRWX%OV"@;-,;64\M,C_N;
M-;5G#CF649:0?S77*",*CMR>!\UNQ5]^'DD/U,8R [7H/:PXM*Z"+0RO*IU*
M#F:,_;__6\YF2M_-%&=S<*X=,1(Y[U[J=@'; 4;6#0$4U#,A0Y_](@I]?8Q&
MR! %[!7B!6CZV#\M/&M]IG ^%399H8=U&7D4GA'8TLFT](XE804I@STI./9D
MCK,GG50#F;QOH %^'"8\#WIB39Y)W(Z,Y)FK/]FW_JE5N7SM;IIG@EHP!L\D
MY*<NX)F>1Z>$3(*\@XFL@P!E0>C9JDIMZ7U..]G;VLNZE0*.E1'<R@+/TDPD
M]_1D;!IJNH7E![(HL],Z;E9G+0D=9@N#; (99,@$/7&L6'WAO-H\P>),5GI*
MEY:VMO2ATA7*Z8(H_%<Y=NQH@3.D3;C'.?Y2;9["8U_Q4_A1_!L"6ATH]*9^
M,B_WX!<:K2CGGZ2"E1;,$L%(DGA,>X"W'V^&248&(:>ZHBDU-!1 @52)C\V6
MZPA&U](7J.VL,SEF#A'FA!$>2U(,800IS:;S'BMSYUQI[*<K4D=1J2N._VX/
MJ"IQ=U\R4\[;W+)!WM(5/6.Y"69G2/4[>=] 6$.8A.,D]V$L;I$$]TK4C>WQ
M$0!'Z?C5AD\%#? D%3P#%8++"M[SD I\,L/54A%##;[H>&OT;5TE$]T)S"&\
MJC=G\V3"_2LJ=S&\%5C\X=K]1?!H<P+>]Y7,^VEYF$N/GG<\57=A3EZ^>->]
MZC[?=>0X.7GGU?J#\+/:>*PUX9^M2Z=AF% ]O7^L/]3.2(.Q1KUZ4F_46W7\
M&/[[XW7M;.]S]WR[\EWXD*R=CTSYB*A)R5?.VF%P6(67^^9OZ?;J]%9>K^IC
MB36OE+2U<A1LVK5*U4[VRK0J:"/)7%%@ '-))#R.%IEU]W=T<=MXC' >S%HE
MEWPX<'?:E 5!N?_*WF3+B^B#XZK?BORVVUOBR;OJ?'GW@)W!9PU;$'(='!WL
M,$A>'1U;:U63&YZ]7*7F,H2(\1_ D<;F-AA, $\[K9CC7/5,?LI>%%80D@M0
M?ZFBIY8.?'_#9["TG$EP,^-G/596#K27Q%PNP?)=C^9R&Z*Y$UM1@1 HJ5TV
M?_7.!Q4[4^AN1!^'49TS@[^&\MPM78+@XL;X9P@N)Y8*"=>,QS;L5MZAAJ3)
MA-[ZQ?%=79Z^/-SV-BO:X(M_#8'!8I:@K;A1TMD*ZJ0I:RM616,V#K4WED5^
M0PQWAJAUWI+>N3^VE9L:-)"8OE1MY66 GA_/7S;)AF%&MC,SP9+>W1#B9,/G
MM:#YQ.9W/B[W9O!_5N;>4EXLE+,K<.]LKPD?A3KQO41%FELRW;&(9AA,RH5F
M7?^5?5M%,ZQBB2P1(>!+OSK63@23UHD/1; #)'IMZHR78( E8@,F7M7_'AS.
M-CLOYRMB8;/M6#8OQ)W6/Y@[KH:C\?3/\[M^_9J<P(Y-_BW=DE2\8&_V@@9W
M5&1^W_:>';:G',(:$\SEA97]TG(Y)V;SY<U6X?FXH+ A18''<0*T=W"K2?A!
M+G5.KXJYV[N3W%:*@@^.:^]=N.R%:^/ 72A!.@X-'6_5\4A<>@<W?@FR7=V[
M+16Q#;,XO+L"?7*(0ERVC*H,8*.0_#BD,6Z:-H2_B8G,_/TSV[IJJ/?]S0E=
M;%S0! 3WDAJY<Q)L/"DNF6GSI#7',HBU:<M?!F!J6<)?C5#X^8Q8R"T6=LNI
M]3./8"XD1;O5N#OQVU[3[F"&5R1CTIX:I9\/ZNC'3>E7_F,A"B[FIU3\?87O
M0)AS#V<5@LRL[(+E<@4Q7<CL0NU[KCTMI\^OJ[7ZQ8V1*#J:@_FR([U^LI^]
M?K;7ZZ?XV>MG[5/[-_7ZV7+B');=N9@P%U%)<B>+P2V228A[O;O(M I*-G.=
MVT!"W$SJ;2G9U-MJBB:@3J)R,#F#=FN]7K:6!7C6GO[)_AB=:D_*U6\E5E^7
M^\=ZZ[=P76M=WIX)'H#(WN?X;29[RVU'+,XT(LYL  XMK)?+XI(G$WK8AS6V
M7-A&>(Y8^--YDD?=X@F:>IU9W+TX<7K3)].G)6)9H8Y^9B4<";PO*X>P<F(Y
MN_@VXR/ZKAP_(,LVB&M%4\T3\<H]TLMXGF?X$='O.R5 B=/@W8^B;3R</)^<
MNB087/$\ /\Y080XRXGGLBU/B$L$I2+"#/$H,DZ4X<.#!/@_4>  .Q'/]S'#
M CG\@/!(4R3#PAJZ:=YJ9U@1ZZ:D)LX9P^>J_.=>1K47Y++&HOW<)(+_LANR
M*=Y:.>4DFQ6+^<4\]>$YO)'F2#9AV5^(;W8$VY2O0]@_7LJ=/]/[;JX5Q^K8
MJ*6Q*A%F5P[;Q23"CTA[VK2I45K!U$B2[E"W83[W]$81'/<=L356BTGX2'']
M'(8RY'E^C*T1^^8JKB6Q-=&XP!)(DG!?;]^;Q8E5J/PJ+V\)?(R>3X"N5P>D
M*6$16]Q)$;NT >WM4[R[VATQI-/+7H GS3)68:R6[)%R;G@85G'W<CTC>B/7
MV@FPT_HN:<R;[S7RW)).#W:FD*74[UJ9!&HEER;0 D$C>V'/C.QJK$1>$V3=
M[JAHE1[/D09Z+7'F>3GK7=^TBG^Z?^19"[VFR;QYON1:'0W$Q\X/3=0]5-X/
M^XHL(_P,7GM6>>\8*J;:RL'QH1NWCG$NR5YL5]I3Z63Z?#:0K]XOMP0DONM
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
MP2RW:*'*/ZC9X+6_;I$0_R 8JC=LWU0&E9L-\-3Z,K/.$,71K.#EE%?1=->
M8W)=;T+9C5QLRY<"3A"-YTC:NP<+#-FB22-&ZQ)8L6E18[,7&)QU;<$0JKV!
M[UGN(U3/O9HP[Q5?<I?4<<XRAM1EXY]E%EP<5,Y;Z+XJV Y0P29\ST2M8-O(
M#6 9(DZCJ:;13D;K*.8\1WNR>),I)JR29OA3L%3=+D>*5I/7_>>>EM=/P^Q=
MNUD;!(F(WX)<;RK"*BPV?MK(S/8B',*20%HW1(\!M 0,K&'35P#]*K"Q  Z^
M:P!+!K&V.)D"15.PJO@RL$JP.M-GJF"U*[%>W2Y4*]:;-V5_/\Q5&)VM3.88
M@+M?4J:H/A#3 +V LV*J8Z3*^AC?%P?81.RK2D\ +*Z"#Z :6=0Z*F-GM D_
M$.!;!' X PPNPIY_<S,\Z; ,Z-8!*B+K_>&N:N5\9W%7S"?.>CMMI$*Q7FRO
M+HCAC*9@.IJW[$;VLG\WBECD);7^98D</S7+_11:4$0A:WS;'A+5C["Q:L,S
M?TEM>/A9B_37K,7#S5KDOF8M[GUJ)SYK,4Z35FLSFTZMAMYQ!O;" JJV \#>
MJ*D\X41-M<>*JG<$=0([*'J@I;8B5.X/=%=MA;C3*K<W>I]-/.@8A\0D^</1
M5B%'Y;LKZ6U$5M\O"YTA]>UW^ZK1ZEQT*JT[[+961_7-I5:E7+-P-]CN"9W?
MS7"J3>/2[%7,A^Y5?#+-BHW>Z4;L&,[ZMO=%5 596!B-1S.2**,&FGU5&(AF
M;UC4JPA[YM6!AA5Y^0VA]3HJ.*N-4[+YR,;K$67P%G[=V@3VSM>QWM(_V',+
M%M 8EM#7 [TB2K!IT$P%:]2+BJHJ"]AJF(=WB+[<=%AC88<UWW=L&[AHO7"Y
M!7D MV2U6[*%<%'(IPG<I&5'Y67-,!:UXM+^E^V7WHD#"9 &M7K27-\*K_/&
ML*""%XZ0V[;] G"@:P_0,KVY^H@2IHT2->&#[.PHI//J!<?:>L%Y$,G\J]=N
MS3_O[L5Q5R3>]2_CD*#$I&<(+D.SL8HP%Y69AFU+"6KT Z1HKDASF+UQR)!H
M]/Q!/9<!14:P9QT_02X#^-!L:L6Z)4'3!!7^[E_QN[\[[7;2=T:;Z+]22";#
M=T7HW\S+%3*.D'B1[OA"L@=F)2".D+B4X!G Y/^*@'49XB)'_(.JI\"U#MND
M8P/8^]P(..V&UZ<2$"DGNQ<V:(Y-4Z;&L J<#& J[(;8#>"8K"OJ<J=-%>1]
M*]7YB:5@-M-SC??5\_U[SP_$$)6<7@E:UDK0'E >PB*/8G?32EPL_LD .1 M
M6N)PZL 4=N!WZ2K)V33\=L=YL'^A@*X,U(7-5MKU>;FYJ4MD_J-U5;P)-'R\
MB'5\_1TA6^>5@*"" I>)L^R/3,WJ**<8'>5F\I07!S")(??%*2_MM-J7%/#=
M"U&2X"P+L)'^S,B8;AH; C*!WR#S!KQF AY5L=P/BOG'L)[6/>Q49!YM<L49
M>[M^OQS7-A-8.VB!UZ'3&_AW,K0P 9]2E-Z;_=&D1M?N%X']$<-3,0PX(5WA
MBM00V/LRR/WP3(FG<!O\N]/^!+O8X>MR<GQ-?6*^'O+T^'I^5:++3,I\31V2
MK\.F#@/XFCLD7W^!1XX!%X4-AM=Q!T=4 K$Q1"=C!M_!+JW\<"BBZMJYT2-?
MAM$($?5]!08J#SP W(1S6=>V45(+_O43H0HD<9,;E?@%^/A45>:B!L4?&KI#
M$;RE+\+6R%;#<PU]TQ2UD <.H"K 7N#PP<V((YW_@+N<\- *D"W#8FTTHQ>L
MIW3M?,[6!-ET8S+ ?K!%)'';/]:=:<%G!4V#L1>4; +Z@)=P;%-\#",V$!^@
MB<8_AY@VZVGB0.1543#(A$)KUEH'0,$( QF\$\<&J'T->A!1A=<T 6YY!#:@
M&R<ER.#?_3'4=3!AC/6@I80>5M9=C<$2K%\# \L8;P,^@+I1P[> QR:".@*?
M-B94;):+B/EF?&8=YX7^.5B9KHJ]&?J0\11@"7"J<(R7397_P.J\K)3&PL1
ME(QF/%R[@NPWE_#M&C@ [,!+X[.",(#J-92Q%5WW!P 8K-6W%0GM=8-E2. F
M7"TG5Q_B5/[3N=E,)X,[M\@$MH[L6#\O?)=280PJ%TI8?_'<L>^=Y;AZPL(K
M JX>U^Y(9K=J* _ 3S#BJ98_ 3E1@=-5#$\"8B:,KM1H'EU?< .X51T!4<TZ
M3#/F[7"5SYOE7EK]!M4H/.7GF\$]MUOZ/DS@TTFBX[,<242 D7N[R'F*\<7V
M9*"/:<YNA W.)4,W6GW3-<-%M2LY'87TX54#/^I25+&GREL/!#'@?1!;I,A0
M33N&@M05V;9FRW!-D+.4/_TV>"EU^9@[E#*SIH;X[BT*#X4-DP>H+>^"A 35
M%KF7VCH9MJ'?ZG/R=B[H]Z^'4DB)LTT"T3D29[@ U5- =5DN-5S./+PQ^FK'
MSH9L9[*7::1_^5K'\+64C 8G1@KFU6#S7]!\EXF1U^JA)"(,?2)HMV[/##L\
MM&U4*7(.P'-VM 7"6QL3>*W+"DX]AIZ(#ET)P!I+Q!_FA64X&O!?#M[",811
MTZ"OA]P579 @@G4&E!CPX( '!3LKH:?39ZYC] X[PVT@*-P%./5)IF=EIL'9
MSG1X]LA!]V0QWEWE8 O 0KLW4L4-?[=.AFN?RH[^(/O,2_//8F ;E8?VC$%"
M8QM"!P](VR'4*5C3$<H.O*^T'$G@62X?O0@V&X63G)'I,^.D:NFY\]RZK,UR
M@\-P$G583HI0:>'MEV4Y#N?RV:^2PV.6'/:^1X*A]AQPT>U!JFNHJ#/<'  5
MS?A 11T .N>;$P+0.1VO* "ZO2$7IYU(:S3R]T- ]=KE>%,([4)KKR,Z"N@N
MZ<0;T'F)= 'V1VML8'(N8(9U(W03-V>':I5-"-TN5BL%O-MIL^ORY>.YI\A_
MZ.:FYXA%,MLL2,B??L!#OXA6M!.( 9%+GGL3"H+EO"=-9D)#.J':[P.G$DZ2
M&!H8P_#0S_))03]/6Q2:VI.PFKS.;N2-YFYN28 ?^>U9UB-#1I.7A[#1O?B3
M5\-#.W.'@G:>-K<^K I<59?J']1F*#DD!S8$5##MC-3!GLES6@).=R#*\QB@
M3.-WZ\BC$YIIBROQNUJ\L@>&#<A $N#,TQ8&XJW79LM*]77!VIHJV&"P1\!J
M)B\;"2$*?$":_V2L>)1?0[!]63 FCO*T65!<D.]_&JQ^IY)'84$W6&7B+$B%
M=>OBXRF_X(]_/?SQ+-"/7[#'(-@C-'O6W( !M:" ,T-MH@ _ ,)NM\02$8MA
M/#8191C,@CI35"!EWF= %(9+N)8U5V3,]*P9KM3 YST^B2D]($B\N29/ (%]
M,5_@@9/65&OPP-&  Y@3.)!Q!0Y8R:,OQ,#Y;>-@B(%2<)YW\'%[=G@!5[/:
M[2E[IV>#BH[<AA7O(*K5(2$Q]TO&/T?\\^=3^>GGSPL'-UP *;X0/R[&X@"P
MS$\,4)\2/WJJ!*Q:ZMMO692V"WJ\,_-L\(F=6TX^\=,BU9M+61V/1;IWEAE]
M&T$LJ*3OCAUN4NS.PG26P+F\VW04,\D/K"I816*D$:&A B]!$5JUV' &+J%!
MN*[WYV^YI-R C82CYQV95T4>!?5?LT?J7#_?74W?7MYOM(JV8H44YDTFU9.-
MVNW)QG97M<95OS1[G\(!S[]O&_5+#+5D*U>*7XW8_II&;*?2ARW3Z.M*;]W*
M>UUE!Z=KP]R1X:Q!N(OO>(-P.22")+9N\^VGMJ]4*/2PC"/)8*7]AHYF%MB;
M#\]JA2>6&SXL'_K;22-QO974\D?$!4G8;F@'D;;CDRZ12<]=.=1V E@[$L_G
M"#R?];R&,R@>8*X5,X*I!D;+0F:9?ULW%S<""$9'#I>R3S*Y)@6GQ*CK]SU
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
M'P"[3G97#]3U>W[%O/+4J;=P<L&N(_"Z\-&79@/A]W__S\4%5A4%:0!K[D:
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
M9T+ JLY3WL-FP6*>2Y :B.!!>V7<LS1.LL$9]R#Z^15RN*9DMRG2T,>"6AC
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
MDGJI/FDE4@P#6B@6VK425JB7L7+M]KY3*1O !:=Z21>T8!#5Q-'S,UT)@V-
MZ7;S2>3*&H\>%]M@'44V3W:A<B)(@NQV-S[\E4YR0W7R=$O&!4(8T8X(#66]
M0-=[[[ ,]T6M=V@@XU;S\O7+>^&M^7#WMO\.P[5]C1=X\F2!(!+X?'S/IVU+
M7Y.9(&RW3%W0#;?F%DV\,G")W_SWN1>FA75B6C:-:DUUSNNZ*@+[&FD&74'7
MM0IDU<#$&=9T"NB7__%X9SQXR19=OX4V.;:,C-@I!@KG. ;/L9$&:H<MK3A#
M4E,&J3?H5 >AF;B$YG""(G&62)#0"69V?C\*D'[07@'OX$?@GE4F$T _9-,
M$VBF X-(ANKO9R(I1>^\7? 'W5YX0HMQ5:3VK)-%ZX)!:N!K] 2U,40&N];8
M4!H9F]VI..BN7MX5KEA]7W4NWU+1N+O5A-]^HZ]/F;[^XAJ)4#$U)Q=2H&OU
MJDVDC25\^TU2>);.XKG<OABHLZ5PD,(,FW[QI"_-Y7$ZQ$3H&$))! NEZ3CO
M$,00R_:0O_NHO1#YAUP,L0Q=V?OMM[F,4^05+PK%DT<F+"K,6QYS>3S+!B-A
MSTD>(]$X0"(9<F\*LRR>)<\'#K7C-L!@C=V^">5'?-D]<51LWB=";M@WJW*?
M_>AS$RW;XM-5HGL8-#MN2&3)=MU\3!U)QY)@X(8T+2DF?E#!XUN3Y;U#DC!(
M!89UE_T(R.Q[Q;C*"^<C+^8MT%UQH]D]=;<2[AK] WD#WBV7M@V3PT*<=E@J
M!0R2QR'$E-RP:+D])3<6(.EO/[T@I1'/4W0HC6 _Y@!@,KJ[*K9'/;E>J#&/
MN<\!)D.96^&C+\T&PN___I^+"ZPJ"M+@)]8$=O0O\*;WF2#WP1MH[A<&)U##
MEY'8Q87)RP-Q'IX/M\$/D1)3P;DEDH!Q[UUHDK>AK"M3-P;9C2G2]#\!L5HZ
M^X][0J1Z82>J1<Y?6&<Y!4LLJ'Q/[/_"8/\!@^1U!=*6(NU/_<=Z#/[):P&T
M>V#7R>T6J__W/^#D=L]PBT-[JL"_7?0$(+Y@=5.PNK,Z-?CJ< 2PTQH>@D%G
MFV"</-;G#&%F)0/UE=%T!>@)96J K19C10.^I*!.-(07 !?.P 2$08]S(&A]
MX'(B  %65W0!(QD<@R TBOC51F]J&&]"OR-A#Z"9-,"FX*.R+O*2M#0A"";8
MH=)L@U=E$*8!]:+ $?!L 7Q7!%D#KB_D@('9*P+ZOU/@\*([4QFNX0SP-3VA
MS\\TY @/%*#RL 7ZZC$_!U\F"#+8CRY>H"?$N0 A:'"K6[_,6&1 WO4: O$C
M7:P-D_?&VA3 \JS5M87^S.BA43'D8@"_K[2AR"Z0Q@N&0[C"<)+ZLN[JS[SW
MQ-S?]#MZ_^SOZ5V\B-P;DS=-I;RHY\/@10KU3NT"045J#^ 7S4ZM43],9XO/
M"!*IN()$BJMG>IB]'4T[YP\2R;F"1)JE9NFN?/4VH,33!HE$"'=M$!,IYN)]
M7^R5D/=_Z+!@@F-LP#7*8V_^M>==49A 4#F$XPP&J02#G-OS# 45[ : 90>=
M1.U;>O&%1 XO7BR)W2^/PV4)G"!B=Z0\K5#2)SCO@.@3&[9]@4?6#J>!D*=V
MWM'"3UQW=24_\DTA5W_(YL_>K#U;Q[4S!LYA!GF(SNZ4=KA24S4;[2*WU."H
MFJ;-S!;RXJ [4%+I*_KV<7]5NKZ=/Z_>;".#K+;#R-W&+8":B!;T[;=S(X6
MC=@A'>GNYH\F%/^4WGIC:A2X&QO<;G=+L<XFZ=:ALY6T&$S_4/49&?ML\K'/
M)NG=U+G6P^CVN;C4F(AGXWM;>)].DHULV>UL)IQR *^'!;C]-$$.OANB[\$3
M@;+G1MA#;\3G,&(VIV5SIW88,3?"$?MM1%9<3(T8O]BNGK;_!]9\61)J5S0H
MW&J34FPP0TUR8=03]<7%!!D&0KT+@],OO3^&A9)V&2VW4^E8%K6^I&@S56@,
MH5TLR!HRC%L"JHTK*9JN64@.8=#DEZC>SJO8UNXT[_GF[NJRL*!TM5"MOZ71
M3".IDES&M22W)MT-G_3I'^(A_^UWN],HW>S$0@]0COME9,?J^,]C]CP1-I7
M]_QKYGW@0$HSW?/=J.PWFX' #(T^%C4,?@*H.9B:F:K*7!P(&/37X*O0-#D8
MF02N*?K F[#$A,E44I8"6&!&&0[%OJ""I0Y$5>CKBKI.3&DS2>?-2E=['Q/X
M9U@8J\UZ&G![>14V*A!E#/G5\"O&@C1%X$F^;TSN5 6C <(89HI@)X-UAY,I
M^&I%E@4)]<O8=$< 7PE4]Q3\*!H31 SU#=Z@+D2P<[#-"4R/P5=JLWY?T)S+
M7'=NZ,TT48;-#;":#HD$D9M(T^MC7E\GYHQ+(H-Z>=B("LD +#^84(-#&=YG
M@$V&HF7]64\;IP(N34$%]#:R>W!(@]'/Q7JGL'6Z, 6&5N!G_R)EU8/*RJ[.
M"JK*RR-4AEQ<;CYBZK,"_%;T_QX K<$5UX(A#!AL@&S CP3#9)YV9TV@* VG
MQAGN?^GUZ#NY,/AS99_=8%!J!+Y<1TTJK!<&V2>I[")>>(R+A/$SYP1<4#9+
M!A+MVV_2-6:"E-(_%B.:S)&Q"+80)0F;0_ZW; YLTYH?_@I]$'R3!+F9QX0/
MH6]$32UYA>QKO8W')D ^Q0OTGBWE8;QF =UXV(I$@$R;X5&,"7T]X,VYR9 R
MH-\. Y:28$"36^#A"0,X3/=C"K2+,.@H\%<VZ]2!;6\)$Z JP.]+$&P-* L6
MWP$"178'^K,[LV:OLR^O[=7]6-HXG<;W(E'\%M>F<=JYP&"$Q'8P%+N37#X9
MDGW[S>R8=Z:1C"Q>0VU-^ ]Q,IL@6D'651QR#GC.R2%,$AQ2@6,JT(>-UHG>
M!_RX;-PNW^Y%C1KN:"-K]=9J#W#BN<1.W$F"H -#ER"46Z :U+YQ#X+;V^@=
M!)2+'5YA7FCP3Q#H@70*N&]D;,B+*K1_W@2@#B#B#;9#@B^%'2XLW87(^3D=
MGJ0=G-Q.GZ -XF/C;-@Y [GI)@,7P-TQ%V'[?Y^N+HPKG"3NR[LK^K7\,!0?
M=+(GG&&<O;,UT\: =FBS"5@6^)#F:@-NW8^\015HM4+I"!\ 2+]5R\%0-FQW
M5?A8:?JJSI16O3 H&[M'B15*G=I#K5.KM!UHVZ.-D#'0D-$@-%MD-DE')0X\
MV0M+LF&R+;2E40$(E#6B.Y;P_WE\J1%.@]]X#/S.7F2L6/?E?WOJ?WX;E^:Z
M-]/9[6;=E0'MQFK-@/ZQ;1@<I%5-1"GR^Y@?J1)X_=<J#CU_*LO^ PLL4;=,
M?.=F)9T+/M0(*G?+:==@+WJX:#9?S-#$7;&-HBI]-V3AZ*7X]J>HLR_5S8B,
MM0(WDQ0X5A2 IH5>'&;2:V=*E;,&(Q0T)?&MNF:32+=82VX_< J7R^-,"&C*
MB74@\CJE';O.;JOM>-A9V\Q#5^_2H)*9V%X)@WL89+39_C!ZJ5G77A->!BUX
MXK;C- ]XZS.0C]UXN*NI^L4%>H.1/D?_OA-EZ'M;Z7*I]WY__<'1<WXS$KJR
M[:BN[UPW?O?@9#1&\H T\&-PN._NUK8=++]_"3'Y(^M6R6E$ 9!#0_YR"]F=
M ;L8H9KUF*I6Y5$@B,%XE?_<[&+?MH-=]B_\S?X@Z<#\^&DIS,V=O!-'3.:B
M<L1'0['L:O9Z6[I3Q<?6K+=FQYWV9]OF]3E<VGZTB'"5Q^O79&=4ZD>(V6Q'
M:7)W:82.$^F=XCY/9=_S1"O4:F:4^%*%G38]S<VWHJHOALNK>XKS,3?-3<<?
ME97"GN(@H//[=8;*Y\A0^.<C-#WQ-1B=!D N)0/ 9!/7RS^VH7@OO@B=*74Y
M;P@A;GZ+4P]UW_ML.1R#!AF)^7A^D5V9TC]<YP_Y&XGT:?/(MG6HY8OS/Y4)
M71X//R^/>%N&^?T="?H'ZS9'S<\R3$O+Q8S":)&N$%^KS_6FK)0KM?:E( W'
MN? F7_H79W+;CG6A[N^3>&BG4VX#6(+&NR2!<U=4<.1344W<("03- BKBCH4
M1-C/03. (B:,8,T57;%NP+Q$=];_4[G6RLO&?'7O%Y-THXH?X_^;KLD8N.M8
M_+YG*UH:S\9J\_O]5$S':DIFP9IY&FK%8)UDK<A)X:;8K-2G[_-Q" MAO9J#
MV0CA]I^(2<D0\;R@[;@CYPEI]#0I*V?#.]O69:WWN%*4AY6LTG\)[WB:F@R1
MA#MR@J8F=\C[-KKQJ;P\*NWKU?5<X,,;GU$OY"/?QPG;I@RQOU=$_:#W;7&;
M0J,6#V"&1; C-5+U-&7M-5=(F1D5DV5446<<O4%O.QAQO9D@V[2E+4OC^O7'
MI$;ZV*;KU^TW:CK(9(V\NUA\'<_G6F?*21P8LLGU</A^''9+J/-K)..73<F
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
M:NHD82E1AI/&)=_+;45Z:4\F5\K GWPG.[74W%UW9W/;*I?;KPM5UK?1Z7?
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
M@*XR=L<O,6!\&0H!7!/H8V:0S%M!5",3?ZT8C ,HKIKCVZ=L\>KRS>\ HNL
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
M;,.:6.>H-WHL-7?R3FT+.6CA!2QNWG[6_*V59%IE6R]*[D]E>3F.65=ME7#
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
M^(B#2L"WCS7;LGN&%I3KT7HSP(A-B)^X9;C*BTN&F>)7+'+&&?_HN+L7 Y5
MK#*-N9'/A^!LU!Y<*A &9\#5\+#<#4(42%VC)\&:F>6BUWIKV0.3Z;P[NNT#
M*<R%]; 1%N(O9$"9(:!U51,9E;RXJ!R4^[J,<YW:-SR@\ N7Q_C"<EW;1+B5
M2186N"@D'5?@0J,T?&<N=C_'!&0G?<-M7,95%S[FYK[D>9Y_-F\K>>G("3])
M' "GWS.(:_G!N_SDD<5CZA"8XYN!SP+=MW>0;VEYU*%ECH_ZTW9N8Q_.[5UT
M\T?T@=HK>)F-.,E<P;L08>!3@"<12 0Y]X3PK&2,2/[8U Y$-BRDZ@A173R.
MR.?-(HNK]488X.3ZC@T+0NAJ^)IC^S<<)T;55!T>KDGPXEN"(+IP[ Y\#C9J
M#X(KY96$<:5J.#B_NU"4*,PJOD737*7_K[\BB# 945LXX@ :'HY[&SWK&%NH
M/-_-P5.*N!$?.#0DHZ%/1)S:DY /+()*4<TA^7NRY XM(!1^X$AD_>[0Q3_$
MCHJ;'PNGP,%Y&S2DPF6(\0*<TF.]-JP-F8;P>A'/(.>!3\MW,0#TSE"?T[(,
MO$_@=PFSI;?*%?CX1TE>CL]1&(Y!5+I,=8=Y#7T;(%\U.'+<9W#\0 0_8[00
M.)HU&;PB+IKX#.'"<;_HWTKA$T&JHQG[5ZE\X=-2"$^).I5\88D"QT_ N'B.
MT?;1R^)?+'Z!A^!X//@CMBUR;@Q@PLAT?6+64(T662*NS86K0U3 &XN@ZP0$
M!P?\ ;<P@"C%L72@S'HHM:;)"(H9WQF":YZ+S,9I8*"QR<H06%'\H]QIA!V^
M0&@O[G;#!N4P40*:BMM]5PTPZ\$; )-H(SJ@@*Y'[329OQDYL<@%?4S%CKF7
M".;6T@P*A?70PP0"RV%*"C&5C ZH"9!P!"ET^*?A8Z;J6QP/W@*.A)W7?8WC
M7Z%3 +^7$?^/GUN \<WVA8/./1*;0VSEKEO"K;!47<571^A/( B.#>]H@W?!
M\.B#@0 .8BI*/#4B@>?!.(X^K(Q&$X3.S@UG4)Q=9^@!DC=\@D(2GKACUIT!
M+T$MIIH<[XJC/>H<X(W@Y$*W#/: ^F:MS.O>4#X7[W+P'F<NK48?IVL?CA),
M3&8 +2#4V/#+],"V<KRO:$03\4;<"1<S0]W77#=AW M<TD,MY0I\APB>OB=@
MF,4X"5OG8,<&-^T0@]ZA5]VG69CH?7\A_PFH%&J!,L9@>U%K!($XB>^GBR_O
MR34G:2&E=NQ8KB>"[9] _4T@): &4"U\ DIT$!,DIJ4"?3Q1!J+6"K+(5724
M1E1_A'Q,,7U3D#<>TH/.T_*H6^.@IQW#Z65N0$J6$3;^Y0B<WR2H*F%S!3(O
MNNP"F$3"(S2) RP@*[#-/<8"A#RZ71"V40_Z!L-O&7CUH&GDJXIQ .$;=>RR
M-VET2S[7-"<QM_D7-$38LP(SW [@M",4E4 P6>"ZTV="HX%C"M!WWM&;AFU<
M!F4J@YP9?)J"2QXORA+XJ8$K0W/S(HV-W( T(3@RQA@Q%A 8PH@Y@8H]AOG@
M"@3/>J$4I"Y-@^,[@M]JZ>@U!J#V9S];QU*30"G4-7!+QAD3RT ,\R:8)"^"
M%I6YMQ9"<B+S2!'SS& 7DXS5 +B+PTH+YS%RWMJJ=@NQB6_I\*".JB&&/EDQ
M-*/!^ 07 4"MV!0H\L/)^*+NFU1(\JBACF#^"=\O8E\TO?AY/JUI;-7\EI74
M&FAJI&CTN_B\8+(2S<@9BNQ?S[8,#B[E)R,=!H,1>( Q!C?H#EV/]?)@QD-_
MEP,3$GFYB#R(S@PVX$]!5ULU(-8/(&QQU%<$O3KOBM&HN.'(,+)&M,N3VYA+
M?N@(9XQS SY]8CP8Z0DCP(U%%B*:M)"F: ,IW/'R$/SB)A,(3* VQA<""@C?
MH!3>QNBDWQ3?SE)5K3E4E;095949MKG5%XY79Y;+0\MG:S$Y!M3L8FJ 2CC0
M3[<X$&TX/P3#4#< &@\(R-$E 0C;K!(65<?P!'/O7&M0JD-4*$@7)O"7%,>O
M"R#K8J.Y./_J$)6WPSGQ@E%'J(D$"[%X0?7@;DR.6HE_!V*V")9IYJ@Q*T;C
MQ#-CMYDY5<AO$HDQV4>4J7BA#E<1?+-Q]ST<*,-?.2 4Z.DOM3D<[92]X"]*
M0@C<2<&>71M3RLI@UE4&4\O*8+(RF)VSP=]9C@^1X1"8F.2S=5*MQUX7K[GY
MA%M1,R+FN4YM6X[^&)5WQFTGKQ0-<F,)19^Y6-$G64^R'\D1PL@(B4XGSZ<R
MX*VX+L:#\=D@=IM&,6$]3'\8&(VQ55+R'W\_8&W7\%@.%CT8#/(=<7O@AI<'
M8(BR6'<SC"KN,<9@@=O,@J# DWPW',#7":^W.9J\^V;K3RQ#UWHN")%23SNZ
MUEM)G&6X;EKQUL,_U9:+:W9),KW[C5?I;,_9%JIVDR<R\*)5&-S/MG5#Q%'B
MD/L-HH2D:_1Y7M6/I1=VEKU";)V/+P];)^.KU9W9B\6460%3A67E1*&H0(_5
ME[T =CIR\D1&_"H\XZB%2:4R1@\K%8E$?G=GN"^!DUXF;,@*>(A*Y\0@+S[4
MF^Z'@EK2'MW(:YB.83RSIPY4)YS;RF_6F1>KYH5(V)5P.B4+LH[\MED4!29<
M0;F[SZXO$XMC!>QZ')I+OIUJK')U28RW)*B*[4XL;N$<C)6-O"@N;>3%DDD,
M+W(X)FV\G& CTRNV\/9CR2<R\C!ZG<XTF]O4-WPL.K9M@.OF]X"TX6@9S14>
M3;CDV %NZ]W/CEQA7759+KJ:XHK7[=H#ZFQP^4E28=)DG0U3'=%NOV>\>K1$
M:<^ #\%G$7-&7*%.5-OD!ET[>"R\GMUKPA?[%W2V7"@4X@/>O %V\;C8\,A[
MIZ=4%>UD!<[3ZBOF7^I\E1CC)G+<\/&+FD=OT"8*?_@-UA@H4S198[2B9<J]
M5*R0(WP]+ +W[O_^4<9+3F;4("45Z9QP?OL)_/9T<C9,>XLJ#Z6]XJNM(_W
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
MZ>^]V_ZA_/KPWT^O;PY?GYB?V.#__H_OR.NVK0_QOUVO9[[[_U!+ P04
M" !#A8%8.NO5,?<3   ]%0  $    &9O<FTQ,"UK7S P,2YJ<&>=6 DXE&_7
M?\9@1I9I;%F&L68G6U08$1/Z$Y'=J)$U)&NV(:$F6[0OAB);S%^1[!$BR1:*
M+&-D26K&DC%F>:?_]W[+^UWO^UW?]YWG.L]U/<\YU[FNW[GO\[O/N=F?V'/
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
MYEJ@??6.++;F_P]W.W]7]N>_ 5!+ P04    " !#A8%8SX3+;O9)   >4@
M$    &9O<FTQ,"UK7S P,BYJ<&?,O'5075&7)WIP=W>"!PWNP>5"</?@>G%W
M"9#@$B"!!'>W>W&"N[M[(+A+T.'KZO=>]?>ZW^OIF:F9?>KWU]ZUSUFUE_S6
M6KO.R\++!H"M( N2!6!@8("/KP_PL@Q( <B(B$B(",A(2$@H*,BHZ/@8Z&AH
MZ"2X>%CX%*14E!2DY.34=.R,U#2LM.3D3/QO6=]Q\O#P4#$*B@IPB;!S\W#]
M8Q,89!04=#1T8@P,8JXWY&^X_KO'2P> @PP4P=W P=  L#@P<#@P+ST %0#
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
M+$HQ0[C8B29*NTM^LEH8U$]"0M(/'Z;+'T@X"]&>Y=4))5/<=W0X 5>@MR1
MZAP1%C"KALY_8/Q2 "9KYD_JVS2TIST._Q09H.F>RBQU_TXF2X/GBHGMR.D3
MVO$ZY AME2H^/+?'*EF6L[MI#C/HQ0UK,K^8G'D?%+^W1VY59WT6</J%US[6
M0"L5S"S+=XA/."7'KHU[A':B7K3G'Q+'][;L&?OLIB!GS7YJW7C8M2%MS9V^
MQX?E=^Z),(%S3XQY(;XSEPV,B,ZK*F(KE1K8$9;!*Y%VFH%O>8=Q8=1[0U9
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
M")UZE*2 >@"76CY6L0K-B*U2>W>-)RA#^7^8LFC 2)8Q+B0D+$B%A#-]Y$
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
M+5Z\T5*AWX%YZN+M!/?LIT,%AR+(^X823VC]WT!4Z)V'BEKIT-](X.'^*]]
M;-"L0\4N*^,WDGJ4?X07^L.%O=UBF#;3%/CM^T&B!%D2R W;,L6W-RC<VDZ;
M4-BGD=$.<!#"ZFYCLV4<5-52A/X:9.4&-&EP=3VXN3I_#=T]IX<PL6^&PYC(
MRAW!!*LM1,[Y*G@&4/$%[13UWP^;R.D?K#.)?G1IAT],A#@<K&Q[*_+1VC(7
MR(O"+.5H%JB6A*?SP*HYB(D2G&Y$+F@5M-+K >!X<]7,3E=)]CL\JA,@QSVD
M$V3D](^#A"_5PL[UD=TA'RX6R7X<UP5"$AV$?D:?( ^_CO[L$5V/_WACOT,>
MHAL.MKH<S_5_I6XAW==>'132J[#MQ$_[@#9/B)PQ9G/O40L9]CQJZ_IX%I&8
MCMG ('X/8SD.7(O-.&Y,F!!G2C(#00]-V'SO!AL;^WJ$-I02A(95+XSV;,E\
M3X)X^_$LJ0[VS)L661Y@8P2C_60R+#-?DRX!M]IT5CC3",S13=YTEC);ED"0
M5@ZI9HC$'/NE1 GX7/@D\;! 1Z;GRXOL-N1)P'6Y'PAW&&E[RQB3,*)'E\K<
M\\D2\#JG)S)<GMF:= FXM=:8U##+)TO ZSB(2;2NZ09\N@3<6K!90C."Z2T%
MF:DNK+9R&XD$,NS'AC+C->D2<'L7V!4^2RD2<&@1&WN(5'I!)5$"/N?!,GJQ
M265QQZ5*P*GF%R>P84!@Y9P85*JK.R%**23:TD50<1WG.551VD@DD&%J^\$0
M=B1EMKE4"3CE5LP="VJI>/>W[9U$VOZA;K<>1NZGP*/W"5!=+//>DB\!]Q9\
MS-C2+7KLXVC'L]]&( '_8R\@V+7O[!"Y7(]ORI2 [\EN%82Z7^GG7*H$G++H
MV4>;T/OH[FS_:V4>;<J5@/,'['JVGP:G\*PW9TO ^Q2]J"M84?/KU=H<&3A.
M9\1YZOCE.G<;@03\LY[<T,%EZQUT?TBOK*D,U=54"3A-E:Q1^V1KV6HGY<?H
M5@H))&@QCTEH#<OG#S8"6R0.HX8)IH9  OYA96HBVXMV-7NTFAP9.$X,TX6M
M0*WANBY?'NX-']5R74R7@-M:1910"[FE$->^K1022% S3' R=-#(*87U$G1*
M4:215 IJ'>Z6HT0EIR340-\I2(E(4CGP<S<@)2()Y(".;JV#.(21B'IUHIUE
MOSXBNVJ$[J*241(8B00DJ5+)* DDB&!2H9)1DCD][B(@"T\GHS13+-3%.#*Y
M9&$.TEVK'#4D$L@PA*UB[$4VM^"NRY" 7VVS]8(=0M7M 9<L :_[)BS<T]#4
MRG4D$LA@O/B(A&N\S<[$SF+BK.T0-=@!#Z"70#JVM&L+'9 R9D#[,IQ5NG\Q
M10(.T\-4U?"<E6SXWPUG:B6>H9@B 8?%DZPPB:A/)+#=:I!<&XD$,J2#'/97
ME6$O23F PR3O*;D='3+0$XXROI.\3>"CR":[MXK,"0B[_X%:5%58BQ#;#Y>(
MJ"N@'"-4CM;II)54TF&PV>"07F\=[@$J)DG*]QRFF2WS7H=1/LB4TR3E_![T
MRO!G!#UC6!QZNT_(<Y-'=+)I,Y-'B/)X*1WV_L>W$I.]HVSBU3HREHL0C;$/
M7RT, RWY4@-7N G&6-*3H=C%4'T9LV8B6>&:D<!!R W')-B8R$7)Y7#):_:I
MT3T348Q44A"+S$\#O^;B%V.9FL/KY.TN(JO<]HXADUYE1&]#*#_EF$LK0"AK
M)]X?L&:C2ZA"-<1V\@&U.=]._\I$.GSIE%#0R\&@7[RE))7F;Y&ID5(VZ:J<
M6N@UNO-@#YQ/#BT$)RQJHZR:MXEWR+B;!1YV=IP0[21RB,$L#WH8QO1>%.T5
M=NO^"HT#,D?D&3NH2;3#BTDB;GX_3/*6)7WX84N0D[SO85$.>5D/*R.)H-G[
MC6R%%2SC,'F*F3[D2(>^['F+78/,1Q>71/S&%XN[,.ZDET_ PO-OW=*U$<LF
M6NLS'5VB'E98-M%+UXQVB=I.+)MHXC=M"D!\;$UR-(KNPWH8AM,12OZO^^P^
M_1DB#KTU9E6P,743GB#2-JGG=(%,1*V&#(QL+TB= BXOD1"E#"(5)_MD ; (
MV4OHJN_'MF="7\N7XD*D?_#:^P%:?1-O<A<-S 5>E)LO&G,[N4ZN6XF^\XX/
M])_"G#28B<.OU',3K@.OILL)TLK0Z2:)DB<@I&\-E@QG?)ZD=H>[.,0^@NDW
MV#QA/VEZY 0K'_\.>P<72/$24\;3:QH3FP-5FL(+;.RU OH2T/Z%S=QG\^WJ
M/[K+__LT*-23^6AG!#OHF[1JS4?D;-K]5*1Y>$/E1NYBRQ89(6QHW51]JH>T
MVXDEU<O$CY#,4GM13!3%Q#>626[N81:CE512&O+.NFW..;71AW1/@,(IBO8K
MDDXZ6>V>JNNR9:[MU4.5!V;PD^)Q1<7U]QNNRYXB';Y"8A988$-GI.S#?F!-
MXZSV:[(NLB/78RL6S47K>0/C?-ZVQG(<$(17ONJPB[-"&'81?J8,)@X6/PKV
MSJ8CRDFQN@EL_SZV"700A-SB"KHV1X+.!D/\BEXA6VSP4; !'<$.W^+YN'EH
M*1G *7J[*!S9W$Y_%W;4=<ZQ=G))IX=A3 C\MNS7?)]03)&4Z_S!4[HL>T;[
M(:$N0]9IBVY>''8C>X,P;022 L,])#U+[E+=S3P[O0,,E&)+R^RGJ$.*R+ET
M/D &PT='2)Z4^O<0?AI$^]U2DZQ5(CE%8V9&>H&M"UM!:FI@*L520S6&I2*A
M["]\%Y%"$#.%+]1>84K"Z9[/I Y"(XZH"/32D?3=NA+-/HSKNW[SI.4%XTJR
M9KYGRR?WNS5Q^_=.6]/(V+Y#JG>>!Q(3F*#H8N>[-;7PI__S6IU>><N2OE]K
M=W[R/Z^5"\-EFLFVD'_ :-W]>1D&[H+Y)+'$AZ,864'*<3HRUMA:6HDE7=JF
M9SB2E5KE8$>>*"OO^ZZ7=Z-DQUP*:6JBD&%C;D1K1 JA*?FI*SY=4F?=_H[>
MB@AU&9+*D%_=6Q&A)EU2";@(]<;0=8E-!ZF-)C<,I /J'?+1LA#,W$TFZ7B5
MA$?0^ @V417FQ7( 10.%K+!E1W7K#_#^0>?6/EPD[SO G_\'4$L#!!0    (
M $.%@5@&4XNMX1L  +A: 0 4    9G-I+3(P,C,Q,C,Q7V-A;"YX;6SM75N/
MX[:2?E]@_X.W%U@DP/'T7#*3S"2S!VY;[A'6;7EE>Y+9EP.U1'=S(TN.+GTY
MOWZ+E.26+(D7VQ(YP :Y33=)5=5'%JM85>1O?W_:^H,'%,4X##Y?O'GU^F*
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
M:YB3&NFS8HNT@@F.Z45NF#S,EMV9]*9]MO#ZJ58)_0,N)DD]L1>Z"Z^EN>K
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
M]7Y) ?X_\N^;;.<F/R0A_[IU8@0_^3]02P,$%     @ 0X6!6!7W?/@5/
M8M0# !0   !F<VDM,C R,S$R,S%?9&5F+GAM;.U]:V_C.+;@]P7V/WAK@<4,
M,.GJ5'=U5?5,[X5L*RGA.I+'5JJG]DN@6(RC:5ETZY'$\^N7E&1;MOB2+(ET
MHL%%WTI"4N=%\KSYC_]Z6?F#)Q!&'@Q^>W?YPX_O!B!80-<+EK^]NYU?:/.1
M8;P;1+$3N(X/ _#;NP"^^Z__^S__QP#][Q__Z^)B<.4!W_UU,(:+"R-X@'\?
MF,X*_#JX!@$(G1B&?Q]\<_P$_P9>>3X(!R.X6OL@!N@/V8=_'7S\X<,'9W!Q
M(;#N-Q"X,+R=&;MU'^-X'?WZ_OWS\_,/ 7QRGF'X1_3# J[$%IS'3IQ$N]5^
M?/DQ_U\V_1^^%_SQ*_[/O1.! :)7$/WZ$GF_O</?S3_[_-,/,%R^__#CCY?O
M_W4SF2\>P<JY\ ),MP5XMYV%5R'-N_SRY<O[]*_;H:61+_>AO_W&3^^WX.Q6
M1G]UX]V$XN"/[[,_%H=ZC*4+0$?>KU&*R00NG#B5$"Y$ ^H(_-/%=M@%_M7%
MY8>+GRY_>(G<=UL^I<0.H0]FX&& _S]B].ZK#SYX\>Y]$$$_P>"D3'Z/1[T?
M023$".1T_F,('GY[]Q!YZ"L??KK\D'WC?Q^,B3=K),N1AT7QW>#]J=\?.CXF
MVOP1@#CBP$$<VR8\4R<$0?P(8F_A^%6 (TYL&%*\_< *?2:R'@QT]*R %KCX
MB C!(P@B[PEDO^7 7769%K$8.='CE0^?>7+ G-,B?/,8+OYXA+Z+3E_]S\2+
M-Q4 I4]N7((C#WUO&H((?3D]?KBB2YW1-#6]9> ]H$T1Q-IB 9,@1O?E%/K>
MP@-<KHO,;1C>"4!'+@^PPT$-0Y"C&LW  GA/SKW/V\_T"0U#9@1/2%I@R.<<
M863#L$Q#N 9AO,$;:XTW'#K#4K;@#<<#3VQRTQ"CDR'@WGA'HQJ&X1I"]]GS
M?82O@?9]L,3CM"CBW\0",YO>B3!8VB!<C<$:1AX70-KP%O9 %*\$.$D8V?39
M^@C#^")&2$^\ *";,02N%_,.5>:DUGAXSX.+-+1QWF&UQG9>!,ZOTLA68)F"
M</Z(-$<A<(X'-Z[W('7%6J>_Y6HYY:$-0S-RUE[L^.F7>,8*86C#T)@PN%C
M($8_H"66Z 0$2'7B'@&\:4US$"SQ<0/<@N(T2J(8R4Z(S?APE6IZZ C7$51P
MY2W080D"%P0+KE[;P-)-8YO<1^#/!$&E/PD<Q[3A7>J[3>B]+>N_S&_;6+D\
M"?K#%5K1W86 ) UM78\7@HPWK3V=7@@\ZOA.]7LA4*LLT8ZN+P8F:6QW>K\0
MC,+S6[8!Q/8V<U)[]H#P_B&.;U'SKDBUXPGM:>&"%*.,;U4CKP :>4J+VKG8
M-4R=T)%N+ 2EV&2%]&0QVC?V@?8]Q6,0.YX?F4X8HI^?>*9HA16:YMKB$;B)
M#ZR'&Q _0M=Z0$0+P<(K L%C3)4UNM2L*W*AUEJ-VU^KE1-NK(>9MWR,+^##
M11)E.L%6SYIXSKWG>_%&D#FU%VQ-TFX#UXM2^@)WAN1]ZFS2J[NJM FNTXH]
M5%&TV)-:HW39[*E*8^X*K<&^M8E$Y9P[L35(V2915? KK=:I?5A1YNLMUAZ7
M,HNP,CN(TUJ#\L F=,&#%W@Q.J&?0,E$K(I([97;L>*K"A-[5FO\T*/80WHE
M<*^2. F!MH)A[/TG56ST%Z1=1I5/U,HK=N>UJ,B3&BNUQJ=C]T15KG#FMP;W
ME>.%:>(?4O\STFD+=%Z&P,6G9:Z9(?43_2U9 ;<J6J<MW]ZN2A-W,FMA[[NI
MO)-$5FE+/T>WVX.77FDPB@KFYPSX>'/;,(,NUY] =30;_U![/KJ*YX; S$YB
M^E7-PTJ+M'C2.0'.) V<&MH,:W)K$%M)G.9O(VLZS^[$8%0%76B5%OV]52T^
M@:EM6B1/'LYLOX+ASM.;:Q=#$"#EK_)A6WW)UK!#MB@,%NCF2L_!;;IMZLNN
MBI7X4JUA,P8/($1'"?IH=D,7KN6JZ%18JS5\3$3'-:Z\0!L57UDC)/4;=&L]
M.V%U8[C*8NU%5"K?;]R9K5$?>Y(72%D8>V@02'6&;22E*NW%EVK/?Q7$WH6+
MOX]HEX==*GNP^&NT&O.J)3R\R:U1O!#@TA;HB[6.(9%%NL!@9_VDYDT]\:FV
M7(OQR:K:JL#4%K,+*T(K,K6]&]B+XM"[3VK)!VMRFW?LJ!S?W5F$J8T?>74B
M>+57[BC^75&NJB[3HLZZ1M8CCI_D8>P:JBIGA19A1P9C O*"6NQAN,6^8S<M
MRXIPF9L3.*Y3':$ZR[;J0;SPL3\\=Y2%("T[Q8!ED""0"A#6\3">L+Y"V1I5
M;Z(6/M5RUG-5# 6GUX$ZK6&.P.*')7QZ#Q9N'D1Y6J.+9^'#* G![U[\J+EN
M>BH[_@UP\"^/!'-;HUY:#B."_Y%BE(5:Q-=N%"&[7)57#>J#!1H%37/_G6SS
M"R$NZ@5!1*@(K08N=]'F4$"427PGG"!=)1IN]!>P2*VA$3IFEC#<U,9"<-U6
M$#E9SAEK-2H\36S(5@$\YALRUJS KR\5_"7;VIRG@DU9JCEPC<!%YK";./YI
ML%+6:010#3O7;+3221 25VGP( @=' G0T T;+,'IS#]8KT4!N(+A$@8 ^YV?
M0+GFNP+$U)6: [80<FD 8.9JS0&="EXT0NH+L.%-L/:P,G.:&--6:_)<B#P7
MA 2I'F[07C_AG""O&\4'ZS:'R!@\.(E_7#=8 >+C!5B@.>%B"QUI\#$$A*Y
MV^9$N!W0Q_3[CVB)<)'<@PO7PX1*];'\0R7T\2I>$+]'0]_G8]X3%V@?[MW'
M+ERX<KR*0)=G=P!Q^J6+%5C=X[9(E< ]G-H^K([O5X,PG= ^7 &,M:J@;>=T
M*I/9KJXME-OIAS#G68QHQ 3]>  W>(FQ"V%WPN$%A7S8!SVZO!C/RMNQ70XN
M<.^V!!_+Z)_YR-8A(G?K.H#L P)GUR,I!2U "WDN=BX-\OF#[0+= DSNX'4
M_4_BT _^<K#>7SO IG)?KP/<?F;AME]Z !\&V3(#I" -#I8?;-?O%-5R/[ #
MO#Z*XX57&N1+=8H"HU/8 2Z_B.-27/+_.&L8_7V0KYPCMD7-AXL#?'SLZ84A
M0RMZ<*+[]!1,HHNEXZQSU0AI0MO?['6D_!=W.^ 0_8"!_KGCEN_< S_][%T^
MF#3VO5RH#_QU#(CS<<?0[L5'"[=PYU>'X/V<W5>_X@ 1$CC=3[^&[KS,8;V%
M["&$*RXI<[)!)@9%VB) W@U@B"3IMW>7/^YAP9:&^]N[.$P(*'?,H$RV\6F$
M#$VT!;073T3"R-,:91]1R>:QZY +%%:Q<"9P3A:/CL <YUH[C3>4X8WRI&Q#
M\!C"I#4408#&EP\_GC-C[BX)X#?%FZTJ?>KA=RKS4B1I_/M)&O\0E"L8I!?]
M36Y>TGA7&GK7.-L.[5P*2]A[ _)A;OIT*P5(K^;&79[B8P3ZRP)$N-K=R;*I
MJ&1&LSB36M@HS5%<$'PJ\:7=+3,<O@Z JSMAX 7+B+</R./O2&>P*KSA0TZ]
M6:2Q15LLDE62)F)9R (."48HCU/"2]R1#F#%F%<-&>I-(XV?F2N#Q[+BJ+N?
MU>=*"5X:X7^61G@3!H2<0!XC6+/N/JK/&"[\-$9]E,:HL@<';6L_<=.V+&%*
MV3A+ODT[^D$RBBR+M8GU[S[+87X%-T1C:"IG!Z=5$E$AM,S@]O%0]1E'A)BJ
MF<CB >WVO8(A\);!* G#M =7Z 21L\AS/=.?_"SS<Y=U8X+8>K"=%Z)89C<+
MG;^=@J&\['1/#:J&)4W!2BOG<=T:0[W:C5&>HT>@4O4JJ;>U$44)<,=)B"\7
M$'K03>U=$SRG?V&ZCP6F*\\D<2RHZI9B_,LNH?H,/)I_KAPDH4%CX2^R6'CC
M!3!,];M,9QN#18@[;ETA:AP4JM&4O*^9EDAG<E-?4%X,&D64)BB?I/F2BK4'
M^_J.J>.EU4A9,2:6>/Q6GELL3IB!K (0S$'XY"U MCMP0N<R8UUZU#%<4"U_
M67G!ZH0 -('[+$O@QCA='00NXVC9#5&>A8>0TFC]12W_%E+_=P?8,(D0BE&$
MI.O>"PZ*CD0=7YSEE.=A?:RH/I "QO]X?X0P N>/]A/OZ.\/9AE/7[Y\_'B)
MLP7W!7[HAZ$V-^8#ZVHPG>ESW;0UV[#,+I*UA%XB+$#^TS'D<^/:-*Z,D6;:
M VTTLFY-VS"O!U-K8HP,?=X!#D>/%A: _?D8V(FNS3N!B?%T80&^C\?PY02<
M#V;Z2#>^:<.)W@&PI$<-"U#^<@RE87Y#(FK-NF&OX)N&!8 _'0,\G5E3?69_
M_]M _^>M,;W1L:R:XTP<OEJ3<2=X'#V 6 #X<PE@S48P=@&5R/.'!4B_'$-Z
M;5GCWXW))*6G@0XN\]I 4CO0YG.]$P2HSR/NH?[P8^D<L- 19>NSF\%8GUIS
MHQ-(2>\F%H"\)&VSN7W3D2!PGD\L %JZO.9?K9E]D9)S8I@ZOL9&,WULV)VR
M_YX(;.F^*K)^V 6$I"<7"P"6[BC#'%DW^L#6_M7)\4IY@K$ 8>F6RB%$1RIB
MO3;KXHHB/LQ8@+%T1\UM:_3? VN*]:@NR$A\J[$ 8.E.&FE3P]8F&: = ,A]
MLK$ ;.D^,BWS8F29]LR:3+!VAPYZ'2FJW1Q,3;S06$"N=(7-]6M\R.KCOQTH
MLZ-;Q)H;)..&>67-;E*-/+WE=$0)Z\88X;M#-\>Z.?K>!1EHSSSN4?NI=,_-
M;X=SI/)@?4?_UM5%4NF1QP+TI0N08UH,_K)=K9,BI JO/Q:0*E^6/*2RM;I
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
M\^"<$!*MAGA.Y]+6GIPY,4C]!ZY(-Q[Q-<Z8DWRTFHXID7LD0B>X3IS00>
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
M?Y7MA\>?$=/X>"@8]3F"]9OC)ZD?4?-]^(R;Y%=@6'GR*^ >!2GE0D(EP$W
MC-N51[\"9FVQ4"YJ5(*TD&9=@4N%6:^ 6\?8",29.M4XK(#R@DVU-<Z(4_5P
MH_&M[LM#S>^V,0B]I[13V#XYILJ^(\X_([Y6QXO&T\]M[D43QCB:N0R\_^PC
MA>RM=S#EC#@BA J-"5\4V%B%Z*O01BJ,/R,V\?%@Q>(4R8XP84!'G1$Z_YD5
M.C=Q8L!4GVDV?@)K8LWG@Y$VFWV_LF:_:[/QO(^<]Y'S/G)>D\GHG)FBJQFZ
M[&#YT; SBX\3D50HXK.#CQ=:+0V4$_@FTY-"<W7#VW7)KG(0NP9KNNR_^ SM
M1YA$3N#:CQ[NWN6\? <.\U$&]AQ)06B:=,,*8'<2]BB!@4SIRA0_F".K+J\&
MR<MP4VG>+M'1+ZJ+>7&.K-A]'3DOP4T]^=LE^APG#U0F^]&LNZ[;9]0G/ ER
MZK'>+NE-K\8I<SA)UO-I-0A/ )P:M&F+[OBQGWA3@>;'$V2Y2BK1FP@T-00C
M39^OD_?#R(21],Y:&\8Q\^DUV7ZL<CT+\_&0C\=.*V+IBO2G0WKW5.^>.EOW
M5%_8T1=V=._?Z@L[*K-*99]87]A!9">]*N)\"@78.'3C>-B!C6/J3R#<D&VO
MTK S"DY3P1=0Y571"FN97N?#(C%<!)0&R2D$0R?R%EK@CCTT"+@8C2D(YX].
M"!@)!+^P$@B&VMP8#31S/!@;DUM;'V=)!%-]-IA_U6:ZI#8#6A![2'/$(YZ
MM4[',5#\Q$)1,VWC(L7.^(9^,<7=%+IMGY"=#T>L8MK/GRGV<YDOO0W=V]"]
M#=W;T+T-W=O0O0W=V]#G8$._ A-:Q>8(TS!/D$Y?1$MUS<B(HH28Q9]/HL^1
M%=VOKY1P<%'.'B?!:R5Q%#N!B_"OQK3"Q-?!N6.$U#?/4^ S8U5;((N,UQ3O
M"\MJG=O6Z+]S:W6@C9#MFO;"DYW0G_)FZ"#%?017N+-C5I6+3-!@F5Z7P\U^
MR-39I.]>8QD0, :;6%O.3BX^Y<'!(:(AP;$J&_R$,O9G<\)T=)XTS@\YAFP4
MQ@7I0S_M)0_]<#?#.%!L5?3WPI^5>..F&49 $G[=J&(B[* JQ5N MP,ZMCR)
M]()DT#JR)QLDIY+6H3C)N[3Y.%2_021;)?27"=&8@R&=9[Q3A!4RP*.>#IT>
M#S?."Y>RQ2&=1YKYE"V!UW@069Y^F@>9"E:'F;#]&XU_ZNZRZ_?_6M?#VB%1
MTY8\,74A!>S^&/;,-LT]2/\![BTR&<."X8?[<T3Z"U*0O A,0V\!TCU50"1'
M[6 ,.2NB2PA>D>Q)H9QRSL &M][OP%L^QL#5GD#H+ %/<IO?^RP 7I'@RB <
M]08_5[F]#G&#)"/("F<XW0Y;^%@OC\)$HEH\RE[C*2K E72%,[[^BJ2N<ZK1
MQ%!:$\GZKC+BCFOI^FX.B%<DO+*(1Y-A::TV3[TTKF#X +PXP3L^</67M1>F
M*^QHTMZESOWT&Y379DA&D])&6XLV>GF,<*MAWT?71YAB)>WN%P/D%4FF3 +2
MY%1:*]76]Z<<$_\DL%Z1K*M#3IKDUVTX>[KDXXV=)7&-D] +EADFV2%0V/6[
M;<Q2#"JO]0IEK"8-:()1MPEN^U>W_K+(,9!T9;,!>$6B)8-PK+0<1>]HGLVW
MQ5*VX5X)CE<DQA+IUU&&0H<:9XXD3MUJ.XY>^M0;E,EZ)***75VW4:>!] )2
M\F/J'&!>D4C*)B)5:.MZD50Z*^78X8( O"(AED$XJN 6W$KJ5+!<.5Z(7UW#
MCU$F*UX'AL\_"M>R7&G&;/!-F]SJ VT^O[TI]6,XKSU<$K&^KJ6O:VGMO.KK
M6OJZEKZNI:]KZ>M:^KJ6KKQ&?5V+*G4M)9.[K%+<']\R)#U>?UF#!;)5;!"N
M+CEZ:RO?E/6 0;N&9'NDHLFCNL$.&B%)^,Z\Z(^K$  #74 AB-!NC=MP=HA^
M^G4*9^L4ZT97E26CVSWY#?IH&=^+-QU**?GCO9S6I!GU=C\[217)%D[_.$:X
M[ZC453T,%Y!>@AN@']6^DNU5+B03";2\_7Q9\B 7O,8*O1FS?86:PN'?O?C1
M"%SOR7,3Q]=?%GZ"0ULEMN,4O2F,XA#$7IC)!@@0%V*1MKE=PB#;\]PZKL.-
MC<70>M@O@\:BWR+TR)\7=FFK"[LROO+NMQ/5IZXNMQ1VUI<QHCKN*4,5<.(K
MSWG((Z(2D8(2;)AP,^!G6>B/WMJ&>H#N_ VU$S )0=XBW4<<V#Q@\$J,'K(C
M%#+8J&JDHR56=_BN^ A]'V&/#0O6\Z>E83(B('4W#.2@T7BDA$AI?;7VX08
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
M3EK97Z##?F/GP.#_W".JH-_\?U!+ P04    " !#A8%85'H&<FZ.  "J'@@
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
M'1.BHY UG&CB/DKP;#,F.(SRNV#-EX(TP81:W.D^* /HSJXHA:QWUE@"%->
MDQ"3J^=OX6'*;P$)V9&V(/E=Z2%4@LXV16J!-ILCI5+>.6"$)FR6Y-$CD^;W
MFC!Y-$LNMW=2?J=C%%(0(0]Y,RT9E)+.;GC40VTN>I2+@>"#'IN0R:"41J5X
M20@PG0M+%S/;C BAB/E@2=.S*&2=GA32P>V<$I()>B>/#3IQM!%3;;[MXQFC
ME@X_C=S^FU]PCO)=0,<F':4K=D*/^,MH2S#6IA&3"3E;-E,";);.! GO/-'"
M$I;0\!?42+I9'%VF<<%V(>G&)1I9UTNF2KC]U5-!$ 83#.AD:ZI\2;56N.R
M1AV,FJ-0;^&G(>X$%F#(,<DC35CQA/4PU?< U6YH"GA0:CT<+051+0EE8GN!
MG]/XF:T"=@S1SG$;=!RG!C?#[Z4$5RN 894-2DD*\%('"52#XI;8O9#3),M)
M81CCR 3='@Y3 >V>!^M+@2&0$IIXZNLI1T?)J]ZQ@LG^/@T2]4I^3\#9\KT4
M6+-FWWGJO8:5D,1\%F2/F)23.2^;V2Z/\US&&2Y@H:<*E6I6ZZ+AI]6@4[L:
MIA/V->Q4KY*I)9URX1F3IS3#]Y;C3^,BVI4'H&=' Y\#$K$+)!9!KLML+HJY
MC 14(-MQ0%_&NP<Q .L3I19#3 [*P(3=[<6!:X<B@I3;%/=2B-UT]AT1,,R0
MXQ(O#J52%2NN?"[@ 2=AF@>Z P$]$8<G :3@6D< .L^]U[$&E&RO=R7G8,-_
MLX#+5^M6I,C4BQ4:6><+YBJXPIIY7Q $%4SHU"OGU2KI_PCVA[\@KGCU R$+
M',3YJ_[TO"CD\""( F#K$$A/ @0'E+!D#J&4='#^YW'>.XNH\_X*48>]@!9L
MJS>0RL&@@1Z<U=%/%Y28)>J<<J*(8PH(X'I5WSR'5.5]4,JJOOX>*4.@YRG*
MTX9X\.([F^"NDG&\Y4W7=G7"WC:^*=NS6A(&!4SP;'; 7;VY2Z)/'4/TXAXC
M?R5+=+(@>&(!T#@$*(-_'V19?4F'D*4E[I$L F@-61I9J&3I [0D"U5S3Q8J
M/LBW=!1\$D8$KJ/,41HL:02(MK1ABLZ)<T>_Q1#>M.4]TD:$K6'-41@J:02$
MEIQA>NXI$ST/<C5M>9^4$6#K*-,(@Z5,'Z$M9?B&?"@KH=-DG>[Q*G@9%?DN
M)5'^JKBBWD;!Y0J8&7A[,4PM[9U>UA#%6\29 J(:J%&YZ*7QY^\%#I(@#!;X
M&2<%'FUQLM;O[M3(.]T9;(+=V2"L$@9#+!-"8;LPET>5 BHU('FL'),DB"M\
M2TR>HS6>+I9::AFUW/HN*Q.Z#DRK H9L=CA%5U9J-:2K]-"W5!-0DF/J:^>8
M1&FH.R39E7%Z.%(&KW,HLBT AC,R5,*64MK+E4)7W2?\)5WMTB(+DG"UBTC^
M2E_[&PXT%Z\:%)SM([8"WNPKUDI[YX4UQ#Y)?OSAIQ^NG!VN#VN6X&$$Z2EX
M(X@4N)(@'6F8!)%!E!#D@V."T!\&>I"N@C\/(@.N]B!M:9@$D4&4$.1'QP19
MLI!G&$4$%6\D48!7TJ0G#Y,H<I 2JOS),54>HZ&]35_#&U'DT)4\Z8K#I(D4
MHX0E?W;&$C8;G;_:,D24]L .%60),_JBT%BAP"<RXH^7"U+E(]J,Y*W1+/WK
M.)*E?_QM%>4QGFVF21@]1V$1Q)+1K$;.!4N,,!D_E$+>F6%")HQNF2S+/'N4
MON8P=YPF61'G@6[?JT3&E7M0PJN=@B#@O<)UJ,1\3HW<E;>T[@]Q^HJQ9G-S
M7\+9AE8YM&8_:_<QB.J58Q)VL]92?EW\@N4$4[CUUC-7KER 4[OOYH'W*I:A
M$5=T@SS*\FA-W?,##K*"X MF+CBIHA^B)-H7\LN*),]=5;@45EWIG8<@*EZ&
M2-S#RF7\MNN'X$5?W=WGSJI;!JNI[O9#&-4M0214=RD#9^UI]"4@(<L;J5E[
MZLFX7'N2PFNO/74$O-- ATJXA(;)("8$96-%'67P+4:S \NPH%W]ULB[Y(@1
M=ILO2F$PW#$A%,*'74#P^_+:@'GPRD.'5OK6=Z@LX[J#@N/HPT0>H[3[\:"6
M. 91[[2QPZ<>+5;7TK@@R>Q+@DFVBPY\8P;.\CG] #M*7'.J7WM55_09:DS-
M)5L]$,0:"+;/LD8=U?JH+N *J85/#'W_,R7C(LO3/86J&-O*A-P%P2J QTBX
M+^&=.UI8@B^J9*ZZ!8>=PFC J-<QI&+.%C T()N5"XF,]^HV !/FI?F1F$;V
MRM.5OX[GZIG*UD-GDY0"H&9^LGD"HD8%.,*L)!6 ,Y)M[N6[*;(HP5FVQ%N>
MX<'FAD2YCI=;$G7PI3<ERA2\$V@(2F%$4XE<]9:C\AWJ T_=Y\X..,E@-0>:
MV@^]U[ *D:(VK^OE;\;SD;(NVP]=5:0(J*[%XQ,052C Z=<?$_ ;HS<^Y"-.
MMR0X[-A2B2)4U\BZBMB-<.O 72GHG1@VZ/H\:8M=8T8SP^L_;--G^O6+)">O
M)6&J/XY\J7[XVWC4,ZG]P 431""LVH^_>J]C 8HP+AL]CFY'5W'7GY(HQU6F
MER )1T\D#4*E_]9*NW+H%I!K#Z\1]5[K=OCZ5"@UZD0[_((PKG2=?F%82Z?X
MY,1F#URV]".0=DO_M/1>YP(4H7H?IZO)+5JN1JO)TO] KGC*\-\+VO-,GNE_
M&18GE=).!V]ZR)UAFUS4.TGL\ G!?2.-N#BH]<R>*=JU3(6L1Q*IUS"E@E )
MI!\;]NESU?XDQ%%)&_J/(UOH'W\;I\^8C)ZRG 3KO&>7Y+D+5BAA,28(#[W7
MO@J1N/#XS&?Z*RG7%7V;KOFU0,Q-22SH/G95S3)0=2VWGX&H9 D@X0JF2H1W
M!HXK>$1?'+*7W\7!5@*_]]Q5%4MAU77<>0BBDF6(A/U+M0QB0KZJ^19G:Q+Q
MS0LZ.SIBSBM= E*H^Y8,+ J(P-1,:,EZ<NP+O(U8U\(@-#-8&C>FD'?M^K6P
M^WV!5!@$:6P0*GN+MA)JM#SQ:)0D!<LW<TB)CCY=,=>LD8'LDZ4M XHC$F!*
M:I2RJ!3VQ(A_+P*28Q*_&DDA2+KFA0)JGQH],5#LD&-3$J01]\N1%0F2+&(.
MS$@24=3Y<$,!5AAZ].1 \40!3CTD:>3],F6YPW$\3O>'(#$[%)FP:[:H ??Y
M(DJ"8HP2GI(S7 -5*G!HPV?,;FF89&EL2]XG>038.OXTPF IU$=HR:)RNI/I
M>6)2F?:.AMG$Q"%!TC5[%%#[O.F)@6*,')N2*U5.0B[OGR23)+2B2"/GAR ]
MF')Z5$( R=%%9J(&E?9)C+LH6P=QB>6._M9?G37(NB:($FZ?)((@***HT"G)
M4BK4G.$J7@G#TAC9T:4EZ8<L E0Y51HQ@$3I8S/1A,E[(<FX(*2#6MWCJ$6=
M+<H:P#;KLPHY$$0Q@!./:''Q#E$\]4"3)(_RU[LHQH^%9#^'7,05-U3@:D[T
MGX/@@@*4<-J'BR$FATI!+S5?KQ(D.;N30FE.7\PM ^0@NRSHR@!B@A28@@U'
M67Y%B!=&C*EG(D$\34+\\F_X56F7(.>6$PJ875+TA "Q0HY,08M*&'%I1,6]
M$&-.HGU 7I?1VM!5B()NJ:$"VN5&7PH0.130%.RHI-%R.O;9DZR"EVE(B1IM
MHC5?=#:P1"GOEBP&V%W.*(0!44>/4,$@=F]'5\LGD=B56>20MK8[C,L=]^,T
M5$<H!BVWI+(RH4LMK0H@@MG@5-"LH_JNW)."4H*J A KP0OC1F%(/U16_<]]
ME. /2ONELF[9I8';Y91$$!"3U.@4_*DDW]7_0$R'W3H-A#0_#C#U1_^D^=&6
M-#^")LV/IY!F]24%0IJ?!ICZDW_2_&1+FI] D^:GDTC#$NWXI,V8_G-&5ND7
MV>9LI:07RHA0I80YBL&CBX#-1!:FP.(9IN*3)CRPFI$Y29^C9*T.F57B7@BC
M "UE34\6'G7D $W\:0+B6L^KKRF#<F,CJ<7\>)DN2+F+J8YK@R-)%YC1N932
M/BDQ3[,\B/]W=- .Q.7"7N@A!2PE24<2'E5D\$R$*7405?(QL*[HRA8TI$?)
M>L_='0&6P#H> 6X]!$$"&2+Q"' Y>U(*N:YFQE&" X5'Z#YV5LD24$T=MY[!
MJ&(1D%##O%U3&1\-^3YE>Z1V::+>(""*N*II%;BZMOO/0=2X E2_UKD8XG*>
M9N-?<IQD<O?=>N:L9^_#:3KR^@&(VNVC$;KI^KGCVOR51#E]\SC=[XND6N61
M[1M4R+FJ92W,NL:E0B!J7X>LSX1*%G6%'=-BF<;1.LJC9/M !Y\D"F16R81<
M$4(-L&:#* &""DI80M:>1A#5DHY),">8D1#3BN"' '$28C+;;*2]O4[8%2G,
M@&MRJ"5!D,0(KT\6JO!^W=) I0KB.GYI,\VR I-!Y)&H>**0$KR"2((\1#JI
M0!I)52KZY-82KPO:/[Y^^/&)W[LK<[""B+,^20&NZ9%ZST%P0P%*><OQAQ^_
M??H.U5J.J_\Q79$@I%WB\G7_E,:*[%-2*5<DT$"L>2 1 4$%-:X^&QY35(FB
M4M9'=JH.6(DYO>>N"""%55=]YR&(2I<A$AI_IZX]N?S)RWK'KMM3'$B0B[EV
M_3*0????E@%! 0TP\9J)4A35LCX.)!R[K*TY"-AZ"P*VAB!@"S$(V-H& 5MO
M04#]VC)%"/5+LZ<XV@:*Y(1::=>DT$#N\T,B"HHJ:GQ*G]&HH*..ZXR6/,79
M--FD9,_??T?_(;%2(><LIZ4.9I/44B8$@B,Z9$):RS+I7$L8,6G7O"A"=O="
M">8N2H)D'05QDQY1-B-N5G'&%DOP#7$,\C X9 =2H%.I5N<R;!2/J2Y=3Z67
M&S!^Q7'\;TGZ)5GB($L3')9S*;*5(KV\VQTS!MC=33,*81!TLD&HV#K#E-[_
MSK10K5;-A'EATN<T+I(\(/PL.9%Y)H6<6^8H8'89TQ,"Q!0Y,@5#&F%42OLY
MH%UFCVB"+.;PI"E@].*.CVMK0?=.;4ME 7%&"U!UAKO*^7&,C4LM3T<L<\SN
MBXB>\6V0!Q4VI;TJ<=>'*G6@^Z<I9;* **0%J#P_V>BP5#%!S2EO*6/(F(9:
MVU2S2[PGY3YQC !1S!W3B "BAPR7)H,,0;6L%RXL]T$<US<2*VWJ2;GE@A1B
MEPL=$4!<D.%2<(&+HEK6"Q<F>TRVM'O[2-(O^:[*SZJT32'MEAM:R%V.2$4!
M<46'3\&96@65.G5*73_D>3DF%"^S+*HME8@ZIHT2;(\S@APDPJC "6R)\9K-
MMSRF.5JEZ%.&4;[#B&]G#>GOK4SP93F^;AI9\_LYRZ@\"0,BHY!.V/FM(TK
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
M?Z&^+,GINV-V4T;$[L'%F?^]F0]1DI+Z,E\*2/$U1#&7C%*!;/.I+P/&"RF
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
M.,6%G$J<<2ENS3 ]^>=4NP%-LZQ@K<"*73:*OAR>WA"5MY-K@71U6JC*V26
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
MDL:MW>>4G)93#"L2\!-0A-Q'"9[F>"_+RZ 3=L4J,^":46I)$&PRPNLSJ5)
ME0:B*HPY;$V>#JF8-N+JSB>(<A*O,-EGL\V*A!25;A2O$W8V/60$W,P.*25!
M4,@(3Y@;HCT9B>BPB&OQ;;LBF5QG->?(U8/OWG-G.<QEL)K4Y>V'(*@@0R3D
M*7,_%FY@K:)<NA6G+^"\>CO A/KE3V%5<!N2D(J>/7.]*["(\8<?GO[Q X4W
M"M-#CE6KE$I)9_O]]%";S7UR,1 TT&,3MNU1:<3$WW]H>WA4:;I/?6E/%IVP
MPU27EI112X)@C1&>+*4E+/*4_H^_6YT33";DMD>1 >SV*FT)$.10PA(S4*8'
M7ZF]VO1=D7V2VW0R;4$??8P(5-;%'*5 T$$+S;:#656)X'SW,5JJ:&0]]3!J
MPB@%07#&A&Y(]^*-.O40VI1X4B'GMI]1P.QV-2N .29UR(3AC-]TDB74VX)P
M!$I;C@)N*= 'UJW[^BF@2N]!$L*+EA.H1;W4>&OY>+L=/0=1K+AF3R?ME@M:
MR%UB2$4!L42'3YT-BPNR745>UT_F:1RM*?(Y2=?WU@LI"BT_*RI:$^1+*U(5
M$(RRQVE:;*EU49"$B!6 PW(KV[VW=9?&N+!MF'Y6Q4+'.>U,\ 72J11@4<Z
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
MWEEZ&EXI0]_S(P^H71((4A*\HWAH2%V>E2PMLF>EG;IK6@XQJL]+&UU0Q!P
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
M%0]Y7M1;G*U)="CW*,])E*RC0Q!7)PLCK!JNG%J8_RRWM@:;<]^:2O+.^(O
M5]SD7LTH'M>VWZ'P6*#C_H[/E#;;^_@=B=GH*>/]MC#SJY"#T\=9H10W0O%;
M4=%L@_B]J._3S?LBP^7EY8CVD8@7A)K-5YY"DNY-EASJ;/.INL)5UO:T"HXK
MC4*)TI .VDBN"T[L( L;1I@<"U!8M05\(^H[](2W4<)WD3P%,>MBO'<C6N,D
M]VV<\HVDQ;CL.DXUTIJXDC+<,/G/)9,3O&4S#R>S6(U?MP[U=?B<GSSXG$ER
M>ETU@*T\#DY"N.ZFZ;VLOD-+VI_S$""KB=:(PN_4^E#[U"J#C;B6ND)')AV!
MWY?;?<OY-'D'I!9S-<+6@:RC5)F,]_&$ 9B< \WL)BZ%@7F4*@F(:IRK$O;G
M3_J U>ZDEH0=6/10"NNZU6,0H<-)OMS'$&50N"!"-7IS^R#!?=U4EW /J*)*
M \X,P$"\PES C@;G[ZG;W:,#"].!!-X-?K8]?' E'97>3#U)( LM*TVV@&MJ
MB)]S.RS2S7>:$/8K897F0?P6IRS=?G)*TQ,F+%4?O=D8.-N@3[0[R?CR"@[1
M@FU[MNGVG42+]VQ]%RL85:.\+? C?LE77W#\C!_2)-^IXLG3BW,9<9YK=-M=
MG%H6&&]RI@%]WE.&_?'-L/HW')#5E_3,+].4 I'#/1-/H6Y5Q)MC;!>WA*C_
M^&:(>N:7@$G-<SCI-C)@ 90N0!Z(>G" YI^+[1!F\K)F-R7OV5^G?!!U66!8
M:C+7FK*J@J!-6IUCA)!G8G^@D3%;>*G5:(EO=^#WQS<R'&^ &J>W;O$:[Y\P
M03]]>(>8'P#I>VXK\DB.:-JK^?8H,B-,SJ.M SKHD@#M<Z]10#$?-S<N <;A
MS'K7XZ+9]/B1I)EJ=*N4=LDR ^0VN12B8#BEQV>Q0]4_?^JML7<IN4V+IWQ3
MQ#7..<'[J-BS#=RS?(?)T4HEOTXMS2G_SC.YP\_3BH(6.YUGAD#SNK2,;[<.
MJP)14)7HG_,5$&K28YKC5NM]Q*KQ@$''A__4PI=Y4:D"K'&H#53IX+-A%R3G
MRO9R)[38U[LHB;(=#OEY&(7I*F&7U-(#;G-*+@FF8];"$P\>[0\Q9DL;6R8%
MAS:+X,L#]=TD"F)^BJHX'&+UD0^SFA<J&8R0DDJA X]>>J#"?L[@"]K7XCS/
M2U8I>)I<:.Q0]!SMYXY7]8U=A12;O&^(:E'O35N9A$HW:C,I@4@3IAS#Z37
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
M6]&M 6[M1Q4:CB?2E6UM(%JM.^4O\=YKTR$W)FPO<1G*&FI,W"9CI>QXA](
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
MY7\D;$/^-)GS^M&=3;W*F]Y2B]9\JDNV7LEKWO[@UFB;.8KFNN?/_U\_=JZ
M^HB;M:]^DS&SQ<>\2KRL>:_WUNC!6/O@^$+-]/H=HW)Z6^JKKA$67Q(!J([T
M\I]V4 =[N==[;^K^;!X<&[^9AF_X4G<IV> H+Y@C3<+)RR&JKC>J/]Z58B.+
M]X)JY)?ZC)>,G8TOA78$S)7!YO!ZS(:S<4P;>$K8T92(O(58NT$](Y,2LX^P
MVQ;%FXS AWWBJP3C=A"\=]9^[;8/T:_1U.%WVQXFML_$]%5U]ZXGP<\"Y-V5
M0/H*@T<",/T+\[;EON/;@D3)MK2_],PM5]SX5F6<?T)!3EORR89VFM_@4L"%
MUJ=:8(Z5&PWX ?+D95UA]1$8F][^)@-BNT]ZE4!8_VKOO98?>^T#WXNU6_^S
MT[4I7B>H!X( %<]>Y0-?=)IZ$ +O;=^KV8-#5"M/ 'BXY6E;K]MCW.6>H4ER
MU1E4M9&F.+ F$3NA0AG%B[#9%_068AS(6U4!D=";[0-B'I^\_&^TF1(0*WV9
M/KP7MN8FC*#<+G)A_<%5CR1)W@,JM#[U,UVRV0HO^?J:I\K$:\4M,":T6DZI
M98?G0TI&)&]RHFOXI[YV/&B  :>-^_\(MA'B-;T!I![9P_*O]=O?:._M.A2W
M?#4<+^#'\%,GP^!Z ,&)BI_NJ?_I[H*(L+NTV#65Q;[^C@>\IE]BA<G^@ZZN
MKO1"Y^W\JA].:-I7>1NLB>UKFBCVV*4,BJ,-1N_1*PZ(_\1Z)_LRV6=81-GO
M=P3C:97F>1'D%^^,[=_[)KKAH9_Q(AVP[4MA-58'EDJN/>8BB%"9KZNMUN[H
M<QK38MC%(ZY:J^K-;[:]ZC_EU5JL_+5?9YO5VBK<N=H(O=TF:W/.BS^\I=^A
M^6)7&K ,1O$FFO)YG_AZ.0*,$-Y^$S_+;N. >$,5T#/38+/D50IKM(5RH+%)
MV5E?&*;X>+]&^6Y*A^_/45@$<9G=FX[EA2_*MH+/TRPG.(](^=EQ@C<1VYJS
MBG+VIF,Q5);^2LV3O]XNHRQ<X'Y2U<+]'A)?!1XU'/?V5CZ5+FMO<W&E,LGH
M%XH>'=_+)A K V3)1S-^:6_7"E2;\8YE+.66L%<?R^0Z[!$U1PT*2G;@J]?V
MO2&+L$L /F[\=/=A9;>(7O_M8#R8<Y.5U^:Z\#X ,R*?,L',_^LSSM@]A@L6
MVK*+6];T*8UM+SV9K7_7FUC@L/E<%UG;T+T(3(N_IG7B;9N=D17;A% IO-W&
M5]G$/@0=B?(SMN7*3LI^4F^A7.!]$+%4DF-VW66PSJDON\JZY!4 OHEF?K6*
MN8AON#BZM^]0KO5)A-E>_@*44Y&WZW:.1_G-2:DN4_Z;:/2JSW*1-MLO_.TW
M.85%JGY['[Q$^V+?]-]ONPD93SFH',N/5_)\)R%Y$\WR_$]]R4[W!!AOOZF?
M;;MJ%>5]O8I"Z@+*&]S+$OCFI3=ZZLQCPF]P]R5?TTAA-IKMAH>W#-?=H\^B
MTR13SJ\HA)TG E("%I+]"))P?)X.GHX\+/D4$[W*J:91&$;L)6P>E+\ENRWP
M*FWS7<@A-4#/U8FA06;4YWNLE+SS9RA2X6;K1K<F4H;" J,\'>*<KMW"?:3Z
M A0/G0Y>W^W4AR3\=SR3_2%.7S%>8O(<K;&\)WY,D^=RXH1UNMDJS8.X_7R<
M9OECFO^&\P5>I]N$'3U3?-(KOL]E]W?US]9N0U=[&9B&=FT+Y:VQ+(T.*%J+
M@0G]__+WK[=IEE[L+B753TQ.M3+@&L17T8BU']A)RY8B^/J;N\YLXT;-\K0E
MC\;XR2@:B3VQB8>Z<.\.X=QALF+QHW5"<[3=$I[\=)KD--[)HO4U-W*?@><M
M;>D^^[-?<C[H9#!@G(?O+R ,Y&II%-7BQ^W>58A1Q?TP/,A):SE_+Z+\=9ID
M.2GXSJ=9OL-DM0N2ZJLJOEGYL2^^LG0FFC>QK'&93WZ9M<FSH,#R'-[L/\-O
M )HOT$Z)E+_3\*L*[)2WO0XL!$R&>Z6!UE->0@EP6L<IL/ND'E.V%G$>)#G:
MI 1EE?2[*CL85/KRUGHF>U5E ""OWCP+[LH+@$Y=+6IKYG*?[)VXMVQ'.D["
MC/9+/$;=IT624SMY^U1MN#<H.3UM865 YX2$5@,,^:Q@"B<1:J5CKC3O%&,M
M((VCD$=%]SC+6(#SZRZ-X]?9EP2'R^(IB\(H(*]S"C?)V8\D^__:>[+>R&VD
M_PH?$Z#GP^8 @GWT-8D!C]OP>#98Y&$@M]AN[LI2KP[;O;_^8_'015*B9+=8
M-A;())-65;'(*I)%LHX=V^N\%!?;+3]0%>OMV0XLJN*:ED,1G$=L;TG%/OJP
MM>?$T1I#,YV.W4/;NE^WMR+0(BDY)I%M$M$H:5I=$=DNJ1LFNN4546V#!:]:
M7Q'>/II8PF,,[M5(^."1VWSO4]T8OF-/]RMT<8%+]#+,M+_RBP \HLI^86F6
MB\L+R:Q-R_HP0=+-?RVCO!QR$G1R:=I619FS^TJ\YY89/.D*GU$N5_ ?90J?
MR^B4/K!4.)7>!ZU@T._:.=WD-"KH9P[5[DUQEUUW.J,1_LB2F&NECW#GTEY*
M*;HU^.YXRX.NHV_>O2%M"J0>?"FYY*P_TJNL*$Y*R0X8%*X^V?1@,A%$?ECS
M>3?2U6?I)]MBH-)5\P6<B8:0+ 1>J_4O^'(2.WF<OU:KU,$>"_4BEK3. '"7
MG6S^4[&<GE8%W^R+0M3"U?V^3$^V6Y8POI2YS.,YA):T>>=WM*VTTZF@67QF
MLSY?UT5#!1O;<A91=/L"V]EFZ:9M3+O6\.ETEE3SV=WL[+%3B6 K:SRW _-5
M?7Q#3OB>'WP6]#>T^A38I*4X5:=3SRUQD,*2FC^C:T/FR  ZFB5].L]]!;^E
M2222C/!#ZX%D@$_$I8!?UI%%]FO=2_$.L7.?$(<Q$!T#/!GMRXH+LM1W-K&Y
M,%F7GT#".]ELX/&HN*4;RIY$\2U:GE6Y:_(-P>,+\_3BUG"344C@B*NP@N\&
M32K&B[3D:O@GB^EENLWR1[$IWM(GFE9BN[QXX?J41LE9593\6)D7?%W)L[C:
MB"QF^DG:+\_IF[85)C7I$8;+GDWT#1M"L_P=LW?F_B:($1 DT>1(30^R9VJ*
M(@>>IHGFI6OJ$%V-O&*]@MZB(2VO[78G.F4N,313YK4]F#8M<&5\/*=[OF4R
M'4NSE]/5?4 ?@%\V*^L(V]TDJ@Y@;*;/&*-FIM(&/I M*F_<[Z(7%=NN\IK:
MQ.  7?AFVD,,8XP:K\32.!5;7*R3Q\H7 E)&+SXI()9Z%QI]\_G^ZZ+2*,=>
M[NS,&9&Z]$%DU>4SA@OJ.!6$91,G14'+_O9O^;Y8M5T;6W4-W/;'X-NMBR.7
M,",!%/R"1-WG<T-V3_/R .E?2H@+X[_N'QTG;G]LI _F,SI@JQV8QJRLH-ZW
M=);VE>O"QW-EKQ760Q'OZU66/ERQ)QI+M?4[A\\C&N; _9H!L)^LYU ,OD"]
M:3>&ZEMHLLZ#,U@20/N3($XD=32GYHFC,G9HGD]NR=GRVDZWY\E<6FAFR"L[
MX#@P3YX/G@?IXVL%C(/.60D%*C3G=5T(X)C_$_-#Q8!"3"&S\+%IU%!_31?Z
M^B"R> 1?YN"96Y[LK$:_&VQICP0;DWV'@S8,MO.V@S^<6F&[7U>Z?WKX$OTK
MRUOWZ;=TG^50G4*=:2:_X4RF'/K%9N90C+W/3"2+9J-\N[YXV)/PWB)H-CNG
M*&Y6TR6:,!I3TAB5SIB,68[>V&$>5[RZ9']*&41%H]W3^'58?:N>SN)Z'[FN
M'N]IOMZN]Q2J%#1ST[67N>$7-0O&V.[8!RY@-(HVQJ'AP"_@925=A:&OGT)=
M*%K=6KR]==Z)F\X4_YP5B;;\5$&B),F>P5M?7!)N<AJS\DW<.>W7^$T^7IV.
M5[GSV6ZK!X 7N^ ?9;B^[7="!I_'7NR-I%&7*-IU,OC& $&?]#\59^6";V.#
M*0SLH(M:Z@/,=DQO"UQPY?%@SE"=&I0(6#3V;J\/8P:N&SR@]@R:L"Y8K%HT
M9J2:FN1IG1Y3'D,YN*[IL_@T/>E8C8G/V)C(]^!.P@094NU;N\K_J@--+9R#
M[/;YF%T<U*8PU3? GKI((1"ENA3YK\7)YBK9?*%P\.E;A@.@W^-LLY@8>5LB
M,Z8M M"/3\/)X/J&  IIX9"KJS/RET1;>HD6O;B^:??@Z@S<):YOOM TSLK(
M(2$/'%RB\F?8)K.^N."!#WY7^('%!QKEE%/S$9M #,Z<LR7@\'Y+<QD5!P%7
M!_LHVV!0#?8 @_TQKT&)@ TY])>IC-#5D;J7J=@3[:7GO1!0"<67V[Z$-!Z)
M%2)AJ0HL;N(T_R^ O.IRF,UJ*1).N04VCH%*8M[LFD\'NLXGJS%%?&T<6&1J
M_^);FGUEZW]')0X'<_W!_^6GW^I].K"I!<5AS^D^*UA9W&0)VQSNZ$MYFG #
MO3_R Z"HA##.I^$7P3&(1B%_220"6$2@A1",RI/,9VA?#LT75,-NL.7(_,P!
M0JPK<H&$BD5))&L)I/$=/WH66YJ?//!^?::6W7L<!Y4,)C!L[N$2E>0:ET1P
MIB@5.HD GVQID%WA+'M\9$4!;)G3H?Z$2A8F7^:$J"%"C.G7'=OO1:GPPGP)
M:WU#-:H6QHS;)05"-AQF<&!GOX'*NB3-/F-AU 19ZKW3Q9R6;?\[*ODZF.O+
M6("1$O;M6 (>1]!?(0U3/"QI"\QRL6L.]IKXM1X *F&[N#/CV0!N 7'?[5@^
M(FT39"EANYBK[?/>=U2B=C!G6.( YB_H8TVKVN?T"RUW6;S>MN/$Q4.X\Y0T
M!1>5A&8P[O2H76^)) )_:Y-1;@2!SU9MCB2?WPI1JO D3:LHN8U*XRC@@8)*
MFO[\#J5$((]2BE4!]5M3^ /8).?H(2;F:1:5]FNAY@LJ,1AL]4<; (+>_^01
M2VAN']3.1U3C:N/,V$LD3,C1_9IMR^<HI_;A[7Y%-;Y6UHSE7@$%'>'&K^4R
MO7C9B+(0K2ID(W>:$]%QR6@6[W9?#$F&7*9$$R*<4BO=&(H[T3MNNM.;G#U&
M^:$.T'$L76Y05$(<Y],TD3D&42BM"-^ D_ ,/D/$JDC[Q8I_ X\%Y MU/[3Y
MX*"2U 2&+3??#2H!7%(CDYN@SVW-NZ%]'O6_HQ*)@SG[U;9XX0RY4U6/,&/7
MVUOVL"NS+;>I1; N!/O#F_D5B^Y9PLK#R/ER'AE4<GM='TP'8T$-CIJ"'@0M
M<8HRQP$Y@<0'PB>AICKQ$#K[-NGWB*7KM%5DP#(4%IBE[I.<[&E5,P!0*9&+
MN[YZ !SARV[40(98:*^D0XTJI";SV?4'W :#:LP'&.P/^Y7R U)E!E0&O^-<
MVZKT@8ZL@[9<<Z,82TU"3]9KJVD8')6R^/'J2@5I9G\D]PHSQ/2]2-O>NF=9
MOL^D.>=T5!K'0"4M;W9'G9'9(P-GS6:[;1$C/W!R/X8TPR )4MM#R&EH.0%1
MB6V,2V-9YO"=]Q7(9!'T4-^\.QA]\7QH&<9#):Z)3 \]L A)]CS7,#RN7$=I
M=K:CC_95L?L5E6RLK!EY$3@0 2A4\3&>(3$(!WV81Y_ EX!R.(EC<9Z($DCF
M"F$,\%K6=<7NU3OJRV@&"53RF\^_D>"BID2H(*4?'WL.ZGFO_E.PPYRX;%AO
MOQ7T,TNC=&-QU77!H1+A")/V@UW>OFG9:I00LC 2+?=WUKY01A%02<>76[,:
ME\2#ZEN1Q"2)8?P=YSPN@TL@ND3$#ZVKLB@C45?6TL$AX*5.X>,,=^.#;)"H
MM&:437L\D @(4A4A&Y0PY^V]7UCV.XC(GA:,C<B^,:Y8UUO(YL%B%N6'T=OB
M-C JD?APZG&+#+M?4>,%<8=2%9+/LL=[O@7+HDN;["%E_Z7Q9<R'@&T9' EE
M5EBU@8 7F+Z<8;3@W_AHQ<VV<F]XEAZK'51:<>1.&HY?JCFR:=J#W&ZJ0<):
M+:J"#WH?EZYX2=,J?(=F.QO\?1#7V3<=14[GAHMYQPW.FYQMC,/341O[N,KI
MZ.DR&@H$]ZIULH?FP[H]7"3L$3I'XV_[+#USE1[W1D*E-E,X'O":H#6R3/K4
M*4T>Q#JTWC7<TK+*^68NOQJVH@<.*N%-8-BTY@$(#!1YE1)"1B?[?<)H_$>6
MQ")>+]_;;7@7'"I9C#!IW&5)<*+@Q0M84 >]:,_**!%NHGP!7F]OHOP?45(Y
M')-'P%%)QH]7XY598D&>$HD'<X5C$H$:UB&?9>L]I)NO4CYSW?/&"8A*/&-<
MFD[[+",MA.!3YW.2Y7RG$VGOG"\M5B!4<ACBL"\#!4L$<.@[B%L:)<+(K7=
M.(H74,P2$E<:9]4Q>%12\636>(2DVC\FR./'X2$K+E/'E5SW*ZK1MK)F/&\
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
M5Z1A*Y03[B[+131S*][)II@V.$0KYR![1L0P ,MC10L\F  @:4PK!XQ]]'M
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
M9*^!77J99<%TA&.9KNDJ-_U2]89C$.9K#-_+-(;CT+UHU<N'Z5$D>B?#%W^
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
MX1B%JXAL<HZH\\SK#J#+^,ZLY$T8;X8.^!YZ$FF,_0F2I_"IM=7E46?F:U/
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
MBT@+DSH"O(58"]A:C#Y.1O>C07^R[/4'@^GC9#F:?.S-IN/18.0L;DORC*
M&7,TEJ%N_VM;>F:XV+3<QLB-^>OJ^^JZ&CO]1</ELXIQ)DSOZ?\R@;I?C'XO
M)>[+)B%9$+2YN#7,4AC3G1:AZ18QM3I<YY/26 *J?E"B+X68*_1Z"-@D[,7:
MC.?(0_CE)!BK)/BUAP?%(;+HS9V!,_K4OQL[,(?(<=X:IP>W,<Q:N<>A&WIY
MU/]^3AI+1=$-^)"0,*.R4+3(MVF=C,(7.F9$!#>N'VNVG\DGJO!,YV"WJ_V$
M=\=IJ1>(M!/,0N%,26.=R'L!+Q,-UE26BPX(-JV6&8GH&9CL6('H;1:7&?K9
M8<@JF7$74,UX.IM/9\Y\^=M_])R_/XYF#PY372;#_,KURW0\!%I7>])88"DC
MZTBB<G5I=(598\*)&:TYLU& UZ V&RLKL0E45JU,-^&_+OWA_5]J2["_I*L.
M:)U]C"+_,PX"BO&(@A"N&4%]>KU.8I,3S7 8J#-.-#.MHTZC,_!J:\3,VAFH
M#9)-"TY".F\1_EQ=A!^GT^&OH_$X._Q&DV5_\G%$M:U>?[%P;FO3$EHUEJGI
M.&]@Q3:#SJ;%.X["-7N.,T3;*,;<%?NA5EUK/)U\["V=^4-OZ,RFBU'#5:HR
M$%:FIFTJ%/9KM+ZXLZQ^0[8\:'M)<SM,?PJH]V(O)\4^Z69:99P(HHU^^/">
M9]-8+!_@[H3LLIWL\@0GI<G3_>5_1SA,/M$?V(,:]<EC/!#,V2.8IM&Y8S(&
M\)G3D+V54\<<-)O6Y.(Y(LD[EHB;#HFFJP%!/DYXR[/VVF+QRW2^?)<=/./1
MQ&'O+@9S9SA:PBS6(7I*3&Z#HO90N=XH'_*=_"G1<>,*V@,O*3D3:AG79#3;
MM$J.Q^P3=VW4'D"4[V1WMP71Q+E;@ES'I\MO?DW+04JQ3:LA+ZF^=%^YOJD/
MM5<+H\E@^N#TEOU_P#FGBAF;.:<DG: ,=[4I:5GL9+W G5-*UM0,<VH0[%LN
M,T2R[*&\%5//LY"OF)DSI[>L_ASHK8/CDA"'ZW@_=0T]1]@#2*&IS$='?Q%W
M@597%.RHZB4JVFU:(XN$3FR:/9CEGBFU]PZ+Y73PW[WIC+WP!CI4CO.A:E,I
M9? <!6["L@C'29PA_U1*&*QA+#AW7)BEICWK<OIDG2=(9P\,?0=L14PJB[LE
MM&W: @;N%B=ND.T$O"V@]F)CT)^-EOUQOA5 &@AU[7_02S2#EKV(023.9S2)
M$F1TE308 OJTY+*F:H$P1<2F!3.)PG=>%";T!]IO/0H31#_#MZW7WEI,II-W
M@^ED.9^.QRPT8S19.G-G 65II[1P2%$O+%4_F(7V@,.(Y8+;S\=HB6EU!EY<
M>NRJ+#8#5&Q:9@NT9H<G\DL1)H,T3JA.1T:L.&Q>6IR]S:*81!OL#=&6?2GT
M=KRE6'MQL7 ^,A^7,_R/D[BIP2,]V!ZH!CB:W$_G#UDL8_8HPZ'K=OHP&C!W
MKS,9.I/!;S"+MD!FCK818>$'ZN4J[@%T(E;F8W86ZG0&7J@J%E7/0WT\K%JB
MZ5.,_DSIN,Z+P+O\7>W9Q.+Q;N'\_9&]\W4^P?F8JW/76$3"'D"+J#(?G:4C
M[@*]8!3LJ"X8%>U6+1-9B*0DOO>[VLL,17QO[]_VH_W[+=2W.14#-WZFUPKV
M'Z:<O+@!$[%L=M*JJ$5_S>[7%NAKA,JY&4FXS\W*#Z[4W* ]I!W <HL8,T!%
M23N0MQ?!I;U2Q#W $M4V71TJXL&Y,R-H@]--*0"X'P319S?TT'U$AE'ZE*S2
M8!\F[,0)SO6K_(%5%$3K@C0Q.UO\!%C2W*;\;QU>"P1&$ &EO;SU1P!+T-N<
MW6;@@'-SM-FZF+ 93@F]4M*3Q VF*_;T98Q?D)^_UM??N!N-!I80N/&F?@9H
MX!RGVPZBBL<@)829Q);$#6-**E--J,!F/P89]/IL/V-(L+3$37E_-GS@ C!'
M]$J2HGL*Q8 9C>GL?\7)\]Z&JLUUTW' ,B W974SH#I1<3+'V"B.4^2/0N?5
M>V9E7J@H+A!YP1[24WN,!P%+G-Q$%6H($?AR%#T7T+<KZ X EIZYL6G!#!HK
M6$G0,YTRO084SPRSJ1KQ4F\$N'S/YW#3!!UP=E9?[&ES4=E1EWD6&)ET2;*$
M9X\QFJX*-1KQ<EH7#:OM=#EBCV6)3RDX PZ%#Z>K(LF7&XQ"2DFZ.=J%):J$
M7G===MEC"#+"!9R+=*_>X$/X);O]4DJIOH-UKIK'_5Y[#%U^VF/I,4<(G*F'
M0 T#0[RHAR[#+#+:**@'9P^5(0\Q-3.[[N+XCSSVE_U+ML@DG7299(]U10,#
M<#X) LQ5)YNBFRZO[#&/:.$ SBU)$AKM;=!D#%T^6F T:4"=)4R=H,\E,DD4
MTG]ZJ"1^VJPU'TF7P?:849JB=35OI999_F#>2ZEZD@S52ZE\K"_YG13? .T]
M(S\-J/:2;_C3U1!11E,M)BN?P4!369^-1KB:5U#&E-FWMHHT]<)%5,^FD94]
M.&^MV%?_@"_WZ6;CDMUT-<?KYR1:I7%^-.X3&H^Q^X0#>@_26@)-![,C#9JT
M L(YY%ERJ^!5;SC,^<%-6+U"-9^+T1H-!O;VL)U2%YI@V;3WU>M?B/?!6B(5
M3A4,X O$M9;#J+.A_$PN-P*,HSC677U-Q[N: AKG 6;3"BQ5UA O/4Y&ED-]
M#> E]U8*;1QOL8?)Y8^<$MU%IS\">(XCTP(<IN#8M,#DQ3C$:ZZ6XT5=D@-X
M*7Y1M3G.>6AMSU)LO0Z'W4LQK[XA7G/U,CAY#0[@A?4E)?P_;O7W.,0)RIYT
M5Z=K?B0:#/8&4O^? :)-ZU4"A7@-UW*[R$MXW)8VR!7W=(YTVGL*FMQVM0=[
M4TO;&$1P"]]^[I%L6[I/69KY_H:EW/A7QAGGE3U#1J:2T<Y7H..1VY29-G&W
MZ9RHE?T0'@ZU;$/U:C'=^E4L+AMSW%FX>&K[%U6][?"FZ!>5,<7%II51>A@D
M7!3?UW(!E2K- %^/OK22,PO*_^QIR+)<"YR7>/*TG6I-U22SD[.JG0HR5=K*
MH33 7*'K$HWH/R61#;RV=G"'+ULB\$O3/V3U:(4!,?*^7D<OW_@(Y]C3?QPA
MIS_\/D9K-W#"A"4L?<4\K&FK6J-K )DW[](%\A+@YI\>1AL7AWQD3UL P\I#
MK(;IZ8R/]X?V[D9.N)TADI8VM7'@/:#-$R+\ZY"T U@:G1I6M<N.!J&=1%C?
M!Q'!OIOEYQZ/!S)H!4W!<M.H09429XU6/EW=I3'=]>.X[]&#G%YPV5WR;E?Z
MR<@N8S(:=)I#X0$OM+Z88P7.:,'UK'D50XO,)-H<U 4!G%L?Z5["GI!,0S->
MJ?I!YW#3YI0> #9IVR<ERX3J=BU]Z&EU/&"-&[1,GM(NY8:#Z 6%;FANE))T
MA2Z)HE463Y\<2S:PXVP9@:5@:Z-;A+@O])%C5MQ3&PR;-K12:4/Q?E8+\BD7
M. 1_'?@V*AT>Q8>E<8E")CG, UA,M/#4W*$0K7"#!X,-!@5_0VA:)[$%""W:
M4IW5"GG)(9,/)6!.KU5SY$6AAP/-L+ :,DU&A=Z&SY&$YBA:) I#M$*$()_.
M_O 08!\*LG_5;7CD&@T(K5"<(P"-L.LFQ>!A3I,H/,;U4/UGX!*R6T7DLTM\
MPUNOT5#0R9T-^-B<2%OO6(>RI,)K5BT,M%H5%]I5>_7E<4OG0F5F=VZ,/;HU
M##%E']LMC ]6LP&ABP6:E=8]$S>+CM)^F&"?S95>"1;(8T&4]!1P7KT@I2L[
MST2[V:8Y(^KD&HE$>]^"OH$U%I>VX;9I6R^7<!9OZK68UI-"SM"FP%M%9^XN
M<:PD7)Y]F>%]IE081*NW,3:T$;.+NL[M86[1(5,K1-UG-]4R*2Q19<ZW.$XW
MI3VDH2B=\QWHP^5B<G4^,VPZ?D35D,5'42W&6U@3&?A8LJHXLD*7IX F!#^E
M>DOX1*V5=KVJ@L?Z9%W*OC*H3[[83Y91^0F'J;&EX;C0>^P9[#P73)OVS'-*
M6XOWU5H<?PL%KH%WX.NO='UJXI^N2K5FBJG&RX@*-I42[&>BK%.0I_F8T._?
MS.IBGX^>1=?QTN0=NG&0T WVBS[N)_E9Q;:R?>4IEO>'9<NYVWU$T9JXVV?L
M]0ERC>[F'7P4^A QK:W>/0,L$K+\@?"OV$<E?28\G7]<J6 W"D>A3U5:/W6#
M.NWY/W5R[%YV%M#>P,9B>#D6V73G81;Z>+J:E<8>HL3%03QQ"?.IO2#>I::6
M*.6N3V^%O>E];T951'J[R:\O_U:,U3L,]B5G]OW"HP.-$V?? @$[VB+M" 0\
M," F20E\^M,1>/K#[]//(;T)/..M(!B0MJDTN0:8Z[-N-1#0&%QA1&!YHI8$
M!=:Q$V/;953@ SURH\15Q*O56X%=U7G U(P[(JHZ,<LYDUDYUG \8-:5R:R8
M@S3"4JLGV'54"VH3ZKN"GX5[*G N-P%[):8+:)V>"PAN0ZD]1V3;+^W50&0[
ME-<6;'R9$7KFDN2D3OC=KOP7P:7B8.G2'^,:;AT-R"KMD/!\%-Y2.(19<EEI
M +F29UU>:AY#4OJ2;"_CMX1^1BP6E](N)B,2?.-:I$\Q]G%6RV.,-YA.\U#:
M@3V!<,/=E!1_8/,OMNS#WKWWPDETT]:^ .VXT [<;QG33NX4H]!C1D8T1/E_
M1V%>[!D15I717?-,/K2?1C=PYX"23WIT= C^'+&](G-B[Z\WC/N^"GV=?N!&
M<1WX]0$ WR$?<!BQ C?[57E8IL>YWNU.7S7D3<1;XAE#0I]XVIO@V;#9Y+F0
MEWTK' \\WT4M0?1B\(LS?!P[S'WQX"Q_F0[9OX;.;.X,1J>.C)O[HA5WJ+A\
M@,*QH3V"'9=^<Y>'-H'PSA#A#&O;D$%IC+%USA)#H=4ME#'NW*W2!BOO=DOZ
M6;F-1*OSVV9FF=)NW#AM,)/-465 T>IL!S,-A%:[>DV)R#-M*V>S,0]]0^0P
M.:$IIN@A[ "M_!D(9(51"@S@]1"74DXOR+LR52H^23M!:XK->:6!!3B_IJL5
M]I VIP3-H?6]YCR2TM^)5>4N<L4PTP;EOVOB^KU%N%8HL$3,[U)*)GO[&/K[
M?XXV6Q*]9%:"6"7VFMW!_)1G+P,C?#I9%DOBX@ 1V<JH--%$^T>+T*X38<GZ
MZ*=)M(F>Z,R4:X'35),3/UG$"3$QEG"DJ,RHXD:EF28G_F(?)[CT@G-AB;SG
M, JB]4[[BB3IHLF=G^WCCA('<$X="@B;G.O23MI*HGWLT@ #G&'[B*;L=0)S
M9#SCK9)ATDZZ#+-1K5>#T4T,>+1*/E/29->N:AM=F&W2R#ED=(AJV>V6N^(>
M8^33F?;#,'4#EE&3#[561^ ')OI.CA+X!HA8Y5$]AKW7'5<Z46&UZHKE^/;^
M8#!]G"Q9)I'9=#P:C%ARZ%M\6)M4G+@W_-1+2ED+3#RK_*YV6/W/<ZGR*;/"
MEUJ96FU_X?IJQ)WLX):V1-8]-&+2X/VEB^>()(=*'TH/J:#Y=;-(0!2X^[,V
M+Y7+4]C!$O[(9$W%DRX?BM]C$F<?DQ9KJS:"=D8JQ*-<M8U/7S>:"<NHXJO
MK+>"=A?JHRFBL!OS^C,F2C1KC:#]>OI@"NCK!,O[*"7)LW*=UUI!>_,,%KJ
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
MP9NR"85E-SBE7.)K5_2#?M&MS7L] *XZ40G@+J"?6KJSM^/=[0*\C-/M5 >
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
MS]Y@Q:JM3-@8^K@0"TUI$U.0"KZ9+>G8TU6?:MKA.GL/)]^W!,WMD'_3+4I
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
MOS<=T ;].$9)_,D-TIP=01!]9A5[C,7 :.SK,V:WAZ@]PG$ILXI%YFO;#9S
MCD.++-/&CL.;11J:95U;I"U+M'I2F>AT]Q]C]XD5B,92Z^5W,NOET+EWYG-G
MF#WQ["\6#BN9/![U[T;CT7+D+&ZO/%NBH["2A6MF0!NXA.Q6$?G,\@XI<K,J
M.]H1;6J^CI6$P:=I%4]QK,[9JM79#N9I"J<V \<V)70]2&8_39XC@I,=RQ0I
MCZ^7];EFELGH L_URI^<*@!?WLL.9JE%4(M/MH3G#]S0]=TY>D%ABOIK%'H[
M5:"^I(LU'@V)V%6U!A4 X I#YED+W:"8XP*1%^RAT7RA8I2RHS4F<GUV:8(!
MSK3:!5^\R:LU/JU!@)W0!O<K@1)H )5][/T81?YG' 3]D"JSB1NNF0J8_\F
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
MG"A^.#*B^,7O@SX']>*/[&^0+EFEH.S!+<VW0W=L^2KIAG[_B42N+W-]2#N
M67=,@%4188G^^,6[1\Z]&G7B'3G?VF.!1LF0>Q<<H>L3-&8RS'3+7)FD\);6
MB$2U_(M,M1Q/)Q_?C4>?J";97RR<)=4DYP[][6"O9A9*)=,ORQKG3<N\:9DW
M+?.F95Z-0G+3,M\@4V]:YDW+O&F9%P3T<2$&E/WM*K3+TGPM4219RJ\\GE'H
M']Z[NFLMWY8**$+BS<1WYD)*M3:\#O&*"FF8[.$J.669[]2+PFB#O2':LB^%
MWDXG)>+/-64OC_ATAO_16XP^3D;W(ZK1+7N#Q\5R^N#,J8IW/YT_]+-"4DS)
M<P;3R?1A-.@-G9DS&3J3P6_V)$]\2UK?T1E?+*&[W8/[SXB4'L(?9KU_==T@
M2-1X<$ONB>>'A!I3#J\$UB9_,G4-G4][ $NXW-YJ$(9R*H#H2*TS8/J 'GF(
M63NSUS@X_N-N=T>W^^>-2_Z0AP*I>[YU-JL1Z$8)/(N]^PFJ(H+4/>U@KZX
M*WE7):]-Q;&=!"[**C;"'M"OZ77%4)E[Y1(^.(6-Y73+$%O#>.WL6#(=[(@"
M>KL)?U0P:.)N*&DGTY$9P23-X8U@8F$K(2^AH(OXQR7]&SK,2?86@-\2,FI;
M*1NE1P R.N&--BF;SG0UW;)'OZ7E*;'>B+M8$^BHI7E4K38J*,"9Q<TA9G*.
M9\WM"61LPB4I!I!A4/R F23R_IAN&;3.*R(>CE&1RY._T\G:0U^^&O)-095P
M:<%9-].G&/V9TG&=%Q1J%7'Y^=N:Q?+Q;N'\_=&9+'LL[L&FXBU5^C3LC\(>
M<-FO2_-1&12YK2VY0BMXP<DK72<%WN17F9>&C4_<PTK&2%.W"$F!-\M5R:"?
M4B3F$76X=K8<*0$WIG%FILRK(^YB)V,J@J;FC2WFLLK45+8R07/H.[92Q.0,
ML< \MF2WJ^EJ%/KX!?NI[+V8H*F="T-@]1+0 &+XJLV%O5^?HR!#CJ7!7D:Y
M+B SAQD/ F\DDXJ<C%<JTKJPGK$<YFF0N/32*#.=<9I!OA=K*%HE75)(=R=A
M2\YF&T0[A*08UQI!6B;/1UA ,[CU*[,BC.(X1?XP)3A<S_)2Y:Q$1CQ!G[,_
M27-.ZO4'-F*J=*E:XD@35*XZ3U!&TYT;(Y_54$)A7+"$L!H,67['W;%)D=:C
M_]DE?FYZBC\2MFN,PARACT2:;:B3CUEV+53*5G> 7RC4K?@+^S]/=)+T-_\7
M4$L! A0#%     @ 0X6!6&+CUC"*+P  5QT"  @              ( !
M &5X,3DN:'1M4$L! A0#%     @ 0X6!6)YNASB= P  ;1$   H
M     ( !L"\  &5X,C,M,2YH=&U02P$"% ,4    " !#A8%8+->W!!@(   L
M1@  "@              @ %U,P  97@S,2TQ+FAT;5!+ 0(4 Q0    ( $.%
M@5A/_=>Z[@<  *1%   *              "  ;4[  !E>#,Q+3(N:'1M4$L!
M A0#%     @ 0X6!6..J?#DZ!   F1,   H              ( !RT,  &5X
M,S(M,2YH=&U02P$"% ,4    " !#A8%8Q PJ]IC< 0""!!0 #
M    @ $M2   9F]R;3$P+6LN:'1M4$L! A0#%     @ 0X6!6#KKU3'W$P
M/14  !               ( ![R0" &9O<FTQ,"UK7S P,2YJ<&=02P$"% ,4
M    " !#A8%8SX3+;O9)   >4@  $               @ $4.0( 9F]R;3$P
M+6M?,# R+FIP9U!+ 0(4 Q0    ( $.%@5@N)U?BQQ8  &H$ 0 0
M      "  3B# @!F<VDM,C R,S$R,S$N>'-D4$L! A0#%     @ 0X6!6 93
MBZWA&P  N%H! !0              ( !+9H" &9S:2TR,#(S,3(S,5]C86PN
M>&UL4$L! A0#%     @ 0X6!6!7W?/@5/   8M0# !0              ( !
M0+8" &9S:2TR,#(S,3(S,5]D968N>&UL4$L! A0#%     @ 0X6!6%1Z!G)N
MC@  JAX( !0              ( !A_(" &9S:2TR,#(S,3(S,5]L86(N>&UL
M4$L! A0#%     @ 0X6!6$+&\.L4:   6\L& !0              ( !)X$#
K &9S:2TR,#(S,3(S,5]P<F4N>&UL4$L%!@     -  T $@,  &WI P    $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>112
<FILENAME>form10-k_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:FSI="http://flexiblesolutions.com/20231231"
  xmlns:country="http://xbrl.sec.gov/country/2023"
  xmlns:dei="http://xbrl.sec.gov/dei/2023"
  xmlns:ecd="http://xbrl.sec.gov/ecd/2023"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2023"
  xmlns:us-gaap="http://fasb.org/us-gaap/2023"
  xmlns:utr="http://www.xbrl.org/2009/utr"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="fsi-20231231.xsd" xlink:type="simple"/>
    <context id="From2023-01-01to2023-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2024-03-29">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <instant>2024-03-29</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2022-01-012022-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2021-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2021-12-31_custom_CapitalInExcessOfParValueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2021-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2021-12-31_us-gaap_ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2021-12-31_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2022-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2022-12-31_custom_CapitalInExcessOfParValueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2022-12-31_us-gaap_ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2022-12-31_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</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="From2022-01-012022-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</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="From2022-01-012022-12-31_custom_CapitalInExcessOfParValueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</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="From2022-01-012022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</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="From2022-01-012022-12-31_us-gaap_ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</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="From2022-01-012022-12-31_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</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="From2023-01-012023-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_CapitalInExcessOfParValueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_CapitalInExcessOfParValueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_MendotaLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_ENPInvestmentsLLCAndENPMendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCAndENPMendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_ENPPeruMember_custom_UnrelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPPeruMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:UnrelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_ENPPeruMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPPeruMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_ENPInvestmentsAndENPMendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsAndENPMendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_ENPPeruMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPPeruMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_MendotaLLCMember_custom_UnrelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:UnrelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_FirstTermMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">FSI:FirstTermMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_SecondTermMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">FSI:SecondTermMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_ThirdTermMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">FSI:ThirdTermMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_FourthTermMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">FSI:FourthTermMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_ShippingAndHandlingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_us-gaap_ShippingAndHandlingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_InvestmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:InvestmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_ComputerEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_MachineryAndEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_OfficeEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_BoatMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">FSI:BoatMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_BuildingAndBuildingImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_TrailerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">FSI:TrailerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_AutomobilesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AutomobilesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_PatentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_TechnologyEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:TechnologyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_LeaseholdImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_CustomerRelationshipsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_SoftwareMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">FSI:SoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_BuildingAndBuildingImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_AutomobilesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AutomobilesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_ComputerEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_OfficeEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_MachineryAndEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_TrailerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">FSI:TrailerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_LandMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_LeaseholdImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_DevelopedTechnologyRightsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_BuildingAndBuildingImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2022-12-31_us-gaap_AutomobilesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AutomobilesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_ComputerEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_OfficeEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2022-12-31_us-gaap_MachineryAndEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2022-12-31_custom_TrailerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">FSI:TrailerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_BoatMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">FSI:BoatMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_LeaseholdImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2022-12-31_us-gaap_DevelopedTechnologyRightsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_LandMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_PatentsMember68517890">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_us-gaap_PatentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2021-12-31_custom_EnPInvestmentsCorporationLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnPInvestmentsCorporationLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_EnPInvestmentsCorporationLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnPInvestmentsCorporationLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_EnPInvestmentsCorporationLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnPInvestmentsCorporationLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_EnPInvestmentsCorporationLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnPInvestmentsCorporationLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_EnPInvestmentsCorporationLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnPInvestmentsCorporationLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_FiniteLivedIntangibleAssetsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:FiniteLivedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2016-12-31_custom_EnpPeruInvestmentsLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:EnpPeruInvestmentsLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-12-31</instant>
        </period>
    </context>
    <context id="AsOf2016-12-31_custom_NanoChemMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-12-31</instant>
        </period>
    </context>
    <context id="AsOf2016-12-31_custom_ENPInvestmentsLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30_custom_NanoChemMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="From2022-06-012022-06-30_custom_ENPPeruMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPPeruMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2022-06-30_custom_ENPPeruMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPPeruMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_EnpnvestmentsLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:EnpnvestmentsLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_ENPInvestmentsLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_ENPInvestmentsLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2018-12-31_custom_AppliedHoldingCorpMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:AppliedHoldingCorpMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="From2021-01-012021-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-10-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="AsOf2018-12-31_custom_TrioOpportunityCorpMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:TrioOpportunityCorpMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-04-30_custom_TrioOpportunityCorpMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:TrioOpportunityCorpMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="From2018-12-012018-12-31_us-gaap_CommonClassBMember_custom_TrioOpportunityCorpMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:TrioOpportunityCorpMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-12-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2018-12-31_us-gaap_CommonClassBMember_custom_TrioOpportunityCorpMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:TrioOpportunityCorpMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="AsOf2019-01-31_custom_FloridaBasedLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-01-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_FloridaBasedLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_FloridaBasedLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_FloridaBasedLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_FloridaBasedLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2020-12-012020-12-31_custom_LygosIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:LygosIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-12-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-12-31_custom_LygosIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:LygosIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2021-12-31_custom_LygosIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:LygosIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_EnpPeruInvestmentsLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpPeruInvestmentsLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2021-12-31_custom_EnpPeruInvestmentsLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpPeruInvestmentsLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_EnpPeruInvestmentsLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpPeruInvestmentsLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_EnpPeruInvestmentsLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpPeruInvestmentsLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_EnpPeruInvestmentsLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpPeruInvestmentsLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_custom_FloridaBasedLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="From2023-06-012023-06-30_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_NoncontrollingInterestMember_custom_StockYardAndBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="From2023-06-012023-06-30_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockBankMember_us-gaap_RevolvingCreditFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockBankMember_us-gaap_RevolvingCreditFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2020-10-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-31</instant>
        </period>
    </context>
    <context id="AsOf2020-10-31_custom_TermLoanMember_custom_MidlandBankMember_us-gaap_PrimeRateMember_custom_NanoChemSolutionsIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-31</instant>
        </period>
    </context>
    <context id="From2020-10-012020-10-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-10-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2020-10-31_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-31</instant>
        </period>
    </context>
    <context id="AsOf2020-10-31_custom_MidlandBankMember_us-gaap_PrimeRateMember_custom_NanoChemSolutionsIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_NanoChemSolutionsIncMember_custom_MidlandBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_NanoChemSolutionsIncMember_custom_MidlandBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-01-31</instant>
        </period>
    </context>
    <context id="From2020-01-012020-01-31_custom_StockYardsBankTrustMember_custom_EnpRealtyLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpRealtyLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-01-31</endDate>
        </period>
    </context>
    <context id="AsOf2020-01-31_custom_StockYardsBankTrustMember_us-gaap_PrimeRateMember_custom_EnpRealtyLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpRealtyLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-01-31</instant>
        </period>
    </context>
    <context id="From2020-01-012020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-01-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="From2022-06-012022-06-30_custom_StockYardsBankTrustMember_custom_EnpRealtyLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpRealtyLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruInvestmentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_NanoChemMember_custom_TermLoanMember_custom_MidlandBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_NanoChemMember_custom_TermLoanMember_custom_MidlandBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-01-31</instant>
        </period>
    </context>
    <context id="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_us-gaap_PrimeRateMember_custom_ENPPeruOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-01-31</instant>
        </period>
    </context>
    <context id="From2020-01-012020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-01-31</endDate>
        </period>
    </context>
    <context id="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2022-06-012022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruInvestmentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_us-gaap_PrimeRateMember_custom_ENPPeruInvestmentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_TermLoanMember_custom_NanoChemMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_TermLoanMember_custom_NanoChemMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_TermLoanMember_custom_NanoChemMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_TermLoanMember_custom_NanoChemMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_TermLoanMember_custom_MendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_MendotaMember_custom_TermLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_MendotaMember_custom_TermLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_TermLoanMember_custom_MendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_TermLoanMember_custom_MendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_MidlandStatesBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_MidlandStatesBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_MidlandStatesBankOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_MidlandStatesBankOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_StockYardsBankTrustMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_StockYardsBankTrustMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_StockYardsBankTrustOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_StockYardsBankTrustOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_StockYardsBankTrustTwoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_StockYardsBankTrustTwoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_StockYardsBankTrustThreeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_StockYardsBankTrustThreeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_StockYardsBankTrustFourMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_StockYardsBankTrustFourMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_StockYardsBankTrustFiveMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustFiveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_StockYardsBankTrustFiveMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustFiveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_CanadaRevenueAgencyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_InternalRevenueServiceIRSMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:InternalRevenueServiceIRSMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_InternalRevenueServiceIRSMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:InternalRevenueServiceIRSMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_TwoThousandThirtyTaxYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">FSI:TwoThousandThirtyTaxYearMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_TwoThousandThirtyOneYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">FSI:TwoThousandThirtyOneYearMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_TwoThousandThirtyTwoYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">FSI:TwoThousandThirtyTwoYearMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_TwoThousandThirtySevenYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">FSI:TwoThousandThirtySevenYearMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_TwoThousandThirtyNineYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">FSI:TwoThousandThirtyNineYearMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_TwoThousandFourtyYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">FSI:TwoThousandFourtyYearMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_ConsultantsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:ConsultantsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_ConsultantsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:ConsultantsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_EmployeesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:EmployeesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_EmployeesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:EmployeesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_CanadaRevenueAgencyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_us-gaap_CanadaRevenueAgencyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2021-12-31_srt_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_srt_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</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="From2022-01-012022-12-31_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2022-12-31_srt_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_srt_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_srt_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_us-gaap_EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</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="From2022-01-012022-12-31_custom_ConsultantStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">FSI:ConsultantStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_ENPInvestmentsLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_ENPInvestmentsLLCMember68528578">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_ENPInvestmentsLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_ENPInvestmentsLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_MendotaLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_AccountsReceivableMember_custom_ThreeCustomersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">FSI:ThreeCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_ThreeCustomersMember_us-gaap_AccountsReceivableMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">FSI:ThreeCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_AccountsReceivableMember_custom_ThreeCustomersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">FSI:ThreeCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_ThreeCustomersMember_us-gaap_AccountsReceivableMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">FSI:ThreeCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_EWCPMember_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:EWCPMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_BCPAMember_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:BCPAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_EWCPMember_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:EWCPMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_BCPAMember_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:BCPAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_country_CA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_country_CA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_UnitedStatesandAbroadMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">FSI:UnitedStatesandAbroadMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_UnitedStatesandAbroadMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">FSI:UnitedStatesandAbroadMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_country_CA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_country_CA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_country_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_country_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-01-31_us-gaap_SubsequentEventMember_custom_ConsultantsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:ConsultantsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-01-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-01-31_us-gaap_SubsequentEventMember_custom_EmployeesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:EmployeesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-01-31</endDate>
        </period>
    </context>
    <unit id="USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Shares">
        <measure>shares</measure>
    </unit>
    <unit id="USDPShares">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="Pure">
        <measure>pure</measure>
    </unit>
    <unit id="Segments">
        <measure>FSI:Segments</measure>
    </unit>
    <unit id="CAD">
        <measure>iso4217:CAD</measure>
    </unit>
    <unit id="sqft">
        <measure>utr:sqft</measure>
    </unit>
    <dei:AmendmentFlag contextRef="From2023-01-01to2023-12-31" id="Fact000003">false</dei:AmendmentFlag>
    <dei:DocumentFiscalPeriodFocus contextRef="From2023-01-01to2023-12-31" id="Fact000004">FY</dei:DocumentFiscalPeriodFocus>
    <dei:EntityCentralIndexKey contextRef="From2023-01-01to2023-12-31" id="Fact000005">0001069394</dei:EntityCentralIndexKey>
    <dei:EntityIncorporationStateCountryCode contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl0023">A0</dei:EntityIncorporationStateCountryCode>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl0259"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:GainLossOnDispositionOfAssets1
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl0269"
      unitRef="USD"
      xsi:nil="true"/>
    <FSI:GainOnPreviouslyHeldEquityInterest
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl0274"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl0356"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl0358"
      unitRef="USD"
      xsi:nil="true"/>
    <FSI:GainOnAcquisitionOfSubsidiary
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl0364"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsToAcquireInvestments
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl0395"
      unitRef="USD"
      xsi:nil="true"/>
    <FSI:ProceedsFromRedemptionOfInvestments
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl0398"
      unitRef="USD"
      xsi:nil="true"/>
    <FSI:ProceedsFromNoncontrollingInterestOfMendota
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl0404"
      unitRef="USD"
      xsi:nil="true"/>
    <FSI:PaymentsToAcquireLongTermDeposits
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl0407"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProceedsFromSaleOfProductiveAssets
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl0410"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl0415"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsOfDividends
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl0437"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0491"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2022-01-012022-12-31_custom_CapitalInExcessOfParValueMember"
      id="xdx2ixbrl0492"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0493"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2022-01-012022-12-31_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0496"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0499"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2022-01-012022-12-31_custom_CapitalInExcessOfParValueMember"
      id="xdx2ixbrl0500"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2022-01-012022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0502"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0509"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2022-01-012022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0510"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2022-01-012022-12-31_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0512"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0517"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2022-01-012022-12-31_custom_CapitalInExcessOfParValueMember"
      id="xdx2ixbrl0518"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0519"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2022-01-012022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0520"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2022-01-012022-12-31_us-gaap_ParentMember"
      id="xdx2ixbrl0521"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0525"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0527"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2022-01-012022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0528"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2022-01-012022-12-31_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0530"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0553"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2023-01-012023-12-31_custom_CapitalInExcessOfParValueMember"
      id="xdx2ixbrl0554"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0555"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2023-01-012023-12-31_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0558"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:Dividends
      contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0561"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:Dividends
      contextRef="From2023-01-012023-12-31_custom_CapitalInExcessOfParValueMember"
      id="xdx2ixbrl0562"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:Dividends
      contextRef="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0564"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:Dividends
      contextRef="From2023-01-012023-12-31_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0566"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination
      contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0569"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination
      contextRef="From2023-01-012023-12-31_custom_CapitalInExcessOfParValueMember"
      id="xdx2ixbrl0570"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination
      contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0571"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination
      contextRef="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0572"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination
      contextRef="From2023-01-012023-12-31_us-gaap_ParentMember"
      id="xdx2ixbrl0573"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0577"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-012023-12-31_custom_CapitalInExcessOfParValueMember"
      id="xdx2ixbrl0578"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0580"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0587"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0588"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2023-01-012023-12-31_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0590"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0595"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2023-01-012023-12-31_custom_CapitalInExcessOfParValueMember"
      id="xdx2ixbrl0596"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0597"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0598"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2023-01-012023-12-31_us-gaap_ParentMember"
      id="xdx2ixbrl0599"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0603"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0605"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0606"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-01-012023-12-31_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0608"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-12-31_us-gaap_LandMember"
      id="xdx2ixbrl0855"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31_us-gaap_LeaseholdImprovementsMember"
      id="xdx2ixbrl0859"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31_us-gaap_DevelopedTechnologyRightsMember"
      id="xdx2ixbrl0862"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2022-12-31_us-gaap_LeaseholdImprovementsMember"
      id="xdx2ixbrl0892"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2022-12-31_us-gaap_DevelopedTechnologyRightsMember"
      id="xdx2ixbrl0895"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2022-12-31_us-gaap_LandMember"
      id="xdx2ixbrl0897"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="AsOf2023-12-31"
      id="xdx2ixbrl0920"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="AsOf2022-12-31"
      id="xdx2ixbrl0926"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="From2023-01-012023-12-31_us-gaap_PatentsMember68517890"
      id="xdx2ixbrl0928"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:EquityMethodInvestments
      contextRef="AsOf2023-12-31_custom_EnpPeruInvestmentsLlcMember"
      id="xdx2ixbrl1029"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:Investments
      contextRef="AsOf2023-12-31"
      id="xdx2ixbrl1037"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ShortTermBorrowings
      contextRef="AsOf2023-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockBankMember_us-gaap_RevolvingCreditFacilityMember"
      id="xdx2ixbrl1122"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:InterestExpenseDebt
      contextRef="From2023-01-012023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember"
      id="xdx2ixbrl1136"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DebtDefaultLongtermDebtAmount
      contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember"
      id="xdx2ixbrl1140"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DebtDefaultLongtermDebtAmount
      contextRef="AsOf2022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember"
      id="xdx2ixbrl1142"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:InterestExpenseDebt
      contextRef="From2023-01-012023-12-31_custom_NanoChemSolutionsIncMember_custom_MidlandBankMember"
      id="xdx2ixbrl1148"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DebtDefaultLongtermDebtAmount
      contextRef="AsOf2023-12-31_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember"
      id="xdx2ixbrl1152"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DebtDefaultLongtermDebtAmount
      contextRef="AsOf2022-12-31_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember"
      id="xdx2ixbrl1154"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:InterestExpenseDebt
      contextRef="From2022-01-012022-12-31_custom_MendotaMember_custom_TermLoanMember"
      id="xdx2ixbrl1225"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DebtDefaultLongtermDebtAmount
      contextRef="AsOf2022-12-31_custom_TermLoanMember_custom_MendotaMember"
      id="xdx2ixbrl1229"
      unitRef="USD"
      xsi:nil="true"/>
    <FSI:ProceedsFromLoanAcquiredFromAcquisition
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl1242"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:LongTermDebt
      contextRef="AsOf2023-12-31_custom_MidlandStatesBankMember"
      id="xdx2ixbrl1253"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:LongTermDebt
      contextRef="AsOf2022-12-31_custom_MidlandStatesBankMember"
      id="xdx2ixbrl1254"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:LongTermDebt
      contextRef="AsOf2023-12-31_custom_MidlandStatesBankOneMember"
      id="xdx2ixbrl1256"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:LongTermDebt
      contextRef="AsOf2022-12-31_custom_MidlandStatesBankOneMember"
      id="xdx2ixbrl1257"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:LongTermDebt
      contextRef="AsOf2022-12-31_custom_StockYardsBankTrustFiveMember"
      id="xdx2ixbrl1275"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl1314"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl1315"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets
      contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember"
      id="xdx2ixbrl1368"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets
      contextRef="AsOf2022-12-31_us-gaap_CanadaRevenueAgencyMember"
      id="xdx2ixbrl1370"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember"
      id="xdx2ixbrl1384"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="AsOf2022-12-31_us-gaap_CanadaRevenueAgencyMember"
      id="xdx2ixbrl1386"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="AsOf2023-12-31_us-gaap_InternalRevenueServiceIRSMember"
      id="xdx2ixbrl1388"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="AsOf2022-12-31_us-gaap_InternalRevenueServiceIRSMember"
      id="xdx2ixbrl1390"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DeferredTaxAssetsInvestments
      contextRef="AsOf2023-12-31_us-gaap_InternalRevenueServiceIRSMember"
      id="xdx2ixbrl1396"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DeferredTaxAssetsDerivativeInstruments
      contextRef="AsOf2023-12-31_us-gaap_InternalRevenueServiceIRSMember"
      id="xdx2ixbrl1408"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DeferredTaxAssetsDerivativeInstruments
      contextRef="AsOf2022-12-31_us-gaap_InternalRevenueServiceIRSMember"
      id="xdx2ixbrl1410"
      unitRef="USD"
      xsi:nil="true"/>
    <FSI:DeferredTaxAssetNotRecognized
      contextRef="AsOf2023-12-31_us-gaap_InternalRevenueServiceIRSMember"
      id="xdx2ixbrl1412"
      unitRef="USD"
      xsi:nil="true"/>
    <FSI:DeferredTaxAssetNotRecognized
      contextRef="AsOf2022-12-31_us-gaap_InternalRevenueServiceIRSMember"
      id="xdx2ixbrl1414"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2023-01-012023-12-31_custom_ConsultantsMember"
      id="xdx2ixbrl1570"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:StockOptionPlanExpense
      contextRef="From2023-01-012023-12-31_custom_ConsultantsMember"
      id="xdx2ixbrl1574"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2023-01-012023-12-31_custom_EmployeesMember"
      id="xdx2ixbrl1582"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:StockOptionPlanExpense
      contextRef="From2023-01-012023-12-31_custom_EmployeesMember"
      id="xdx2ixbrl1586"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2023-01-012023-12-31_custom_ConsultantsMember"
      id="xdx2ixbrl1596"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue
      contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember"
      id="xdx2ixbrl1606"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl1628"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DividendsPayableAmountPerShare
      contextRef="AsOf2022-12-31"
      id="xdx2ixbrl1632"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:MinorityInterest
      contextRef="AsOf2022-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      id="xdx2ixbrl1672"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2023-01-012023-12-31_custom_EWCPMember_custom_SegmentMember"
      id="xdx2ixbrl1710"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:InterestExpense
      contextRef="From2022-01-012022-12-31_custom_EWCPMember_custom_SegmentMember"
      id="xdx2ixbrl1718"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2022-01-012022-12-31_custom_EWCPMember_custom_SegmentMember"
      id="xdx2ixbrl1738"
      unitRef="USD"
      xsi:nil="true"/>
    <dei:DocumentType contextRef="From2023-01-01to2023-12-31" id="Fact000015">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport contextRef="From2023-01-01to2023-12-31" id="Fact000016">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate contextRef="From2023-01-01to2023-12-31" id="Fact000017">2023-12-31</dei:DocumentPeriodEndDate>
    <dei:CurrentFiscalYearEndDate contextRef="From2023-01-01to2023-12-31" id="Fact000018">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalYearFocus contextRef="From2023-01-01to2023-12-31" id="Fact000019">2023</dei:DocumentFiscalYearFocus>
    <dei:DocumentTransitionReport contextRef="From2023-01-01to2023-12-31" id="Fact000020">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="From2023-01-01to2023-12-31" id="Fact000021">001-31540</dei:EntityFileNumber>
    <dei:EntityRegistrantName contextRef="From2023-01-01to2023-12-31" id="Fact000022">FLEXIBLE SOLUTIONS INTERNATIONAL, INC.</dei:EntityRegistrantName>
    <dei:EntityTaxIdentificationNumber contextRef="From2023-01-01to2023-12-31" id="Fact000024">71-1630889</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="From2023-01-01to2023-12-31" id="Fact000025">6001     54 Ave.</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="From2023-01-01to2023-12-31" id="Fact000026">Taber</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="From2023-01-01to2023-12-31" id="Fact000027">AB</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressCountry contextRef="From2023-01-01to2023-12-31" id="Fact000028">CA</dei:EntityAddressCountry>
    <dei:EntityAddressPostalZipCode contextRef="From2023-01-01to2023-12-31" id="Fact000029">T1G     1X4</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="From2023-01-01to2023-12-31" id="Fact000030">(403)</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="From2023-01-01to2023-12-31" id="Fact000031">223-2995</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="From2023-01-01to2023-12-31" id="Fact000032">Common     Stock, $0.001 par value</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="From2023-01-01to2023-12-31" id="Fact000033">FSI</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="From2023-01-01to2023-12-31" id="Fact000034">NYSEAMER</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer contextRef="From2023-01-01to2023-12-31" id="Fact000035">No</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers contextRef="From2023-01-01to2023-12-31" id="Fact000036">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus contextRef="From2023-01-01to2023-12-31" id="Fact000037">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="From2023-01-01to2023-12-31" id="Fact000038">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="From2023-01-01to2023-12-31" id="Fact000039">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="From2023-01-01to2023-12-31" id="Fact000040">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="From2023-01-01to2023-12-31" id="Fact000041">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag contextRef="From2023-01-01to2023-12-31" id="Fact000042">false</dei:IcfrAuditorAttestationFlag>
    <dei:DocumentFinStmtErrorCorrectionFlag contextRef="From2023-01-01to2023-12-31" id="Fact000043">false</dei:DocumentFinStmtErrorCorrectionFlag>
    <dei:EntityShellCompany contextRef="From2023-01-01to2023-12-31" id="Fact000044">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat
      contextRef="AsOf2023-06-30"
      decimals="0"
      id="Fact000045"
      unitRef="USD">19343103</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="AsOf2024-03-29"
      decimals="INF"
      id="Fact000046"
      unitRef="Shares">12450532</dei:EntityCommonStockSharesOutstanding>
    <dei:DocumentsIncorporatedByReferenceTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000047">None</dei:DocumentsIncorporatedByReferenceTextBlock>
    <dei:AuditorName contextRef="From2023-01-01to2023-12-31" id="Fact000048">Smythe LLP</dei:AuditorName>
    <dei:AuditorFirmId contextRef="From2023-01-01to2023-12-31" id="Fact000049">995</dei:AuditorFirmId>
    <dei:AuditorLocation contextRef="From2023-01-01to2023-12-31" id="Fact000050">Vancouver, Canada</dei:AuditorLocation>
    <us-gaap:Cash
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000058"
      unitRef="USD">5017583</us-gaap:Cash>
    <us-gaap:Cash
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000059"
      unitRef="USD">6115099</us-gaap:Cash>
    <us-gaap:DepositsAssetsCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000061"
      unitRef="USD">2690241</us-gaap:DepositsAssetsCurrent>
    <us-gaap:DepositsAssetsCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000062"
      unitRef="USD">700000</us-gaap:DepositsAssetsCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000064"
      unitRef="USD">9843056</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000065"
      unitRef="USD">9449857</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000067"
      unitRef="USD">11134889</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000068"
      unitRef="USD">14419430</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000070"
      unitRef="USD">1540923</us-gaap:PrepaidExpenseCurrent>
    <us-gaap:PrepaidExpenseCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000071"
      unitRef="USD">310297</us-gaap:PrepaidExpenseCurrent>
    <us-gaap:AssetsCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000073"
      unitRef="USD">30226692</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000074"
      unitRef="USD">30994683</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000076"
      unitRef="USD">13171787</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000077"
      unitRef="USD">9709288</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000079"
      unitRef="USD">115293</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000080"
      unitRef="USD">167222</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000082"
      unitRef="USD">2280000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000083"
      unitRef="USD">2440000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:DepositsAssetsNoncurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000085"
      unitRef="USD">824254</us-gaap:DepositsAssetsNoncurrent>
    <us-gaap:DepositsAssetsNoncurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000086"
      unitRef="USD">8540</us-gaap:DepositsAssetsNoncurrent>
    <us-gaap:EquityMethodInvestments
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000088"
      unitRef="USD">6033960</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestments
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000089"
      unitRef="USD">5458895</us-gaap:EquityMethodInvestments>
    <us-gaap:Goodwill
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000091"
      unitRef="USD">2534275</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000092"
      unitRef="USD">2534275</us-gaap:Goodwill>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000094"
      unitRef="USD">284794</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000095"
      unitRef="USD">274289</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:Assets
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000097"
      unitRef="USD">55471055</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000098"
      unitRef="USD">51587192</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000106"
      unitRef="USD">1984592</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000107"
      unitRef="USD">873904</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000109"
      unitRef="USD">284131</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000110"
      unitRef="USD">959856</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:DeferredRevenueCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000112"
      unitRef="USD">148292</us-gaap:DeferredRevenueCurrent>
    <us-gaap:DeferredRevenueCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000113"
      unitRef="USD">387763</us-gaap:DeferredRevenueCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000115"
      unitRef="USD">4485213</us-gaap:TaxesPayableCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000116"
      unitRef="USD">4486350</us-gaap:TaxesPayableCurrent>
    <us-gaap:LinesOfCreditCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000118"
      unitRef="USD">1810479</us-gaap:LinesOfCreditCurrent>
    <us-gaap:LinesOfCreditCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000119"
      unitRef="USD">2818591</us-gaap:LinesOfCreditCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000121"
      unitRef="USD">59520</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000122"
      unitRef="USD">58080</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000124"
      unitRef="USD">1281632</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000125"
      unitRef="USD">717612</us-gaap:LongTermDebtCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000127"
      unitRef="USD">10053859</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000128"
      unitRef="USD">10302156</us-gaap:LiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000130"
      unitRef="USD">55773</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000131"
      unitRef="USD">109142</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000133"
      unitRef="USD">260047</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000134"
      unitRef="USD">500459</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000136"
      unitRef="USD">6833304</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000137"
      unitRef="USD">5436465</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:Liabilities
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000139"
      unitRef="USD">17202983</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000140"
      unitRef="USD">16348222</us-gaap:Liabilities>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000145"
      unitRef="Shares">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="Fact000147"
      unitRef="Shares">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000149"
      unitRef="USDPShares">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="Fact000151"
      unitRef="USDPShares">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000153"
      unitRef="Shares">1000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="Fact000155"
      unitRef="Shares">1000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000157"
      unitRef="USDPShares">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="Fact000159"
      unitRef="USDPShares">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesIssued
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000164"
      unitRef="Shares">12435532</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000166"
      unitRef="Shares">12435532</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="Fact000168"
      unitRef="Shares">12426260</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="Fact000170"
      unitRef="Shares">12426260</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000161"
      unitRef="USD">12436</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000162"
      unitRef="USD">12426</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000172"
      unitRef="USD">12436</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000173"
      unitRef="USD">12426</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000175"
      unitRef="USD">17932015</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000176"
      unitRef="USD">17523345</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000178"
      unitRef="USD">-795146</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000179"
      unitRef="USD">-805799</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000181"
      unitRef="USD">18053051</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000182"
      unitRef="USD">15903964</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000184"
      unitRef="USD">35202356</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000185"
      unitRef="USD">32633936</us-gaap:StockholdersEquity>
    <us-gaap:MinorityInterest
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000187"
      unitRef="USD">3065716</us-gaap:MinorityInterest>
    <us-gaap:MinorityInterest
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000188"
      unitRef="USD">2605034</us-gaap:MinorityInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000190"
      unitRef="USD">38268072</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000191"
      unitRef="USD">35238970</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000193"
      unitRef="USD">55471055</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000194"
      unitRef="USD">51587192</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000196"
      unitRef="USD">38324806</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000197"
      unitRef="USD">45840469</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000199"
      unitRef="USD">27987451</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000200"
      unitRef="USD">31971596</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000202"
      unitRef="USD">10337355</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000203"
      unitRef="USD">13868873</us-gaap:GrossProfit>
    <us-gaap:SalariesAndWages
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000208"
      unitRef="USD">2659654</us-gaap:SalariesAndWages>
    <us-gaap:SalariesAndWages
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000209"
      unitRef="USD">2537783</us-gaap:SalariesAndWages>
    <us-gaap:OfficersCompensation
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000211"
      unitRef="USD">1205007</us-gaap:OfficersCompensation>
    <us-gaap:OfficersCompensation
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000212"
      unitRef="USD">1032394</us-gaap:OfficersCompensation>
    <us-gaap:GeneralInsuranceExpense
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000214"
      unitRef="USD">861501</us-gaap:GeneralInsuranceExpense>
    <us-gaap:GeneralInsuranceExpense
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000215"
      unitRef="USD">683272</us-gaap:GeneralInsuranceExpense>
    <us-gaap:OtherGeneralExpense
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000217"
      unitRef="USD">508376</us-gaap:OtherGeneralExpense>
    <us-gaap:OtherGeneralExpense
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000218"
      unitRef="USD">350126</us-gaap:OtherGeneralExpense>
    <us-gaap:InterestExpense
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000220"
      unitRef="USD">498666</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000221"
      unitRef="USD">292949</us-gaap:InterestExpense>
    <FSI:Consulting
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000223"
      unitRef="USD">324327</FSI:Consulting>
    <FSI:Consulting
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000224"
      unitRef="USD">312171</FSI:Consulting>
    <us-gaap:TravelAndEntertainmentExpense
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000226"
      unitRef="USD">264563</us-gaap:TravelAndEntertainmentExpense>
    <us-gaap:TravelAndEntertainmentExpense
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000227"
      unitRef="USD">171369</us-gaap:TravelAndEntertainmentExpense>
    <us-gaap:ProfessionalFees
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000229"
      unitRef="USD">238466</us-gaap:ProfessionalFees>
    <us-gaap:ProfessionalFees
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000230"
      unitRef="USD">660821</us-gaap:ProfessionalFees>
    <FSI:InvestorRelationsAndTransferAgentFee
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000232"
      unitRef="USD">222650</FSI:InvestorRelationsAndTransferAgentFee>
    <FSI:InvestorRelationsAndTransferAgentFee
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000233"
      unitRef="USD">179505</FSI:InvestorRelationsAndTransferAgentFee>
    <us-gaap:SellingAndMarketingExpense
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000235"
      unitRef="USD">194308</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000236"
      unitRef="USD">182609</us-gaap:SellingAndMarketingExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000238"
      unitRef="USD">158246</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000239"
      unitRef="USD">99275</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000241"
      unitRef="USD">97806</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000242"
      unitRef="USD">149446</us-gaap:OperatingLeaseExpense>
    <us-gaap:CommunicationsAndInformationTechnology
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000244"
      unitRef="USD">55093</us-gaap:CommunicationsAndInformationTechnology>
    <us-gaap:CommunicationsAndInformationTechnology
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000245"
      unitRef="USD">42098</us-gaap:CommunicationsAndInformationTechnology>
    <FSI:Commissions
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000247"
      unitRef="USD">35623</FSI:Commissions>
    <FSI:Commissions
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000248"
      unitRef="USD">30732</FSI:Commissions>
    <us-gaap:UtilitiesOperatingExpense
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000250"
      unitRef="USD">26854</us-gaap:UtilitiesOperatingExpense>
    <us-gaap:UtilitiesOperatingExpense
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000251"
      unitRef="USD">29517</us-gaap:UtilitiesOperatingExpense>
    <FSI:ShippingCost
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000253"
      unitRef="USD">24060</FSI:ShippingCost>
    <FSI:ShippingCost
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000254"
      unitRef="USD">23469</FSI:ShippingCost>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000256"
      unitRef="USD">37632</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000257"
      unitRef="USD">-23091</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000260"
      unitRef="USD">17869</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:OperatingExpenses
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000262"
      unitRef="USD">7337568</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000263"
      unitRef="USD">6818496</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000265"
      unitRef="USD">2999787</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000266"
      unitRef="USD">7050377</us-gaap:OperatingIncomeLoss>
    <us-gaap:GainLossOnDispositionOfAssets1
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000268"
      unitRef="USD">4589</us-gaap:GainLossOnDispositionOfAssets1>
    <us-gaap:GainLossOnInvestments
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000271"
      unitRef="USD">505065</us-gaap:GainLossOnInvestments>
    <us-gaap:GainLossOnInvestments
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000272"
      unitRef="USD">341424</us-gaap:GainLossOnInvestments>
    <FSI:GainOnPreviouslyHeldEquityInterest
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000275"
      unitRef="USD">335051</FSI:GainOnPreviouslyHeldEquityInterest>
    <us-gaap:InterestIncomeOther
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000277"
      unitRef="USD">113809</us-gaap:InterestIncomeOther>
    <us-gaap:InterestIncomeOther
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000278"
      unitRef="USD">132233</us-gaap:InterestIncomeOther>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000280"
      unitRef="USD">3623250</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000281"
      unitRef="USD">7859085</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000286"
      unitRef="USD">-250917</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000287"
      unitRef="USD">-71295</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000289"
      unitRef="USD">118182</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000290"
      unitRef="USD">217151</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000292"
      unitRef="USD">3755985</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000293"
      unitRef="USD">7713229</us-gaap:ProfitLoss>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000295"
      unitRef="USD">980121</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000296"
      unitRef="USD">691625</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000298"
      unitRef="USD">2775864</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000299"
      unitRef="USD">7021604</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="Fact000301"
      unitRef="USDPShares">0.22</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="Fact000302"
      unitRef="USDPShares">0.57</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="Fact000304"
      unitRef="USDPShares">0.22</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="Fact000305"
      unitRef="USDPShares">0.56</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="Fact000307"
      unitRef="Shares">12434886</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="Fact000308"
      unitRef="Shares">12379316</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="Fact000310"
      unitRef="Shares">12489467</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="Fact000311"
      unitRef="Shares">12466415</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000316"
      unitRef="USD">3755985</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000317"
      unitRef="USD">7713229</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000319"
      unitRef="USD">10653</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000320"
      unitRef="USD">-30069</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000322"
      unitRef="USD">3766638</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000323"
      unitRef="USD">7683160</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000325"
      unitRef="USD">980121</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000326"
      unitRef="USD">691625</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000328"
      unitRef="USD">2786517</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000329"
      unitRef="USD">6991535</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000334"
      unitRef="USD">3755985</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000335"
      unitRef="USD">7713229</us-gaap:ProfitLoss>
    <us-gaap:ShareBasedCompensation
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000340"
      unitRef="USD">395080</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000341"
      unitRef="USD">399148</us-gaap:ShareBasedCompensation>
    <us-gaap:DepreciationAndAmortization
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000343"
      unitRef="USD">1686319</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000344"
      unitRef="USD">1277431</us-gaap:DepreciationAndAmortization>
    <FSI:LeaseRightOfUseFinancing
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000346"
      unitRef="USD">6151</FSI:LeaseRightOfUseFinancing>
    <FSI:LeaseRightOfUseFinancing
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000347"
      unitRef="USD">8566</FSI:LeaseRightOfUseFinancing>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000349"
      unitRef="USD">51929</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000350"
      unitRef="USD">50045</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:GainLossOnInvestments
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000352"
      unitRef="USD">505065</us-gaap:GainLossOnInvestments>
    <us-gaap:GainLossOnInvestments
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000353"
      unitRef="USD">341424</us-gaap:GainLossOnInvestments>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000355"
      unitRef="USD">4589</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000359"
      unitRef="USD">17869</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000361"
      unitRef="USD">-250917</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000362"
      unitRef="USD">-71295</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <FSI:GainOnAcquisitionOfSubsidiary
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000365"
      unitRef="USD">335051</FSI:GainOnAcquisitionOfSubsidiary>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000370"
      unitRef="USD">393199</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000371"
      unitRef="USD">2338397</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000373"
      unitRef="USD">-3284541</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000374"
      unitRef="USD">4124022</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidExpense
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000376"
      unitRef="USD">1230626</us-gaap:IncreaseDecreaseInPrepaidExpense>
    <us-gaap:IncreaseDecreaseInPrepaidExpense
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000377"
      unitRef="USD">-131864</us-gaap:IncreaseDecreaseInPrepaidExpense>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000379"
      unitRef="USD">434964</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000380"
      unitRef="USD">-700191</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000382"
      unitRef="USD">-1137</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000383"
      unitRef="USD">-249628</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000385"
      unitRef="USD">-239471</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000386"
      unitRef="USD">38759</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000388"
      unitRef="USD">6989965</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000389"
      unitRef="USD">1476903</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquireInvestments
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000394"
      unitRef="USD">470000</us-gaap:PaymentsToAcquireInvestments>
    <FSI:ProceedsFromRedemptionOfInvestments
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000397"
      unitRef="USD">200000</FSI:ProceedsFromRedemptionOfInvestments>
    <us-gaap:ProceedsFromSaleOfEquityMethodInvestments
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000400"
      unitRef="USD">201034</us-gaap:ProceedsFromSaleOfEquityMethodInvestments>
    <us-gaap:ProceedsFromSaleOfEquityMethodInvestments
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000401"
      unitRef="USD">265001</us-gaap:ProceedsFromSaleOfEquityMethodInvestments>
    <FSI:ProceedsFromNoncontrollingInterestOfMendota
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000403"
      unitRef="USD">200000</FSI:ProceedsFromNoncontrollingInterestOfMendota>
    <FSI:PaymentsToAcquireLongTermDeposits
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000406"
      unitRef="USD">815714</FSI:PaymentsToAcquireLongTermDeposits>
    <us-gaap:ProceedsFromSaleOfProductiveAssets
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000409"
      unitRef="USD">5411</us-gaap:ProceedsFromSaleOfProductiveAssets>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000412"
      unitRef="USD">4990675</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000413"
      unitRef="USD">1981307</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000416"
      unitRef="USD">499329</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000418"
      unitRef="USD">-5669944</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000419"
      unitRef="USD">-2215635</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromRepaymentsOfLinesOfCredit
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000424"
      unitRef="USD">-1008112</us-gaap:ProceedsFromRepaymentsOfLinesOfCredit>
    <us-gaap:ProceedsFromRepaymentsOfLinesOfCredit
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000425"
      unitRef="USD">517772</us-gaap:ProceedsFromRepaymentsOfLinesOfCredit>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000427"
      unitRef="USD">725823</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000428"
      unitRef="USD">2292819</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000430"
      unitRef="USD">2686682</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000431"
      unitRef="USD">3230798</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:PaymentsOfFinancingCosts
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000433"
      unitRef="USD">58080</us-gaap:PaymentsOfFinancingCosts>
    <us-gaap:PaymentsOfFinancingCosts
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000434"
      unitRef="USD">58611</us-gaap:PaymentsOfFinancingCosts>
    <us-gaap:PaymentsOfDividends
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000436"
      unitRef="USD">626777</us-gaap:PaymentsOfDividends>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000439"
      unitRef="USD">719439</us-gaap:PaymentsToMinorityShareholders>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000440"
      unitRef="USD">689434</us-gaap:PaymentsToMinorityShareholders>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000442"
      unitRef="USD">13600</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000443"
      unitRef="USD">140620</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000445"
      unitRef="USD">-437949</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000446"
      unitRef="USD">848326</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000448"
      unitRef="USD">10653</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000449"
      unitRef="USD">-30069</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000451"
      unitRef="USD">892725</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000452"
      unitRef="USD">79525</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000454"
      unitRef="USD">6815099</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="AsOf2021-12-31"
      decimals="0"
      id="Fact000455"
      unitRef="USD">6735574</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000457"
      unitRef="USD">7707824</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000458"
      unitRef="USD">6815099</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:Cash
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000463"
      unitRef="USD">5017583</us-gaap:Cash>
    <us-gaap:Cash
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000464"
      unitRef="USD">6115099</us-gaap:Cash>
    <us-gaap:ShortTermInvestments
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000466"
      unitRef="USD">2690241</us-gaap:ShortTermInvestments>
    <us-gaap:ShortTermInvestments
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000467"
      unitRef="USD">700000</us-gaap:ShortTermInvestments>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000469"
      unitRef="USD">7707824</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000470"
      unitRef="USD">6815099</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000475"
      unitRef="USD">119319</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000476"
      unitRef="USD">158966</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000478"
      unitRef="USD">498666</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000479"
      unitRef="USD">292949</us-gaap:InterestPaidNet>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2021-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000489"
      unitRef="Shares">12355246</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2021-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000481"
      unitRef="USD">12355</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2021-12-31_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      id="Fact000482"
      unitRef="USD">16983648</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2021-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000483"
      unitRef="USD">8882360</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2021-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      id="Fact000484"
      unitRef="USD">-775730</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2021-12-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000485"
      unitRef="USD">25102633</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2021-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      id="Fact000486"
      unitRef="USD">2602843</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2021-12-31"
      decimals="0"
      id="Fact000487"
      unitRef="USD">27705476</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2022-01-012022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      id="Fact000494"
      unitRef="USD">-30069</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2022-01-012022-12-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000495"
      unitRef="USD">-30069</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000497"
      unitRef="USD">-30069</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:ProfitLoss
      contextRef="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000501"
      unitRef="USD">7021604</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2022-01-012022-12-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000503"
      unitRef="USD">7021604</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2022-01-012022-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      id="Fact000504"
      unitRef="USD">691625</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000505"
      unitRef="USD">7713229</us-gaap:ProfitLoss>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000515"
      unitRef="Shares">71014</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000507"
      unitRef="USD">71</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2022-01-012022-12-31_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      id="Fact000508"
      unitRef="USD">140549</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2022-01-012022-12-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000511"
      unitRef="USD">140620</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000513"
      unitRef="USD">140620</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2022-01-012022-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      id="Fact000522"
      unitRef="USD">689434</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000523"
      unitRef="USD">689434</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2022-01-012022-12-31_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      id="Fact000526"
      unitRef="USD">399148</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2022-01-012022-12-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000529"
      unitRef="USD">399148</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000531"
      unitRef="USD">399148</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2022-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000541"
      unitRef="Shares">12426260</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000533"
      unitRef="USD">12426</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      id="Fact000534"
      unitRef="USD">17523345</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000535"
      unitRef="USD">15903964</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      id="Fact000536"
      unitRef="USD">-805799</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000537"
      unitRef="USD">32633936</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      id="Fact000538"
      unitRef="USD">2605034</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000539"
      unitRef="USD">35238970</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2022-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000551"
      unitRef="Shares">12426260</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000543"
      unitRef="USD">12426</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      id="Fact000544"
      unitRef="USD">17523345</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000545"
      unitRef="USD">15903964</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      id="Fact000546"
      unitRef="USD">-805799</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000547"
      unitRef="USD">32633936</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      id="Fact000548"
      unitRef="USD">2605034</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000549"
      unitRef="USD">35238970</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      id="Fact000556"
      unitRef="USD">10653</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2023-01-012023-12-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000557"
      unitRef="USD">10653</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000559"
      unitRef="USD">10653</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:Dividends
      contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000563"
      unitRef="USD">626777</us-gaap:Dividends>
    <us-gaap:Dividends
      contextRef="From2023-01-012023-12-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000565"
      unitRef="USD">626777</us-gaap:Dividends>
    <us-gaap:Dividends
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000567"
      unitRef="USD">626777</us-gaap:Dividends>
    <us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination
      contextRef="From2023-01-012023-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      id="Fact000574"
      unitRef="USD">200000</us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination>
    <us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000575"
      unitRef="USD">200000</us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000579"
      unitRef="USD">2775864</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-012023-12-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000581"
      unitRef="USD">2775864</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-012023-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      id="Fact000582"
      unitRef="USD">980121</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000583"
      unitRef="USD">3755985</us-gaap:ProfitLoss>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000593"
      unitRef="Shares">9272</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000585"
      unitRef="USD">10</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2023-01-012023-12-31_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      id="Fact000586"
      unitRef="USD">13590</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2023-01-012023-12-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000589"
      unitRef="USD">13600</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000591"
      unitRef="USD">13600</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2023-01-012023-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      id="Fact000600"
      unitRef="USD">719439</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000601"
      unitRef="USD">719439</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-01-012023-12-31_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      id="Fact000604"
      unitRef="USD">395080</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-01-012023-12-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000607"
      unitRef="USD">395080</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000609"
      unitRef="USD">395080</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2023-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000619"
      unitRef="Shares">12435532</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000611"
      unitRef="USD">12436</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      id="Fact000612"
      unitRef="USD">17932015</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000613"
      unitRef="USD">18053051</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      id="Fact000614"
      unitRef="USD">-795146</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000615"
      unitRef="USD">35202356</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      id="Fact000616"
      unitRef="USD">3065716</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000617"
      unitRef="USD">38268072</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2023-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000629"
      unitRef="Shares">12435532</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000621"
      unitRef="USD">12436</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      id="Fact000622"
      unitRef="USD">17932015</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000623"
      unitRef="USD">18053051</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      id="Fact000624"
      unitRef="USD">-795146</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000625"
      unitRef="USD">35202356</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      id="Fact000626"
      unitRef="USD">3065716</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000627"
      unitRef="USD">38268072</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000631">&lt;p id="xdx_807_eus-gaap--BusinessDescriptionAndBasisOfPresentationTextBlock_z8eX14V1O7b" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;1.
&lt;span id="xdx_82C_zajMyHi4dtsl"&gt;BASIS OF PRESENTATION&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;These
consolidated financial statements (&#x201c;consolidated financial statements&#x201d;) include the accounts of Flexible Solutions International,
Inc. (the &#x201c;Company&#x201d;), its wholly-owned subsidiaries Flexible Fermentation Ltd., NanoChem Solutions Inc. (&#x201c;NanoChem&#x201d;),
Flexible Solutions Ltd., Flexible Biomass LP, FS Biomass Inc., NCS Deferred Corp., Natural Chem SEZC Ltd., InnFlex Holdings Inc., ENP
Peru Investments LLC (&#x201c;ENP Peru&#x201d;), its &lt;span id="xdx_905_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember_zsIFdNhs2Bf7" title="Subsidiary company ownership interest rate"&gt;80&lt;/span&gt;% controlling interest in 317 Mendota LLC (&#x201c;317 Mendota&#x201d;), and its &lt;span id="xdx_90E_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCAndENPMendotaMember_zgNdQkKiGJic" title="Subsidiary company ownership interest rate"&gt;65&lt;/span&gt;%
controlling interest in ENP Investments, LLC (&#x201c;ENP Investments&#x201d;) and ENP Mendota, LLC (&#x201c;ENP Mendota&#x201d;). All inter-company
balances and transactions have been eliminated upon consolidation. The Company was incorporated on May 12, 1998 in the State of Nevada
and in 2019, the Company redomiciled into Alberta, Canada.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
2022, NanoChem purchased an additional &lt;span id="xdx_906_ecustom--IncreaseDecreaseInSharePercentage_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--UnrelatedPartyMember_zeGApzB5F9d2" title="Increase decrease in share percentage"&gt;50&lt;/span&gt;% in ENP Peru, increasing its share to &lt;span id="xdx_905_ecustom--IncreaseDecreaseInSharePercentage_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember_zLJqj8PRgjPl" title="Increase decrease in share percentage"&gt;91.67&lt;/span&gt;%. ENP Investments owns the remaining &lt;span id="xdx_901_ecustom--RemainingInvestmentOwnedPercentage_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember_zyk4bLodgwXd" title="Remaining investment owned percentage"&gt;8.33&lt;/span&gt;%, of
which the Company has a &lt;span id="xdx_900_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsAndENPMendotaMember_zOwit3SJJnTk" title="Subsidiary company ownership interest rate"&gt;65&lt;/span&gt;% interest. In 2023, NanoChem purchased the remaining &lt;span id="xdx_901_ecustom--RemainingInvestmentOwnedPercentage_pid_dp_uPure_c20230101__20231231__srt--OwnershipAxis__custom--ENPPeruMember_zMolEU07p2wf" title="Remaining investment owned percentage"&gt;8.33&lt;/span&gt;% of shares to become sole owner. ENP Peru was previously
accounted for under the equity method however, it is now consolidated into the financial statements from the date control was obtained.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
2023, the Company purchased an &lt;span id="xdx_905_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember_zQnQSbHyYh82" title="Subsidiary company ownership interest rate"&gt;80&lt;/span&gt;%
interest in 317 Mendota, a newly incorporated company established to purchase a large manufacturing building. ENP Investments will
occupy part of this building, freeing up more space in the building owned by ENP Peru for NanoChem. The Company intends to rent the
remainder of the space to suitable tenants. The remaining &lt;span id="xdx_908_eus-gaap--MinorityInterestOwnershipPercentageByNoncontrollingOwners_iI_pid_dp_uPure_c20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--UnrelatedPartyMember_zkDtGLdvLqk3" title="Noncontrolling interest percentage"&gt;20&lt;/span&gt;%
non-controlling interest is held by unrelated parties.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company and its subsidiaries develop, manufacture and market specialty chemicals which slow the evaporation of water. One product, HEATSAVR&#xae;,
is marketed for use in swimming pools and spas where its use, by slowing the evaporation of water, allows the water to retain a higher
temperature for a longer period of time and thereby reduces the energy required to maintain the desired temperature of the water in the
pool. Another product, WATERSAVR&#xae;, is marketed for water conservation in irrigation canals, aquaculture, and reservoirs where its
use slows water loss due to evaporation. In addition to the water conservation products, the Company also manufactures and markets water-soluble
chemicals utilizing thermal polyaspartate biopolymers (hereinafter referred to as &#x201c;TPAs&#x201d;), which are beta-proteins manufactured
from the common biological amino acid, L-aspartic. TPAs can be formulated to prevent corrosion and scaling in water piping within the
petroleum, chemical, utility and mining industries. TPAs are also used as proteins to enhance fertilizers in improving crop yields and
can be used as additives for household laundry detergents, consumer care products and pesticides. The TPA division also manufactures
two nitrogen conservation products for agriculture that slows nitrogen loss from fields.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock>
    <us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest
      contextRef="From2023-01-012023-12-31_custom_MendotaLLCMember"
      decimals="INF"
      id="Fact000633"
      unitRef="Pure">0.80</us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest>
    <us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest
      contextRef="From2023-01-012023-12-31_custom_ENPInvestmentsLLCAndENPMendotaMember"
      decimals="INF"
      id="Fact000635"
      unitRef="Pure">0.65</us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest>
    <FSI:IncreaseDecreaseInSharePercentage
      contextRef="From2022-01-012022-12-31_custom_ENPPeruMember_custom_UnrelatedPartyMember"
      decimals="INF"
      id="Fact000637"
      unitRef="Pure">0.50</FSI:IncreaseDecreaseInSharePercentage>
    <FSI:IncreaseDecreaseInSharePercentage
      contextRef="From2022-01-012022-12-31_custom_ENPPeruMember"
      decimals="INF"
      id="Fact000639"
      unitRef="Pure">0.9167</FSI:IncreaseDecreaseInSharePercentage>
    <FSI:RemainingInvestmentOwnedPercentage
      contextRef="From2022-01-012022-12-31_custom_ENPPeruMember"
      decimals="INF"
      id="Fact000641"
      unitRef="Pure">0.0833</FSI:RemainingInvestmentOwnedPercentage>
    <us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest
      contextRef="From2022-01-012022-12-31_custom_ENPInvestmentsAndENPMendotaMember"
      decimals="INF"
      id="Fact000643"
      unitRef="Pure">0.65</us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest>
    <FSI:RemainingInvestmentOwnedPercentage
      contextRef="From2023-01-012023-12-31_custom_ENPPeruMember"
      decimals="INF"
      id="Fact000645"
      unitRef="Pure">0.0833</FSI:RemainingInvestmentOwnedPercentage>
    <us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest
      contextRef="From2023-01-012023-12-31_custom_MendotaLLCMember"
      decimals="INF"
      id="Fact000647"
      unitRef="Pure">0.80</us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest>
    <us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners
      contextRef="AsOf2023-12-31_custom_MendotaLLCMember_custom_UnrelatedPartyMember"
      decimals="INF"
      id="Fact000649"
      unitRef="Pure">0.20</us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners>
    <us-gaap:SignificantAccountingPoliciesTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000651">&lt;p id="xdx_804_eus-gaap--SignificantAccountingPoliciesTextBlock_zItbUI9LBWjj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;2.
&lt;span id="xdx_82A_zgYh1WmMwhoh"&gt;SIGNIFICANT ACCOUNTING POLICIES&lt;/span&gt; &lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;These
consolidated financial statements have been prepared on a historical cost basis, except where otherwise noted, in accordance with accounting
principles generally accepted in the United States applicable to a going concern and reflect the policies outlined below.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_84C_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_zycQmbBUVMu1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(a)
&lt;i&gt;&lt;span id="xdx_863_z9jFhvww0eJ4"&gt;Cash and Cash Equivalents&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company considers all highly liquid investments purchased with an original or remaining maturity of less than three months at the date
of purchase to be cash equivalents. Cash and cash equivalents are maintained with several financial institutions.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_843_ecustom--TermDepositsPolicyTextBlock_zCsd82EkMtZ5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(b)
&lt;i&gt;&lt;span id="xdx_86E_zDHFhn46ydM2"&gt;Term Deposits&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company has four term deposits that are maintained by commercials banks. The first term deposit is for $&lt;span id="xdx_908_eus-gaap--Deposits_iI_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zSe2x1fDTjwh"&gt;680,000&lt;/span&gt; and matures in
January 2024. This deposit pays &lt;span id="xdx_907_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zsHT3saNhqS5"&gt;5.0&lt;/span&gt;% interest and if withdrawn before maturity, the greater of the loss of accrued interest or $&lt;span id="xdx_906_ecustom--MinimumInterestPenalty_iI_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zjHN09je00Rf" title="Minimum interest penalty"&gt;150&lt;/span&gt;,
plus 1% of the principal shall be levied. The second term deposit is for $&lt;span id="xdx_90D_eus-gaap--Deposits_iI_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--SecondTermMember_zw8dA1VVi3be"&gt;300,000 &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;and
matures in February 2024. Paying &lt;span id="xdx_90F_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--SecondTermMember_zOZjbxGylA84"&gt;1.3&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;%
interest, it can be withdrawn by the Company at any point without prior notice or penalty. The third term deposit is for $&lt;span id="xdx_908_eus-gaap--Deposits_iI_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zAMditO0RDwk"&gt;710,241&lt;/span&gt;, &lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;matures
in May 2024 and pays interest at a rate of &lt;span id="xdx_909_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zIh8a47XxHFh"&gt;3.00&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;%.
If withdrawn before maturity, the greater of the loss of accrued interest or $&lt;span id="xdx_90C_ecustom--MinimumInterestPenalty_iI_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zhqDedZewXek" title="Minimum interest penalty"&gt;150&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;,
plus 1% of the principal shall be levied. The fourth term deposit is for $&lt;span id="xdx_908_eus-gaap--Deposits_iI_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_zW7vltd8pIjd"&gt;1,000,000 &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;and
matures in May 2024. This deposit pays &lt;span id="xdx_900_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_z7AKLJuh7FTd"&gt;3.85&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;%
and if withdrawn before maturity, the greater of the loss of accrued interest or $&lt;span id="xdx_909_ecustom--MinimumInterestPenalty_iI_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_zY96Usv2Fnk6" title="Minimum interest penalty"&gt;150&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;,
plus 1% of the principal shall be levied.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_848_eus-gaap--InventoryPolicyTextBlock_zCLrxwHbBMq4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(c)
&lt;i&gt;&lt;span id="xdx_86C_z9DHC5M2MiOg"&gt;Inventories and Cost of Sales&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company has three major classes of inventory: completed goods, work in progress and raw materials and supplies. In all classes inventories
are stated at the lower of cost and net realizable value. Cost is determined on a first-in, first-out basis or weighted average cost
formula to inventories in different subsidiaries. Cost of sales includes all expenditures incurred in bringing the goods to the point
of sale. Inventory costs and costs of sales include direct costs of the raw material, inbound freight charges, warehousing costs, handling
costs (receiving and purchasing) and utilities and overhead expenses related to the Company&#x2019;s manufacturing and processing facilities.
Shipping and handling charges billed to customers are included in revenue (2023 - $&lt;span id="xdx_90A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_znAL8oN2E4nc" title="Sales"&gt;522,033&lt;/span&gt;; 2022 - $&lt;span id="xdx_90A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zPmy4qxQCylf" title="Sales"&gt;433,015&lt;/span&gt;). Shipping and handling costs
incurred are included in cost of goods sold (2023 - $&lt;span id="xdx_908_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_z7hmwQD7RIKf" title="Cost of sales"&gt;944,811&lt;/span&gt;; 2022 - $&lt;span id="xdx_903_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_z0eW0G8k0M7f" title="Cost of sales"&gt;913,890&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_849_eus-gaap--PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy_zqCjsIIwzSF7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(d)
&lt;i&gt;&lt;span id="xdx_869_z8CdBlCoUtv6"&gt;Allowance for Doubtful Accounts&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company provides an allowance for doubtful accounts when management estimates collectability to be uncertain. Accounts receivable are
continually reviewed to determine which, if any, accounts are doubtful of collection. In making the determination of the appropriate
allowance amount, the Company considers current economic and industry conditions, relationships with each significant customer, overall
customer credit-worthiness and historical experience.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_847_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_zlZM99BklGQ8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(e)
&lt;i&gt;&lt;span id="xdx_860_zecH1XuJr7Ge"&gt;Property, Equipment, Leaseholds and Intangible Assets&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_898_ecustom--ScheduleOfMethodOfDepreciationTableTextBlock_zVBeFgK8B2Z7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following assets are recorded at cost and depreciated using the methods and annual rates shown below:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BC_zO3YsMi3z765" style="display: none"&gt;SCHEDULE OF METHOD OF DEPRECIATION&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; width: 80%; border-collapse: collapse; margin-right: auto"&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 2%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Computer
    hardware&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90E_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zT4QBkeYUUek" title="Depreciation method used and annual rate"&gt;30%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Manufacturing
    equipment&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_908_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zPSeyFrBmyN2" title="Depreciation method used and annual rate"&gt;20%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Office
    equipment&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_znJ8hnljVGKk" title="Depreciation method used and annual rate"&gt;20%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Boat&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_909_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--BoatMember_zdvHZ2ZdFeU8" title="Depreciation method used and annual rate"&gt;20%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Building
    and improvements&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90D_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zuGTqJXw06dj" title="Depreciation method used and annual rate"&gt;10%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Trailer&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_907_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TrailerMember_z5c6SDFzPmLa" title="Depreciation method used and annual rate"&gt;30%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Automobiles&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_908_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zSE2lmNOLeIl" title="Depreciation method used and annual rate"&gt;Straight-line
    over 5 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Patents&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_903_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PatentsMember_zKDlSd0Upm52" title="Depreciation method used and annual rate"&gt;Straight-line
    over 17 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Technology&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--TechnologyEquipmentMember_zHfl3DWLmuy" title="Depreciation method used and annual rate"&gt;Straight-line
    over 10 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Leasehold
    improvements&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_909_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zHQnps9u9KM9" title="Depreciation method used and annual rate"&gt;Straight-line
    over lease term&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Customer
    relationships &lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90F_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--CustomerRelationshipsMember_zYGvPmg3ddp5" title="Depreciation method used and annual rate"&gt;Straight-line
    over 15 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Software
    &lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--SoftwareMember_zd7AbxOppGi" title="Depreciation method used and annual rate"&gt;Straight-line
    over 3 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
&lt;p id="xdx_8A4_zwM1WFHdVfRa" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_847_eus-gaap--ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_zAFq2kLTAmqi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(f)
&lt;i&gt;&lt;span id="xdx_86F_zxFsW29OLV45"&gt;Impairment of Long-Lived Assets&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
accordance with FASB Codification Topic 360, &lt;i&gt;Property, Plant and Equipment&lt;/i&gt; (ASC 360), the Company reviews long-lived assets, including,
but not limited to, property, equipment and leaseholds, patents and other assets, for impairment annually or whenever events or changes
in circumstances indicate the carrying amounts of assets may not be recoverable. The carrying value of long-lived assets is assessed
for impairment by evaluating operating performance and future undiscounted cash flows of the underlying assets. If the expected future
cash flows of an asset is less than its carrying value, an impairment measurement is indicated. Impairment charges are recorded to the
extent that an asset&#x2019;s carrying value exceeds its fair value. Accordingly, actual results could vary significantly from such estimates.
There were no impairment charges during the periods presented.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_844_eus-gaap--ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_zdi7ZFTuLfa7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(g)
&lt;i&gt;&lt;span id="xdx_869_zKWkhnFukui8"&gt;Foreign Currency&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
functional currency of the Company is the U.S. dollar. The functional currency of three of the Company&#x2019;s subsidiaries is the Canadian
dollar. The translation of the Canadian dollar to the reporting currency of the Company, the U.S. dollar, is performed for assets and
liabilities using exchange rates in effect at the balance sheet date. Revenue and expense transactions are translated using average exchange
rates prevailing during the year. Translation adjustments arising on conversion of the Company&#x2019;s financial statements from the
subsidiary&#x2019;s functional currency, Canadian dollars, into the reporting currency, U.S. dollars, are excluded from the determination
of income (loss) and are disclosed as other comprehensive income in the consolidated statements of income and comprehensive income.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Foreign
exchange gains and losses relating to transactions not denominated in the applicable local currency are included in operating income
(loss) if realized during the year and in comprehensive income (loss) if they remain unrealized at the end of the year.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_846_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zC1Fmv7ppdVa" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(h)
&lt;i&gt;&lt;span id="xdx_865_zZalEwPd8mOa"&gt;Revenue Recognition&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company generates revenue primarily from energy and water conservation products and biodegradable polymers, as further discussed in Note
18.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company follows a five-step model for revenue recognition. The five steps are: (1) identification of the contract(s) with the customer,
(2) identification of the performance obligation(s) in the contract(s), (3) determination of the transaction price, (4) allocation of
the transaction price to the performance obligation, and (5) recognition of revenue when (or as) the performance obligation is satisfied.
The Company has fulfilled its performance obligations when control transfers to the customer, which is generally at the time the product
is shipped since risk of loss is transferred to the purchaser upon delivery to the carrier. For shipments which are free-on-board shipping
point, the Company has elected to account for shipping and handling activities as a fulfillment cost rather than as an additional promised
service and performance obligation.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Since
the Company&#x2019;s inception, product returns have been insignificant; therefore, no provision has been established for estimated product
returns.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Deferred
revenues consist of products sold to distributors with payment terms greater than the Company&#x2019;s customary business terms due to
lack of credit history or operating in a new market in which the Company has no prior experience. The Company defers the recognition
of revenue until the criteria for revenue recognition has been met and payments become due or cash is received from these distributors.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_846_ecustom--StockIssuedInExchangeForServicesPolicyTextBlock_zQ1sqqodYo3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(i)
&lt;i&gt;&lt;span id="xdx_866_ziyo4EIkGBdb"&gt;Stock Issued in Exchange for Services&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s common stock issued in exchange for services is valued at estimated fair market value based upon trading prices of the
Company&#x2019;s common stock on the dates of the stock transactions. The corresponding expense of the services rendered is recognized
over the period that the services are performed.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_84F_eus-gaap--CompensationRelatedCostsPolicyTextBlock_zm3fhx8wLSMj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(j)
&lt;i&gt;&lt;span id="xdx_867_zQihUHSxtFka"&gt;Stock-based Compensation&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company recognizes compensation expense for all share-based payments in accordance with FASB Codification Topic 718, &lt;i&gt;Compensation
&#x2014; Stock Compensation&lt;/i&gt; (ASC 718). Under the fair value recognition provisions of ASC 718, the Company recognizes share-based
compensation expense, net of an estimated forfeiture rate, over the requisite service period of the award.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
fair value at grant date of stock options is estimated using the Black-Scholes option-pricing model. Compensation expense is recognized
on a straight-line basis over the stock option vesting period based on the estimated number of stock options that are expected to vest.
Shares are issued from treasury upon exercise of stock options.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_84E_eus-gaap--ComprehensiveIncomePolicyPolicyTextBlock_zhETH9DCsXRb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(k)
&lt;i&gt;&lt;span id="xdx_864_zZiKZIJERqIl"&gt;Other Comprehensive Income&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Other
comprehensive income refers to revenues, expenses, gains and losses that under generally accepted accounting principles are included
in comprehensive income, but are excluded from net income as these amounts are recorded directly as an adjustment to stockholders&#x2019;
equity. The Company&#x2019;s other comprehensive income is comprised only of unrealized foreign exchange gains and losses related to the
translation of subsidiaries&#x2019; functional currency into the reporting currency.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_84F_eus-gaap--EarningsPerSharePolicyTextBlock_z31pOn9hOJoc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(l)
&lt;i&gt;&lt;span id="xdx_861_zZcstvs2lSf2"&gt;Income Per Share&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Basic
earnings per share is computed by dividing income available to common stockholders by the weighted average number of common shares outstanding
in the period. Diluted earnings per share are calculated giving effect to the potential dilution of the exercise of options and warrants.
Common equivalent shares, composed of incremental common shares issuable upon the exercise of stock options and warrants are included
in diluted net income per share to the extent that these shares are dilutive. Common equivalent shares that have an anti-dilutive effect
on net income (loss) per share have been excluded from the calculation of diluted weighted average shares outstanding for the years ended
December 31, 2023 and 2022.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_844_eus-gaap--UseOfEstimates_zPrJV4zzeON3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(m)
&lt;i&gt;&lt;span id="xdx_86D_zMAJ53TEfp74"&gt;Use of Estimates&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States requires
management to make estimates and assumptions that affect the reported amounts of 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 and would impact the results of operations and cash flows.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 35.45pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Estimates
and underlying assumptions are reviewed at each period end. Revisions to accounting estimates are recognized in the period in which the
estimates are revised and in any future periods affected.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Significant
areas requiring the use of management estimates include assumptions and estimates relating to the valuation of goodwill and
intangible assets, valuation of assets acquired at fair value, asset impairment analysis, share-based payments, valuation allowances
for deferred income tax assets, determination of useful lives of property, equipment and leaseholds and intangible assets,
recoverability of accounts receivable, recoverability of investments, discount rates for right of use assets and the costing and
recoverable value of inventory.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_84F_eus-gaap--FairValueOfFinancialInstrumentsPolicy_zCKbiw9W3gUe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(n)
&lt;i&gt;&lt;span id="xdx_861_z3FaxIoLpJvb"&gt;Fair Value of Financial Instruments&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Fair
value is defined as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal
or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date.
Valuation techniques used to measure fair value must maximize the use of observable inputs and minimize the use of unobservable inputs.
The standard describes a fair value hierarchy based on three levels of inputs described below, of which the first two are considered
observable and the last unobservable, that may be used to measure fair value.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#x25cf;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Level
    1 &#x2013; Quoted prices in active markets for identical assets or liabilities.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#x25cf;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Level
    2 &#x2013; Inputs other than Level 1 that are observable, either directly or indirectly, such as quoted prices for similar assets
    or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable
    market data for substantially the full term of the assets or liabilities.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#x25cf;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Level
    3 &#x2014; Unobservable inputs that are supported by little or no market activity which is significant to the fair value of the assets
    or liabilities.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
fair values of cash, term deposits, accounts receivable, accounts payable, accrued liabilities and the short term line of credit for
all periods presented approximate their respective carrying amounts due to the short term nature of these financial instruments.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
fair value of the long term debt and lease liabilities for all periods presented approximate their respective carrying amounts due to
these financial instruments being at market rates.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_84B_eus-gaap--CommitmentsAndContingenciesPolicyTextBlock_zO1q5Qas9Ohg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(o)
&lt;i&gt;&lt;span id="xdx_86B_z0o73eY1OQPa"&gt;Contingencies&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Certain
conditions may exist as of the date the consolidated financial statements are issued which may result in a loss to the Company but which
will only be resolved when one or more future events occur or fail to occur. The Company&#x2019;s management and its legal counsel assess
such contingent liabilities, and such assessment inherently involves an exercise of judgment. In assessing loss contingencies related
to legal proceedings that are pending against the Company or unasserted claims that may result in such proceedings, the Company&#x2019;s
legal counsel evaluates the perceived merits of any legal proceedings or unasserted claims as well as the perceived merits of the amount
of relief sought or expected to be sought therein.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;If
the assessment of a contingency indicates that it is probable that a material loss has been incurred and the amount of the liability
can be estimated, the estimated liability would be accrued in the Company&#x2019;s consolidated financial statements. If the assessment
indicates that a potential material loss contingency is not probable, but is reasonably possible, or is probable but cannot be estimated,
then the nature of the contingent liability, together with an estimate of the range of possible loss if determinable and material, would
be disclosed.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Loss
contingencies considered remote are generally not disclosed unless they involve guarantees, in which case the guarantees would be disclosed.
Legal fees associated with loss contingencies are expensed as incurred. The Company is not aware of any contingencies at the date of
these consolidated financial statements.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_848_eus-gaap--IncomeTaxPolicyTextBlock_zCfPWNbC3537" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(p)
&lt;i&gt;&lt;span id="xdx_868_zRKWgeTB6uqa"&gt;Income Taxes&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Income
taxes are computed by multiplying the Company&#x2019;s taxable net income by the Company&#x2019;s effective tax rates. Deferred income
tax assets and liabilities are recognized for the future tax consequences attributable to differences between the consolidated financial
statement carrying amounts of existing assets and liabilities and their respective tax bases, and operating loss carry-forwards, if any.
Deferred income tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which
those temporary differences are expected to be recovered or settled. The effect on deferred income tax assets and liabilities of a change
in tax rates is recognized in income in the period that includes the enactment date. A valuation allowance is provided to reduce the
carrying amount of deferred income tax assets if it is considered more likely than not that some portion, or all, of the deferred income
tax assets will not be realized.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
accordance with FASB Codification Topic 740, &lt;i&gt;Income taxes&lt;/i&gt; (ASC 740) under the liability method, it is the Company&#x2019;s policy
to provide for uncertain tax positions and the related interest and penalties based upon management&#x2019;s assessment of whether a tax
benefit is more likely than not to be sustained upon examination by tax authorities. At December 31, 2023, the Company believes it has
appropriately accounted for any unrecognized tax benefits. To the extent the Company prevails in matters for which a liability for an
unrecognized benefit is established or is required to pay amounts in excess of the liability, the Company&#x2019;s effective tax rate
in a given financial statement period may be affected. Interest and penalties associated with the Company&#x2019;s tax positions are recorded
as interest expense in the consolidated statements of income and comprehensive income.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_849_eus-gaap--ConcentrationRiskCreditRisk_zyN75VQ7gh4g" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(q)
&lt;i&gt;&lt;span id="xdx_867_zLc9Btx4n2I1"&gt;Risk Management&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s credit risk is primarily attributable to its accounts receivable. The amounts presented in the accompanying consolidated
balance sheets are net of allowances for doubtful accounts, estimated by the Company&#x2019;s management based on prior experience and
the current economic environment. The Company is exposed to credit-related losses in the event of non-payment by customers. Credit exposure
is minimized by dealing with only credit worthy counterparties.. Revenue for the Company&#x2019;s three primary customers totaled $&lt;span id="xdx_908_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zlK2hjD0gND1" title="Sales"&gt;20,482,798&lt;/span&gt;
(&lt;span id="xdx_903_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zaaB9xAxdoF8" title="Accounts receivable, after allowance for credit loss"&gt;53&lt;/span&gt;%) for the year ended December 31, 2023 (2022 - $&lt;span id="xdx_90C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zf9GtvZnSwgj" title="Sales"&gt;27,775,616&lt;/span&gt; or &lt;span id="xdx_903_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_z7vFR6y5thx3" title="Accounts receivable, after allowance for credit loss"&gt;61&lt;/span&gt;%). Accounts receivable for the Company&#x2019;s three primary customers
totaled $&lt;span id="xdx_903_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_z7xqzWiIU5j6" title="Sale"&gt;6,561,164&lt;/span&gt; (&lt;span id="xdx_90E_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zz5uZIR3fuG2" title="Accounts receivable, after allowance for credit loss, percentage"&gt;67&lt;/span&gt;%) at December 31, 2023 (2022 - $&lt;span id="xdx_902_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zOqkKntT3LYd" title="Sale"&gt;6,124,424&lt;/span&gt; or &lt;span id="xdx_90B_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_znlM6IW2Ryxa" title="Accounts receivable, after allowance for credit loss, percentage"&gt;65&lt;/span&gt;%).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
credit risk on cash is limited because the Company limits its exposure to credit loss by placing its cash with major financial institutions.
The Company maintains cash balances at financial institutions which at times exceed federally insured amounts. The Company has not experienced
any losses in such accounts.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company is exposed to foreign risk to the extent that market value rate fluctuations materially differ for financial assets and liabilities
denominated in foreign currencies.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
order to manage its exposure to foreign exchange risks, the Company is closely monitoring the fluctuations in the foreign currency exchange
rates and the impact on the value of cash, accounts receivable, and accounts payable and accrued liabilities. The Company has not hedged
its exposure to currency fluctuations.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company is exposed to interest rate risk to the extent that the fair value or future cash flows for financial liabilities will
fluctuate as a result of changes in market interest rates. The Company is exposed to interest rate risk on its long-term debt
subject to fixed long-term interest rates.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 24.5pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
order to manage its exposure to interest rate risk, the Company is closely monitoring fluctuations in market interest risks and will
refinance its long-term debt where possible to obtain more favourable rates.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_845_eus-gaap--EquityMethodInvestmentsPolicy_zF3GEOqdAXw2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(r)
&lt;i&gt;&lt;span id="xdx_868_zpkYaWkuSg2f"&gt;Equity Method Investment&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company accounts for investments using the equity method of accounting if the investment provides the Company the ability to exercise
significant influence, but not control, over the investee. &lt;span id="xdx_903_eus-gaap--EquityMethodInvestmentDescriptionOfPrincipalActivities_c20230101__20231231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--InvestmentMember_z8BhVWPbtCde" title="Equity method investment, description"&gt;Significant influence is generally deemed to exist if the Company&#x2019;s
ownership interest in the voting stock of the investee ranges between 20% and 50%, although other factors, such as representation on
the investee&#x2019;s board of directors, are considered in determining whether the equity method of accounting is appropriate.&lt;/span&gt; Under
the equity method of accounting, the investment is initially recorded at cost in the consolidated balance sheets under other assets and
adjusted for dividends received and the Company&#x2019;s share of the investee&#x2019;s earnings or losses together with other-than-temporary
impairments which are recorded through other income (loss), net in the consolidated statements of operations and comprehensive income
(loss).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 24.5pt; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_846_eus-gaap--GoodwillAndIntangibleAssetsPolicyTextBlock_zxVd74izAea8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(s)
&lt;i&gt;&lt;span id="xdx_864_zheBWOjblqZ5"&gt;Goodwill and Intangible Assets&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Goodwill
represents the excess of the purchase price of an acquired entity over the amounts assigned to the assets acquired and liabilities assumed.
Goodwill is not amortized, but is reviewed for impairment annually or more frequently if certain impairment conditions arise. The Company
performs an annual goodwill impairment review in the fourth quarter of each year at the reporting unit level. The evaluation begins with
a qualitative assessment of the factors that could impact the significant inputs used to estimate fair value. If after performing the
qualitative assessment, it is determined that it is more likely than not that the fair value of a reporting unit is greater than its
carrying amount, including goodwill, then no further analysis is necessary. However, if the results of the qualitative test are unclear,
the Company performs a quantitative test, which involves comparing the fair value of a reporting unit with its carrying amount, including
goodwill. The Company uses an income-based valuation method, determining the present value of future cash flows, to estimate the fair
value of a reporting unit. If the fair value of a reporting unit exceeds its carrying amount, goodwill of the reporting unit is considered
not impaired, and no further analysis is necessary. If the fair value of the reporting unit is less than its carrying amount, goodwill
impairment would be recognized equal to the amount of the carrying value in excess of the reporting unit&#x2019;s fair value, limited
to the total amount of goodwill allocated to the reporting unit.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Intangible
assets primarily include trademarks and trade secrets with indefinite lives and customer-relationships with finite lives. Intangible
assets with indefinite lives are not amortized but are tested for impairment on an annual basis, or more frequently if indicators of
impairment are present. Indefinite lived intangible assets are assessed using either a qualitative or a quantitative approach. The qualitative
assessment evaluates factors including macro-economic conditions, industry and company-specific factors, legal and regulatory environments,
and historical company performance in assessing fair value. If it is determined that it is more likely than not that the fair value of
the intangible asset is less than its carrying value, a quantitative test is then performed. Otherwise, no further testing is required.
When using a quantitative approach, the Company compares the fair value of the intangible asset to its carrying amount. If the estimated
fair value of the intangible asset is less than the carrying amount of the intangible asset, impairment is indicated, requiring recognition
of an impairment charge for the differential.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
accordance with FASB Codification Topic 350, &lt;i&gt;Intangibles &#x2013; Goodwill and Other, &lt;/i&gt;(ASC 350), qualitative assessments of goodwill
and indefinite-lived intangible assets were performed in 2023 and 2022. Based on the results of the assessment, it was determined that
it is more likely than not the reporting unit, customer lists and trademarks had a fair value in excess of their carrying amounts. Accordingly,
no further impairment testing was completed and no impairment charges related to goodwill or indefinite-lived intangibles were recognized
during the year ended December 31, 2023.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Finite-lived
intangible assets are amortized on a straight-line basis over their estimated useful lives. The Company reviews for impairment indicators
of finite-lived intangibles and other long-lived assets as described in the &#x201c;Impairment of Long Lived Assets&#x201d; significant
accounting policy.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_841_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zjgFaftywJb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(t)
&lt;i&gt;&lt;span id="xdx_86E_z74U7GcOXlAh"&gt;Recent Accounting Pronouncements&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 45.8pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company has implemented all applicable new accounting pronouncements that are in effect. Those pronouncements did not have any material
impact on the consolidated financial statements unless otherwise disclosed, and the Company does not believe that there are any other
new accounting pronouncements that have been issued that might have a material impact on its financial position or results of operations.&lt;/span&gt;&lt;/p&gt;
&lt;p id="xdx_8A7_zs0ibXpQSo6d" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000653">&lt;p id="xdx_84C_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_zycQmbBUVMu1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(a)
&lt;i&gt;&lt;span id="xdx_863_z9jFhvww0eJ4"&gt;Cash and Cash Equivalents&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company considers all highly liquid investments purchased with an original or remaining maturity of less than three months at the date
of purchase to be cash equivalents. Cash and cash equivalents are maintained with several financial institutions.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <FSI:TermDepositsPolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000655">&lt;p id="xdx_843_ecustom--TermDepositsPolicyTextBlock_zCsd82EkMtZ5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(b)
&lt;i&gt;&lt;span id="xdx_86E_zDHFhn46ydM2"&gt;Term Deposits&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company has four term deposits that are maintained by commercials banks. The first term deposit is for $&lt;span id="xdx_908_eus-gaap--Deposits_iI_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zSe2x1fDTjwh"&gt;680,000&lt;/span&gt; and matures in
January 2024. This deposit pays &lt;span id="xdx_907_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zsHT3saNhqS5"&gt;5.0&lt;/span&gt;% interest and if withdrawn before maturity, the greater of the loss of accrued interest or $&lt;span id="xdx_906_ecustom--MinimumInterestPenalty_iI_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zjHN09je00Rf" title="Minimum interest penalty"&gt;150&lt;/span&gt;,
plus 1% of the principal shall be levied. The second term deposit is for $&lt;span id="xdx_90D_eus-gaap--Deposits_iI_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--SecondTermMember_zw8dA1VVi3be"&gt;300,000 &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;and
matures in February 2024. Paying &lt;span id="xdx_90F_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--SecondTermMember_zOZjbxGylA84"&gt;1.3&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;%
interest, it can be withdrawn by the Company at any point without prior notice or penalty. The third term deposit is for $&lt;span id="xdx_908_eus-gaap--Deposits_iI_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zAMditO0RDwk"&gt;710,241&lt;/span&gt;, &lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;matures
in May 2024 and pays interest at a rate of &lt;span id="xdx_909_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zIh8a47XxHFh"&gt;3.00&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;%.
If withdrawn before maturity, the greater of the loss of accrued interest or $&lt;span id="xdx_90C_ecustom--MinimumInterestPenalty_iI_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zhqDedZewXek" title="Minimum interest penalty"&gt;150&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;,
plus 1% of the principal shall be levied. The fourth term deposit is for $&lt;span id="xdx_908_eus-gaap--Deposits_iI_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_zW7vltd8pIjd"&gt;1,000,000 &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;and
matures in May 2024. This deposit pays &lt;span id="xdx_900_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_z7AKLJuh7FTd"&gt;3.85&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;%
and if withdrawn before maturity, the greater of the loss of accrued interest or $&lt;span id="xdx_909_ecustom--MinimumInterestPenalty_iI_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_zY96Usv2Fnk6" title="Minimum interest penalty"&gt;150&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;,
plus 1% of the principal shall be levied.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</FSI:TermDepositsPolicyTextBlock>
    <us-gaap:Deposits
      contextRef="AsOf2023-12-31_custom_FirstTermMember"
      decimals="0"
      id="Fact000656"
      unitRef="USD">680000</us-gaap:Deposits>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2023-12-31_custom_FirstTermMember"
      decimals="INF"
      id="Fact000657"
      unitRef="Pure">0.050</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <FSI:MinimumInterestPenalty
      contextRef="AsOf2023-12-31_custom_FirstTermMember"
      decimals="0"
      id="Fact000659"
      unitRef="USD">150</FSI:MinimumInterestPenalty>
    <us-gaap:Deposits
      contextRef="AsOf2023-12-31_custom_SecondTermMember"
      decimals="0"
      id="Fact000660"
      unitRef="USD">300000</us-gaap:Deposits>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2023-12-31_custom_SecondTermMember"
      decimals="INF"
      id="Fact000661"
      unitRef="Pure">0.013</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:Deposits
      contextRef="AsOf2023-12-31_custom_ThirdTermMember"
      decimals="0"
      id="Fact000662"
      unitRef="USD">710241</us-gaap:Deposits>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2023-12-31_custom_ThirdTermMember"
      decimals="INF"
      id="Fact000663"
      unitRef="Pure">0.0300</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <FSI:MinimumInterestPenalty
      contextRef="AsOf2023-12-31_custom_ThirdTermMember"
      decimals="0"
      id="Fact000665"
      unitRef="USD">150</FSI:MinimumInterestPenalty>
    <us-gaap:Deposits
      contextRef="AsOf2023-12-31_custom_FourthTermMember"
      decimals="0"
      id="Fact000666"
      unitRef="USD">1000000</us-gaap:Deposits>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2023-12-31_custom_FourthTermMember"
      decimals="INF"
      id="Fact000667"
      unitRef="Pure">0.0385</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <FSI:MinimumInterestPenalty
      contextRef="AsOf2023-12-31_custom_FourthTermMember"
      decimals="0"
      id="Fact000669"
      unitRef="USD">150</FSI:MinimumInterestPenalty>
    <us-gaap:InventoryPolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000671">&lt;p id="xdx_848_eus-gaap--InventoryPolicyTextBlock_zCLrxwHbBMq4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(c)
&lt;i&gt;&lt;span id="xdx_86C_z9DHC5M2MiOg"&gt;Inventories and Cost of Sales&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company has three major classes of inventory: completed goods, work in progress and raw materials and supplies. In all classes inventories
are stated at the lower of cost and net realizable value. Cost is determined on a first-in, first-out basis or weighted average cost
formula to inventories in different subsidiaries. Cost of sales includes all expenditures incurred in bringing the goods to the point
of sale. Inventory costs and costs of sales include direct costs of the raw material, inbound freight charges, warehousing costs, handling
costs (receiving and purchasing) and utilities and overhead expenses related to the Company&#x2019;s manufacturing and processing facilities.
Shipping and handling charges billed to customers are included in revenue (2023 - $&lt;span id="xdx_90A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_znAL8oN2E4nc" title="Sales"&gt;522,033&lt;/span&gt;; 2022 - $&lt;span id="xdx_90A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zPmy4qxQCylf" title="Sales"&gt;433,015&lt;/span&gt;). Shipping and handling costs
incurred are included in cost of goods sold (2023 - $&lt;span id="xdx_908_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_z7hmwQD7RIKf" title="Cost of sales"&gt;944,811&lt;/span&gt;; 2022 - $&lt;span id="xdx_903_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_z0eW0G8k0M7f" title="Cost of sales"&gt;913,890&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:InventoryPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_us-gaap_ShippingAndHandlingMember"
      decimals="0"
      id="Fact000673"
      unitRef="USD">522033</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_us-gaap_ShippingAndHandlingMember"
      decimals="0"
      id="Fact000675"
      unitRef="USD">433015</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2023-01-012023-12-31_us-gaap_ShippingAndHandlingMember"
      decimals="0"
      id="Fact000677"
      unitRef="USD">944811</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2022-01-012022-12-31_us-gaap_ShippingAndHandlingMember"
      decimals="0"
      id="Fact000679"
      unitRef="USD">913890</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy contextRef="From2023-01-01to2023-12-31" id="Fact000681">&lt;p id="xdx_849_eus-gaap--PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy_zqCjsIIwzSF7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(d)
&lt;i&gt;&lt;span id="xdx_869_z8CdBlCoUtv6"&gt;Allowance for Doubtful Accounts&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company provides an allowance for doubtful accounts when management estimates collectability to be uncertain. Accounts receivable are
continually reviewed to determine which, if any, accounts are doubtful of collection. In making the determination of the appropriate
allowance amount, the Company considers current economic and industry conditions, relationships with each significant customer, overall
customer credit-worthiness and historical experience.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000683">&lt;p id="xdx_847_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_zlZM99BklGQ8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(e)
&lt;i&gt;&lt;span id="xdx_860_zecH1XuJr7Ge"&gt;Property, Equipment, Leaseholds and Intangible Assets&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_898_ecustom--ScheduleOfMethodOfDepreciationTableTextBlock_zVBeFgK8B2Z7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following assets are recorded at cost and depreciated using the methods and annual rates shown below:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BC_zO3YsMi3z765" style="display: none"&gt;SCHEDULE OF METHOD OF DEPRECIATION&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; width: 80%; border-collapse: collapse; margin-right: auto"&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 2%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Computer
    hardware&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90E_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zT4QBkeYUUek" title="Depreciation method used and annual rate"&gt;30%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Manufacturing
    equipment&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_908_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zPSeyFrBmyN2" title="Depreciation method used and annual rate"&gt;20%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Office
    equipment&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_znJ8hnljVGKk" title="Depreciation method used and annual rate"&gt;20%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Boat&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_909_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--BoatMember_zdvHZ2ZdFeU8" title="Depreciation method used and annual rate"&gt;20%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Building
    and improvements&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90D_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zuGTqJXw06dj" title="Depreciation method used and annual rate"&gt;10%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Trailer&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_907_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TrailerMember_z5c6SDFzPmLa" title="Depreciation method used and annual rate"&gt;30%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Automobiles&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_908_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zSE2lmNOLeIl" title="Depreciation method used and annual rate"&gt;Straight-line
    over 5 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Patents&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_903_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PatentsMember_zKDlSd0Upm52" title="Depreciation method used and annual rate"&gt;Straight-line
    over 17 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Technology&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--TechnologyEquipmentMember_zHfl3DWLmuy" title="Depreciation method used and annual rate"&gt;Straight-line
    over 10 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Leasehold
    improvements&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_909_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zHQnps9u9KM9" title="Depreciation method used and annual rate"&gt;Straight-line
    over lease term&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Customer
    relationships &lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90F_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--CustomerRelationshipsMember_zYGvPmg3ddp5" title="Depreciation method used and annual rate"&gt;Straight-line
    over 15 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Software
    &lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--SoftwareMember_zd7AbxOppGi" title="Depreciation method used and annual rate"&gt;Straight-line
    over 3 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
&lt;p id="xdx_8A4_zwM1WFHdVfRa" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <FSI:ScheduleOfMethodOfDepreciationTableTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000685">&lt;p id="xdx_898_ecustom--ScheduleOfMethodOfDepreciationTableTextBlock_zVBeFgK8B2Z7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following assets are recorded at cost and depreciated using the methods and annual rates shown below:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BC_zO3YsMi3z765" style="display: none"&gt;SCHEDULE OF METHOD OF DEPRECIATION&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; width: 80%; border-collapse: collapse; margin-right: auto"&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 2%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Computer
    hardware&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90E_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zT4QBkeYUUek" title="Depreciation method used and annual rate"&gt;30%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Manufacturing
    equipment&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_908_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zPSeyFrBmyN2" title="Depreciation method used and annual rate"&gt;20%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Office
    equipment&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_znJ8hnljVGKk" title="Depreciation method used and annual rate"&gt;20%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Boat&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_909_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--BoatMember_zdvHZ2ZdFeU8" title="Depreciation method used and annual rate"&gt;20%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Building
    and improvements&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90D_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zuGTqJXw06dj" title="Depreciation method used and annual rate"&gt;10%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Trailer&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_907_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TrailerMember_z5c6SDFzPmLa" title="Depreciation method used and annual rate"&gt;30%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Automobiles&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_908_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zSE2lmNOLeIl" title="Depreciation method used and annual rate"&gt;Straight-line
    over 5 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Patents&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_903_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PatentsMember_zKDlSd0Upm52" title="Depreciation method used and annual rate"&gt;Straight-line
    over 17 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Technology&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--TechnologyEquipmentMember_zHfl3DWLmuy" title="Depreciation method used and annual rate"&gt;Straight-line
    over 10 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Leasehold
    improvements&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_909_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zHQnps9u9KM9" title="Depreciation method used and annual rate"&gt;Straight-line
    over lease term&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Customer
    relationships &lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90F_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--CustomerRelationshipsMember_zYGvPmg3ddp5" title="Depreciation method used and annual rate"&gt;Straight-line
    over 15 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Software
    &lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--SoftwareMember_zd7AbxOppGi" title="Depreciation method used and annual rate"&gt;Straight-line
    over 3 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
</FSI:ScheduleOfMethodOfDepreciationTableTextBlock>
    <FSI:DepreciationMethodUsedAndAnnualRate
      contextRef="From2023-01-012023-12-31_us-gaap_ComputerEquipmentMember"
      id="Fact000687">30%
    Declining balance</FSI:DepreciationMethodUsedAndAnnualRate>
    <FSI:DepreciationMethodUsedAndAnnualRate
      contextRef="From2023-01-012023-12-31_us-gaap_MachineryAndEquipmentMember"
      id="Fact000689">20%
    Declining balance</FSI:DepreciationMethodUsedAndAnnualRate>
    <FSI:DepreciationMethodUsedAndAnnualRate
      contextRef="From2023-01-012023-12-31_us-gaap_OfficeEquipmentMember"
      id="Fact000691">20%
    Declining balance</FSI:DepreciationMethodUsedAndAnnualRate>
    <FSI:DepreciationMethodUsedAndAnnualRate
      contextRef="From2023-01-012023-12-31_custom_BoatMember"
      id="Fact000693">20%
    Declining balance</FSI:DepreciationMethodUsedAndAnnualRate>
    <FSI:DepreciationMethodUsedAndAnnualRate
      contextRef="From2023-01-012023-12-31_us-gaap_BuildingAndBuildingImprovementsMember"
      id="Fact000695">10%
    Declining balance</FSI:DepreciationMethodUsedAndAnnualRate>
    <FSI:DepreciationMethodUsedAndAnnualRate
      contextRef="From2023-01-012023-12-31_custom_TrailerMember"
      id="Fact000697">30%
    Declining balance</FSI:DepreciationMethodUsedAndAnnualRate>
    <FSI:DepreciationMethodUsedAndAnnualRate
      contextRef="From2023-01-012023-12-31_us-gaap_AutomobilesMember"
      id="Fact000699">Straight-line
    over 5 years</FSI:DepreciationMethodUsedAndAnnualRate>
    <FSI:DepreciationMethodUsedAndAnnualRate
      contextRef="From2023-01-012023-12-31_us-gaap_PatentsMember"
      id="Fact000701">Straight-line
    over 17 years</FSI:DepreciationMethodUsedAndAnnualRate>
    <FSI:DepreciationMethodUsedAndAnnualRate
      contextRef="From2023-01-012023-12-31_us-gaap_TechnologyEquipmentMember"
      id="Fact000703">Straight-line
    over 10 years</FSI:DepreciationMethodUsedAndAnnualRate>
    <FSI:DepreciationMethodUsedAndAnnualRate
      contextRef="From2023-01-012023-12-31_us-gaap_LeaseholdImprovementsMember"
      id="Fact000705">Straight-line
    over lease term</FSI:DepreciationMethodUsedAndAnnualRate>
    <FSI:DepreciationMethodUsedAndAnnualRate
      contextRef="From2023-01-012023-12-31_us-gaap_CustomerRelationshipsMember"
      id="Fact000707">Straight-line
    over 15 years</FSI:DepreciationMethodUsedAndAnnualRate>
    <FSI:DepreciationMethodUsedAndAnnualRate
      contextRef="From2023-01-012023-12-31_custom_SoftwareMember"
      id="Fact000709">Straight-line
    over 3 years</FSI:DepreciationMethodUsedAndAnnualRate>
    <us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000711">&lt;p id="xdx_847_eus-gaap--ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_zAFq2kLTAmqi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(f)
&lt;i&gt;&lt;span id="xdx_86F_zxFsW29OLV45"&gt;Impairment of Long-Lived Assets&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
accordance with FASB Codification Topic 360, &lt;i&gt;Property, Plant and Equipment&lt;/i&gt; (ASC 360), the Company reviews long-lived assets, including,
but not limited to, property, equipment and leaseholds, patents and other assets, for impairment annually or whenever events or changes
in circumstances indicate the carrying amounts of assets may not be recoverable. The carrying value of long-lived assets is assessed
for impairment by evaluating operating performance and future undiscounted cash flows of the underlying assets. If the expected future
cash flows of an asset is less than its carrying value, an impairment measurement is indicated. Impairment charges are recorded to the
extent that an asset&#x2019;s carrying value exceeds its fair value. Accordingly, actual results could vary significantly from such estimates.
There were no impairment charges during the periods presented.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock>
    <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000713">&lt;p id="xdx_844_eus-gaap--ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_zdi7ZFTuLfa7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(g)
&lt;i&gt;&lt;span id="xdx_869_zKWkhnFukui8"&gt;Foreign Currency&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
functional currency of the Company is the U.S. dollar. The functional currency of three of the Company&#x2019;s subsidiaries is the Canadian
dollar. The translation of the Canadian dollar to the reporting currency of the Company, the U.S. dollar, is performed for assets and
liabilities using exchange rates in effect at the balance sheet date. Revenue and expense transactions are translated using average exchange
rates prevailing during the year. Translation adjustments arising on conversion of the Company&#x2019;s financial statements from the
subsidiary&#x2019;s functional currency, Canadian dollars, into the reporting currency, U.S. dollars, are excluded from the determination
of income (loss) and are disclosed as other comprehensive income in the consolidated statements of income and comprehensive income.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Foreign
exchange gains and losses relating to transactions not denominated in the applicable local currency are included in operating income
(loss) if realized during the year and in comprehensive income (loss) if they remain unrealized at the end of the year.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000715">&lt;p id="xdx_846_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zC1Fmv7ppdVa" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(h)
&lt;i&gt;&lt;span id="xdx_865_zZalEwPd8mOa"&gt;Revenue Recognition&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company generates revenue primarily from energy and water conservation products and biodegradable polymers, as further discussed in Note
18.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company follows a five-step model for revenue recognition. The five steps are: (1) identification of the contract(s) with the customer,
(2) identification of the performance obligation(s) in the contract(s), (3) determination of the transaction price, (4) allocation of
the transaction price to the performance obligation, and (5) recognition of revenue when (or as) the performance obligation is satisfied.
The Company has fulfilled its performance obligations when control transfers to the customer, which is generally at the time the product
is shipped since risk of loss is transferred to the purchaser upon delivery to the carrier. For shipments which are free-on-board shipping
point, the Company has elected to account for shipping and handling activities as a fulfillment cost rather than as an additional promised
service and performance obligation.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Since
the Company&#x2019;s inception, product returns have been insignificant; therefore, no provision has been established for estimated product
returns.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Deferred
revenues consist of products sold to distributors with payment terms greater than the Company&#x2019;s customary business terms due to
lack of credit history or operating in a new market in which the Company has no prior experience. The Company defers the recognition
of revenue until the criteria for revenue recognition has been met and payments become due or cash is received from these distributors.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <FSI:StockIssuedInExchangeForServicesPolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000717">&lt;p id="xdx_846_ecustom--StockIssuedInExchangeForServicesPolicyTextBlock_zQ1sqqodYo3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(i)
&lt;i&gt;&lt;span id="xdx_866_ziyo4EIkGBdb"&gt;Stock Issued in Exchange for Services&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s common stock issued in exchange for services is valued at estimated fair market value based upon trading prices of the
Company&#x2019;s common stock on the dates of the stock transactions. The corresponding expense of the services rendered is recognized
over the period that the services are performed.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</FSI:StockIssuedInExchangeForServicesPolicyTextBlock>
    <us-gaap:CompensationRelatedCostsPolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000719">&lt;p id="xdx_84F_eus-gaap--CompensationRelatedCostsPolicyTextBlock_zm3fhx8wLSMj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(j)
&lt;i&gt;&lt;span id="xdx_867_zQihUHSxtFka"&gt;Stock-based Compensation&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company recognizes compensation expense for all share-based payments in accordance with FASB Codification Topic 718, &lt;i&gt;Compensation
&#x2014; Stock Compensation&lt;/i&gt; (ASC 718). Under the fair value recognition provisions of ASC 718, the Company recognizes share-based
compensation expense, net of an estimated forfeiture rate, over the requisite service period of the award.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
fair value at grant date of stock options is estimated using the Black-Scholes option-pricing model. Compensation expense is recognized
on a straight-line basis over the stock option vesting period based on the estimated number of stock options that are expected to vest.
Shares are issued from treasury upon exercise of stock options.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:CompensationRelatedCostsPolicyTextBlock>
    <us-gaap:ComprehensiveIncomePolicyPolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000721">&lt;p id="xdx_84E_eus-gaap--ComprehensiveIncomePolicyPolicyTextBlock_zhETH9DCsXRb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(k)
&lt;i&gt;&lt;span id="xdx_864_zZiKZIJERqIl"&gt;Other Comprehensive Income&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Other
comprehensive income refers to revenues, expenses, gains and losses that under generally accepted accounting principles are included
in comprehensive income, but are excluded from net income as these amounts are recorded directly as an adjustment to stockholders&#x2019;
equity. The Company&#x2019;s other comprehensive income is comprised only of unrealized foreign exchange gains and losses related to the
translation of subsidiaries&#x2019; functional currency into the reporting currency.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:ComprehensiveIncomePolicyPolicyTextBlock>
    <us-gaap:EarningsPerSharePolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000723">&lt;p id="xdx_84F_eus-gaap--EarningsPerSharePolicyTextBlock_z31pOn9hOJoc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(l)
&lt;i&gt;&lt;span id="xdx_861_zZcstvs2lSf2"&gt;Income Per Share&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Basic
earnings per share is computed by dividing income available to common stockholders by the weighted average number of common shares outstanding
in the period. Diluted earnings per share are calculated giving effect to the potential dilution of the exercise of options and warrants.
Common equivalent shares, composed of incremental common shares issuable upon the exercise of stock options and warrants are included
in diluted net income per share to the extent that these shares are dilutive. Common equivalent shares that have an anti-dilutive effect
on net income (loss) per share have been excluded from the calculation of diluted weighted average shares outstanding for the years ended
December 31, 2023 and 2022.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:UseOfEstimates contextRef="From2023-01-01to2023-12-31" id="Fact000725">&lt;p id="xdx_844_eus-gaap--UseOfEstimates_zPrJV4zzeON3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(m)
&lt;i&gt;&lt;span id="xdx_86D_zMAJ53TEfp74"&gt;Use of Estimates&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States requires
management to make estimates and assumptions that affect the reported amounts of 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 and would impact the results of operations and cash flows.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 35.45pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Estimates
and underlying assumptions are reviewed at each period end. Revisions to accounting estimates are recognized in the period in which the
estimates are revised and in any future periods affected.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Significant
areas requiring the use of management estimates include assumptions and estimates relating to the valuation of goodwill and
intangible assets, valuation of assets acquired at fair value, asset impairment analysis, share-based payments, valuation allowances
for deferred income tax assets, determination of useful lives of property, equipment and leaseholds and intangible assets,
recoverability of accounts receivable, recoverability of investments, discount rates for right of use assets and the costing and
recoverable value of inventory.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:UseOfEstimates>
    <us-gaap:FairValueOfFinancialInstrumentsPolicy contextRef="From2023-01-01to2023-12-31" id="Fact000727">&lt;p id="xdx_84F_eus-gaap--FairValueOfFinancialInstrumentsPolicy_zCKbiw9W3gUe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(n)
&lt;i&gt;&lt;span id="xdx_861_z3FaxIoLpJvb"&gt;Fair Value of Financial Instruments&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Fair
value is defined as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal
or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date.
Valuation techniques used to measure fair value must maximize the use of observable inputs and minimize the use of unobservable inputs.
The standard describes a fair value hierarchy based on three levels of inputs described below, of which the first two are considered
observable and the last unobservable, that may be used to measure fair value.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#x25cf;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Level
    1 &#x2013; Quoted prices in active markets for identical assets or liabilities.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#x25cf;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Level
    2 &#x2013; Inputs other than Level 1 that are observable, either directly or indirectly, such as quoted prices for similar assets
    or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable
    market data for substantially the full term of the assets or liabilities.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#x25cf;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Level
    3 &#x2014; Unobservable inputs that are supported by little or no market activity which is significant to the fair value of the assets
    or liabilities.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
fair values of cash, term deposits, accounts receivable, accounts payable, accrued liabilities and the short term line of credit for
all periods presented approximate their respective carrying amounts due to the short term nature of these financial instruments.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
fair value of the long term debt and lease liabilities for all periods presented approximate their respective carrying amounts due to
these financial instruments being at market rates.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:FairValueOfFinancialInstrumentsPolicy>
    <us-gaap:CommitmentsAndContingenciesPolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000729">&lt;p id="xdx_84B_eus-gaap--CommitmentsAndContingenciesPolicyTextBlock_zO1q5Qas9Ohg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(o)
&lt;i&gt;&lt;span id="xdx_86B_z0o73eY1OQPa"&gt;Contingencies&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Certain
conditions may exist as of the date the consolidated financial statements are issued which may result in a loss to the Company but which
will only be resolved when one or more future events occur or fail to occur. The Company&#x2019;s management and its legal counsel assess
such contingent liabilities, and such assessment inherently involves an exercise of judgment. In assessing loss contingencies related
to legal proceedings that are pending against the Company or unasserted claims that may result in such proceedings, the Company&#x2019;s
legal counsel evaluates the perceived merits of any legal proceedings or unasserted claims as well as the perceived merits of the amount
of relief sought or expected to be sought therein.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;If
the assessment of a contingency indicates that it is probable that a material loss has been incurred and the amount of the liability
can be estimated, the estimated liability would be accrued in the Company&#x2019;s consolidated financial statements. If the assessment
indicates that a potential material loss contingency is not probable, but is reasonably possible, or is probable but cannot be estimated,
then the nature of the contingent liability, together with an estimate of the range of possible loss if determinable and material, would
be disclosed.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Loss
contingencies considered remote are generally not disclosed unless they involve guarantees, in which case the guarantees would be disclosed.
Legal fees associated with loss contingencies are expensed as incurred. The Company is not aware of any contingencies at the date of
these consolidated financial statements.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:CommitmentsAndContingenciesPolicyTextBlock>
    <us-gaap:IncomeTaxPolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000731">&lt;p id="xdx_848_eus-gaap--IncomeTaxPolicyTextBlock_zCfPWNbC3537" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(p)
&lt;i&gt;&lt;span id="xdx_868_zRKWgeTB6uqa"&gt;Income Taxes&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Income
taxes are computed by multiplying the Company&#x2019;s taxable net income by the Company&#x2019;s effective tax rates. Deferred income
tax assets and liabilities are recognized for the future tax consequences attributable to differences between the consolidated financial
statement carrying amounts of existing assets and liabilities and their respective tax bases, and operating loss carry-forwards, if any.
Deferred income tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which
those temporary differences are expected to be recovered or settled. The effect on deferred income tax assets and liabilities of a change
in tax rates is recognized in income in the period that includes the enactment date. A valuation allowance is provided to reduce the
carrying amount of deferred income tax assets if it is considered more likely than not that some portion, or all, of the deferred income
tax assets will not be realized.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
accordance with FASB Codification Topic 740, &lt;i&gt;Income taxes&lt;/i&gt; (ASC 740) under the liability method, it is the Company&#x2019;s policy
to provide for uncertain tax positions and the related interest and penalties based upon management&#x2019;s assessment of whether a tax
benefit is more likely than not to be sustained upon examination by tax authorities. At December 31, 2023, the Company believes it has
appropriately accounted for any unrecognized tax benefits. To the extent the Company prevails in matters for which a liability for an
unrecognized benefit is established or is required to pay amounts in excess of the liability, the Company&#x2019;s effective tax rate
in a given financial statement period may be affected. Interest and penalties associated with the Company&#x2019;s tax positions are recorded
as interest expense in the consolidated statements of income and comprehensive income.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:ConcentrationRiskCreditRisk contextRef="From2023-01-01to2023-12-31" id="Fact000733">&lt;p id="xdx_849_eus-gaap--ConcentrationRiskCreditRisk_zyN75VQ7gh4g" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(q)
&lt;i&gt;&lt;span id="xdx_867_zLc9Btx4n2I1"&gt;Risk Management&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s credit risk is primarily attributable to its accounts receivable. The amounts presented in the accompanying consolidated
balance sheets are net of allowances for doubtful accounts, estimated by the Company&#x2019;s management based on prior experience and
the current economic environment. The Company is exposed to credit-related losses in the event of non-payment by customers. Credit exposure
is minimized by dealing with only credit worthy counterparties.. Revenue for the Company&#x2019;s three primary customers totaled $&lt;span id="xdx_908_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zlK2hjD0gND1" title="Sales"&gt;20,482,798&lt;/span&gt;
(&lt;span id="xdx_903_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zaaB9xAxdoF8" title="Accounts receivable, after allowance for credit loss"&gt;53&lt;/span&gt;%) for the year ended December 31, 2023 (2022 - $&lt;span id="xdx_90C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zf9GtvZnSwgj" title="Sales"&gt;27,775,616&lt;/span&gt; or &lt;span id="xdx_903_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_z7vFR6y5thx3" title="Accounts receivable, after allowance for credit loss"&gt;61&lt;/span&gt;%). Accounts receivable for the Company&#x2019;s three primary customers
totaled $&lt;span id="xdx_903_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_z7xqzWiIU5j6" title="Sale"&gt;6,561,164&lt;/span&gt; (&lt;span id="xdx_90E_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zz5uZIR3fuG2" title="Accounts receivable, after allowance for credit loss, percentage"&gt;67&lt;/span&gt;%) at December 31, 2023 (2022 - $&lt;span id="xdx_902_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zOqkKntT3LYd" title="Sale"&gt;6,124,424&lt;/span&gt; or &lt;span id="xdx_90B_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_znlM6IW2Ryxa" title="Accounts receivable, after allowance for credit loss, percentage"&gt;65&lt;/span&gt;%).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
credit risk on cash is limited because the Company limits its exposure to credit loss by placing its cash with major financial institutions.
The Company maintains cash balances at financial institutions which at times exceed federally insured amounts. The Company has not experienced
any losses in such accounts.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company is exposed to foreign risk to the extent that market value rate fluctuations materially differ for financial assets and liabilities
denominated in foreign currencies.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
order to manage its exposure to foreign exchange risks, the Company is closely monitoring the fluctuations in the foreign currency exchange
rates and the impact on the value of cash, accounts receivable, and accounts payable and accrued liabilities. The Company has not hedged
its exposure to currency fluctuations.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company is exposed to interest rate risk to the extent that the fair value or future cash flows for financial liabilities will
fluctuate as a result of changes in market interest rates. The Company is exposed to interest rate risk on its long-term debt
subject to fixed long-term interest rates.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 24.5pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
order to manage its exposure to interest rate risk, the Company is closely monitoring fluctuations in market interest risks and will
refinance its long-term debt where possible to obtain more favourable rates.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:ConcentrationRiskCreditRisk>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember"
      decimals="0"
      id="Fact000735"
      unitRef="USD">20482798</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <FSI:ConcentrationRiskThresholdPercentage
      contextRef="From2023-01-012023-12-31_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember"
      decimals="INF"
      id="Fact000737"
      unitRef="Pure">0.53</FSI:ConcentrationRiskThresholdPercentage>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember"
      decimals="0"
      id="Fact000739"
      unitRef="USD">27775616</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <FSI:ConcentrationRiskThresholdPercentage
      contextRef="From2022-01-012022-12-31_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember"
      decimals="INF"
      id="Fact000741"
      unitRef="Pure">0.61</FSI:ConcentrationRiskThresholdPercentage>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember"
      decimals="0"
      id="Fact000743"
      unitRef="USD">6561164</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <FSI:ConcentrationRiskThresholdPercentage
      contextRef="From2023-01-012023-12-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember"
      decimals="INF"
      id="Fact000745"
      unitRef="Pure">0.67</FSI:ConcentrationRiskThresholdPercentage>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember"
      decimals="0"
      id="Fact000747"
      unitRef="USD">6124424</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <FSI:ConcentrationRiskThresholdPercentage
      contextRef="From2022-01-012022-12-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember"
      decimals="INF"
      id="Fact000749"
      unitRef="Pure">0.65</FSI:ConcentrationRiskThresholdPercentage>
    <us-gaap:EquityMethodInvestmentsPolicy contextRef="From2023-01-01to2023-12-31" id="Fact000751">&lt;p id="xdx_845_eus-gaap--EquityMethodInvestmentsPolicy_zF3GEOqdAXw2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(r)
&lt;i&gt;&lt;span id="xdx_868_zpkYaWkuSg2f"&gt;Equity Method Investment&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company accounts for investments using the equity method of accounting if the investment provides the Company the ability to exercise
significant influence, but not control, over the investee. &lt;span id="xdx_903_eus-gaap--EquityMethodInvestmentDescriptionOfPrincipalActivities_c20230101__20231231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--InvestmentMember_z8BhVWPbtCde" title="Equity method investment, description"&gt;Significant influence is generally deemed to exist if the Company&#x2019;s
ownership interest in the voting stock of the investee ranges between 20% and 50%, although other factors, such as representation on
the investee&#x2019;s board of directors, are considered in determining whether the equity method of accounting is appropriate.&lt;/span&gt; Under
the equity method of accounting, the investment is initially recorded at cost in the consolidated balance sheets under other assets and
adjusted for dividends received and the Company&#x2019;s share of the investee&#x2019;s earnings or losses together with other-than-temporary
impairments which are recorded through other income (loss), net in the consolidated statements of operations and comprehensive income
(loss).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 24.5pt; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:EquityMethodInvestmentsPolicy>
    <us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities
      contextRef="From2023-01-012023-12-31_custom_InvestmentMember"
      id="Fact000753">Significant influence is generally deemed to exist if the Company&#x2019;s
ownership interest in the voting stock of the investee ranges between 20% and 50%, although other factors, such as representation on
the investee&#x2019;s board of directors, are considered in determining whether the equity method of accounting is appropriate.</us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities>
    <us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000755">&lt;p id="xdx_846_eus-gaap--GoodwillAndIntangibleAssetsPolicyTextBlock_zxVd74izAea8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(s)
&lt;i&gt;&lt;span id="xdx_864_zheBWOjblqZ5"&gt;Goodwill and Intangible Assets&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Goodwill
represents the excess of the purchase price of an acquired entity over the amounts assigned to the assets acquired and liabilities assumed.
Goodwill is not amortized, but is reviewed for impairment annually or more frequently if certain impairment conditions arise. The Company
performs an annual goodwill impairment review in the fourth quarter of each year at the reporting unit level. The evaluation begins with
a qualitative assessment of the factors that could impact the significant inputs used to estimate fair value. If after performing the
qualitative assessment, it is determined that it is more likely than not that the fair value of a reporting unit is greater than its
carrying amount, including goodwill, then no further analysis is necessary. However, if the results of the qualitative test are unclear,
the Company performs a quantitative test, which involves comparing the fair value of a reporting unit with its carrying amount, including
goodwill. The Company uses an income-based valuation method, determining the present value of future cash flows, to estimate the fair
value of a reporting unit. If the fair value of a reporting unit exceeds its carrying amount, goodwill of the reporting unit is considered
not impaired, and no further analysis is necessary. If the fair value of the reporting unit is less than its carrying amount, goodwill
impairment would be recognized equal to the amount of the carrying value in excess of the reporting unit&#x2019;s fair value, limited
to the total amount of goodwill allocated to the reporting unit.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Intangible
assets primarily include trademarks and trade secrets with indefinite lives and customer-relationships with finite lives. Intangible
assets with indefinite lives are not amortized but are tested for impairment on an annual basis, or more frequently if indicators of
impairment are present. Indefinite lived intangible assets are assessed using either a qualitative or a quantitative approach. The qualitative
assessment evaluates factors including macro-economic conditions, industry and company-specific factors, legal and regulatory environments,
and historical company performance in assessing fair value. If it is determined that it is more likely than not that the fair value of
the intangible asset is less than its carrying value, a quantitative test is then performed. Otherwise, no further testing is required.
When using a quantitative approach, the Company compares the fair value of the intangible asset to its carrying amount. If the estimated
fair value of the intangible asset is less than the carrying amount of the intangible asset, impairment is indicated, requiring recognition
of an impairment charge for the differential.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
accordance with FASB Codification Topic 350, &lt;i&gt;Intangibles &#x2013; Goodwill and Other, &lt;/i&gt;(ASC 350), qualitative assessments of goodwill
and indefinite-lived intangible assets were performed in 2023 and 2022. Based on the results of the assessment, it was determined that
it is more likely than not the reporting unit, customer lists and trademarks had a fair value in excess of their carrying amounts. Accordingly,
no further impairment testing was completed and no impairment charges related to goodwill or indefinite-lived intangibles were recognized
during the year ended December 31, 2023.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Finite-lived
intangible assets are amortized on a straight-line basis over their estimated useful lives. The Company reviews for impairment indicators
of finite-lived intangibles and other long-lived assets as described in the &#x201c;Impairment of Long Lived Assets&#x201d; significant
accounting policy.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000757">&lt;p id="xdx_841_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zjgFaftywJb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(t)
&lt;i&gt;&lt;span id="xdx_86E_z74U7GcOXlAh"&gt;Recent Accounting Pronouncements&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 45.8pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company has implemented all applicable new accounting pronouncements that are in effect. Those pronouncements did not have any material
impact on the consolidated financial statements unless otherwise disclosed, and the Company does not believe that there are any other
new accounting pronouncements that have been issued that might have a material impact on its financial position or results of operations.&lt;/span&gt;&lt;/p&gt;
&lt;p id="xdx_8A7_zs0ibXpQSo6d" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:LesseeOperatingLeasesTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000759">&lt;p id="xdx_80C_eus-gaap--LesseeOperatingLeasesTextBlock_z3jJ5sv6cFng" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;3.
&lt;span id="xdx_824_zQD4Op3JIysd"&gt;LEASES&lt;/span&gt; &lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Leases are evaluated and classified as either operating or finance leases by the lessee
and as either operating, sales-type or direct financing leases by the lessor. For leases with terms greater than 12 months, the Company
records the related right-of-use (&#x201c;ROU&#x201d;) asset and lease obligation at the present value of lease payments over the term.
Leases may include fixed rental escalation clauses, renewal options and / or termination options that are factored into the determination
of lease payments when appropriate. The Company&#x2019;s operating leases are included in ROU assets, lease liabilities-current portion
and lease liability-long term portion in the accompanying consolidated balance sheets. ROU assets represent the Company&#x2019;s right
to use an underlying asset for the lease term, and lease liabilities represent the obligation to make lease payments arising from the
lease. The Company&#x2019;s leases do not usually provide a readily determinable implicit rate; therefore, an estimate of the Company&#x2019;s
incremental borrowing rate is used to discount the lease payments based on information available at the lease commencement date. The
discount rate used was &lt;span id="xdx_90B_eus-gaap--LesseeOperatingLeaseDiscountRate_iI_pid_dp_uPure_c20231231_ztfORmhnUiL3" title="Operating leases discount rate"&gt;5.5&lt;/span&gt;%.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_894_ecustom--SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock_zlDgH1niMHmk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
table below summarizes the right-of-use asset and lease liability for the years ended December 31, 2023 and 2022:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B5_z1e7VYU7fgl7" style="display: none"&gt;SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 80%"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&lt;span style="text-decoration: underline"&gt;Right of Use Assets&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 80%"&gt;Balance at December 31, 2021&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--OperatingLeaseRightOfUseAsset_iS_pp0p0_c20220101__20221231_zNsx1BRW0I57" style="width: 16%; text-align: right" title="Right of use assets, beginning balance"&gt;217,267&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Depreciation&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_pp0p0_di_c20220101__20221231_z7WLA8WA7E7l" style="border-bottom: Black 1.5pt solid; text-align: right" title="Depreciation"&gt;(50,045&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balance at December 31, 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--OperatingLeaseRightOfUseAsset_iS_pp0p0_c20230101__20231231_zHelnaFwUW93" style="text-align: right" title="Right of use assets, beginning balance"&gt;167,222&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Depreciation&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_pp0p0_di_c20230101__20231231_zQa8fE2Ku7sd" style="border-bottom: Black 1.5pt solid; text-align: right" title="Depreciation"&gt;(51,929&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Balance at December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--OperatingLeaseRightOfUseAsset_iE_pp0p0_c20230101__20231231_zzt6WcVX8F76" style="border-bottom: Black 1.5pt solid; text-align: right" title="Right of use assets, ending balance"&gt;115,293&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&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 style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-decoration: underline; font-weight: bold; text-align: left"&gt;Lease Liability&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Balance at December 31, 2021&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--OperatingLeaseLiability_iS_pp0p0_c20220101__20221231_zYSwCQcucFLb" style="text-align: right" title="Lease liability, beginning balance"&gt;217,267&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Lease interest expense&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_ecustom--LeaseInterestExpense_pp0p0_c20220101__20221231_zLy6RJyl8xB4" style="text-align: right" title="Lease interest expense"&gt;8,566&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Payments&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--OperatingLeasePayments_iN_pp0p0_di_c20220101__20221231_zVqMTVjOuqnd" style="border-bottom: Black 1.5pt solid; text-align: right" title="Payments"&gt;(58,611&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balance at December 31, 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--OperatingLeaseLiability_iS_pp0p0_c20230101__20231231_zu0sQpN316U" style="text-align: right" title="Lease liability, beginning balance"&gt;167,222&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Lease interest expense&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_ecustom--LeaseInterestExpense_pp0p0_c20230101__20231231_z93S0vJ2v7Zj" style="text-align: right" title="Lease interest expense"&gt;6,151&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Payments&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--OperatingLeasePayments_iN_pp0p0_di_c20230101__20231231_zv7Dm90bR8V3" style="border-bottom: Black 1.5pt solid; text-align: right" title="Payments"&gt;(58,080&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Balance at December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--OperatingLeaseLiability_iE_pp0p0_c20230101__20231231_zHPlPGsShB65" style="border-bottom: Black 1.5pt solid; text-align: right" title="Lease liability, ending balance"&gt;115,293&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Short-term portion&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--OperatingLeaseLiabilityCurrent_iI_pp0p0_c20231231_zRQtKNsaMov6" style="text-align: right" title="Short-term portion"&gt;59,520&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Long-term portion&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--OperatingLeaseLiabilityNoncurrent_iI_pp0p0_c20231231_zdme93HyaJ84" style="border-bottom: Black 1.5pt solid; text-align: right" title="Long-term portion"&gt;55,773&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--OperatingLeaseLiability_iI_pp0p0_c20231231_z8sC2hOboJ07" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total"&gt;115,293&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AE_zMqIpQ2YXPe5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_892_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_z2oVxzquEZBj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Undiscounted
rent payments are as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B9_zv1hO7Ulz2bb" style="display: none"&gt;SCHEDULE OF UNDISCOUNTED RENT PAYMENTS&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 75%; margin-right: auto"&gt;
  &lt;tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_498_20231231_zLio0l23jKGi" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_pp0p0_maLOLLPz6zC_zAcfWEiDP473" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: justify"&gt;2024&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;59,520&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_pp0p0_maLOLLPz6zC_zPlrlgVdc0u8" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1.5pt"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;61,020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPz6zC_zlvazT3P1Loc" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Total&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;120,540&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_pp0p0_di_zwOAAYUX3pUl" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1.5pt"&gt;Impact of discounting&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(5,247&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--OperatingLeaseLiability_iI_zqhSKh8a5YC5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1.5pt"&gt;Lease liability, December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;115,293&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A6_zV1YMRHuwpWj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LesseeOperatingLeaseDiscountRate
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000761"
      unitRef="Pure">0.055</us-gaap:LesseeOperatingLeaseDiscountRate>
    <FSI:SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000763">&lt;p id="xdx_894_ecustom--SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock_zlDgH1niMHmk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
table below summarizes the right-of-use asset and lease liability for the years ended December 31, 2023 and 2022:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B5_z1e7VYU7fgl7" style="display: none"&gt;SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 80%"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&lt;span style="text-decoration: underline"&gt;Right of Use Assets&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 80%"&gt;Balance at December 31, 2021&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--OperatingLeaseRightOfUseAsset_iS_pp0p0_c20220101__20221231_zNsx1BRW0I57" style="width: 16%; text-align: right" title="Right of use assets, beginning balance"&gt;217,267&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Depreciation&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_pp0p0_di_c20220101__20221231_z7WLA8WA7E7l" style="border-bottom: Black 1.5pt solid; text-align: right" title="Depreciation"&gt;(50,045&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balance at December 31, 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--OperatingLeaseRightOfUseAsset_iS_pp0p0_c20230101__20231231_zHelnaFwUW93" style="text-align: right" title="Right of use assets, beginning balance"&gt;167,222&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Depreciation&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_pp0p0_di_c20230101__20231231_zQa8fE2Ku7sd" style="border-bottom: Black 1.5pt solid; text-align: right" title="Depreciation"&gt;(51,929&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Balance at December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--OperatingLeaseRightOfUseAsset_iE_pp0p0_c20230101__20231231_zzt6WcVX8F76" style="border-bottom: Black 1.5pt solid; text-align: right" title="Right of use assets, ending balance"&gt;115,293&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&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 style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-decoration: underline; font-weight: bold; text-align: left"&gt;Lease Liability&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Balance at December 31, 2021&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--OperatingLeaseLiability_iS_pp0p0_c20220101__20221231_zYSwCQcucFLb" style="text-align: right" title="Lease liability, beginning balance"&gt;217,267&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Lease interest expense&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_ecustom--LeaseInterestExpense_pp0p0_c20220101__20221231_zLy6RJyl8xB4" style="text-align: right" title="Lease interest expense"&gt;8,566&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Payments&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--OperatingLeasePayments_iN_pp0p0_di_c20220101__20221231_zVqMTVjOuqnd" style="border-bottom: Black 1.5pt solid; text-align: right" title="Payments"&gt;(58,611&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balance at December 31, 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--OperatingLeaseLiability_iS_pp0p0_c20230101__20231231_zu0sQpN316U" style="text-align: right" title="Lease liability, beginning balance"&gt;167,222&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Lease interest expense&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_ecustom--LeaseInterestExpense_pp0p0_c20230101__20231231_z93S0vJ2v7Zj" style="text-align: right" title="Lease interest expense"&gt;6,151&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Payments&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--OperatingLeasePayments_iN_pp0p0_di_c20230101__20231231_zv7Dm90bR8V3" style="border-bottom: Black 1.5pt solid; text-align: right" title="Payments"&gt;(58,080&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Balance at December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--OperatingLeaseLiability_iE_pp0p0_c20230101__20231231_zHPlPGsShB65" style="border-bottom: Black 1.5pt solid; text-align: right" title="Lease liability, ending balance"&gt;115,293&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Short-term portion&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--OperatingLeaseLiabilityCurrent_iI_pp0p0_c20231231_zRQtKNsaMov6" style="text-align: right" title="Short-term portion"&gt;59,520&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Long-term portion&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--OperatingLeaseLiabilityNoncurrent_iI_pp0p0_c20231231_zdme93HyaJ84" style="border-bottom: Black 1.5pt solid; text-align: right" title="Long-term portion"&gt;55,773&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--OperatingLeaseLiability_iI_pp0p0_c20231231_z8sC2hOboJ07" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total"&gt;115,293&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</FSI:SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2021-12-31"
      decimals="0"
      id="Fact000765"
      unitRef="USD">217267</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000767"
      unitRef="USD">50045</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000769"
      unitRef="USD">167222</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000771"
      unitRef="USD">51929</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000773"
      unitRef="USD">115293</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiability
      contextRef="AsOf2021-12-31"
      decimals="0"
      id="Fact000775"
      unitRef="USD">217267</us-gaap:OperatingLeaseLiability>
    <FSI:LeaseInterestExpense
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000777"
      unitRef="USD">8566</FSI:LeaseInterestExpense>
    <us-gaap:OperatingLeasePayments
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000779"
      unitRef="USD">58611</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeaseLiability
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000781"
      unitRef="USD">167222</us-gaap:OperatingLeaseLiability>
    <FSI:LeaseInterestExpense
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000783"
      unitRef="USD">6151</FSI:LeaseInterestExpense>
    <us-gaap:OperatingLeasePayments
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000785"
      unitRef="USD">58080</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeaseLiability
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000787"
      unitRef="USD">115293</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000789"
      unitRef="USD">59520</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000791"
      unitRef="USD">55773</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000793"
      unitRef="USD">115293</us-gaap:OperatingLeaseLiability>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000795">&lt;p id="xdx_892_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_z2oVxzquEZBj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Undiscounted
rent payments are as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B9_zv1hO7Ulz2bb" style="display: none"&gt;SCHEDULE OF UNDISCOUNTED RENT PAYMENTS&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 75%; margin-right: auto"&gt;
  &lt;tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_498_20231231_zLio0l23jKGi" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_pp0p0_maLOLLPz6zC_zAcfWEiDP473" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: justify"&gt;2024&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;59,520&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_pp0p0_maLOLLPz6zC_zPlrlgVdc0u8" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1.5pt"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;61,020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPz6zC_zlvazT3P1Loc" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Total&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;120,540&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_pp0p0_di_zwOAAYUX3pUl" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1.5pt"&gt;Impact of discounting&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(5,247&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--OperatingLeaseLiability_iI_zqhSKh8a5YC5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1.5pt"&gt;Lease liability, December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;115,293&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000797"
      unitRef="USD">59520</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000799"
      unitRef="USD">61020</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000801"
      unitRef="USD">120540</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000803"
      unitRef="USD">5247</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000805"
      unitRef="USD">115293</us-gaap:OperatingLeaseLiability>
    <us-gaap:FinancingReceivablesTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000807">&lt;p id="xdx_808_eus-gaap--FinancingReceivablesTextBlock_ztfeTis1iC95" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;4.
&lt;span id="xdx_820_zYdfMNN55X82"&gt;ACCOUNTS RECEIVABLE&lt;/span&gt; &lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_893_eus-gaap--AccountsReceivableAllowanceForCreditLossTableTextBlock_zeAoTYhZWHs6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BA_zE5q8ZcBERn7" style="display: none"&gt;SCHEDULE OF ACCOUNTS RECEIVABLE&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20231231_zm8DqbHSwNtf" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20221231_z2OKoYFK4vS7" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&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 colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--AccountsReceivableGross_iI_pp0p0_maAANRNzPjC_ze81jG1vekNi" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Accounts receivable&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;10,133,249&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;9,739,150&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables_iNI_pp0p0_di_msAANRNzPjC_zWuEiPqbMp07" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Allowances for doubtful accounts&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(290,193&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(289,293&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--AccountsAndNotesReceivableNet_iTI_pp0p0_mtAANRNzPjC_z2J93cSIDGqe" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total accounts receivable&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;9,843,056&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;9,449,857&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A7_zTFBGeE6BI3g" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:FinancingReceivablesTextBlock>
    <us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000809">&lt;p id="xdx_893_eus-gaap--AccountsReceivableAllowanceForCreditLossTableTextBlock_zeAoTYhZWHs6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BA_zE5q8ZcBERn7" style="display: none"&gt;SCHEDULE OF ACCOUNTS RECEIVABLE&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20231231_zm8DqbHSwNtf" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20221231_z2OKoYFK4vS7" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&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 colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--AccountsReceivableGross_iI_pp0p0_maAANRNzPjC_ze81jG1vekNi" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Accounts receivable&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;10,133,249&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;9,739,150&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables_iNI_pp0p0_di_msAANRNzPjC_zWuEiPqbMp07" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Allowances for doubtful accounts&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(290,193&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(289,293&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--AccountsAndNotesReceivableNet_iTI_pp0p0_mtAANRNzPjC_z2J93cSIDGqe" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total accounts receivable&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;9,843,056&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;9,449,857&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock>
    <us-gaap:AccountsReceivableGross
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000811"
      unitRef="USD">10133249</us-gaap:AccountsReceivableGross>
    <us-gaap:AccountsReceivableGross
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000812"
      unitRef="USD">9739150</us-gaap:AccountsReceivableGross>
    <us-gaap:AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000814"
      unitRef="USD">290193</us-gaap:AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables>
    <us-gaap:AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000815"
      unitRef="USD">289293</us-gaap:AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables>
    <us-gaap:AccountsAndNotesReceivableNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000817"
      unitRef="USD">9843056</us-gaap:AccountsAndNotesReceivableNet>
    <us-gaap:AccountsAndNotesReceivableNet
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000818"
      unitRef="USD">9449857</us-gaap:AccountsAndNotesReceivableNet>
    <us-gaap:InventoryDisclosureTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000820">&lt;p id="xdx_80A_eus-gaap--InventoryDisclosureTextBlock_zKk8IaFQLoNb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;5.
&lt;span id="xdx_824_zJfcTqboohe2"&gt;INVENTORIES&lt;/span&gt; &lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_897_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_z9syRiM4Zja5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BF_zfBGRXop59Yg" style="display: none"&gt;SCHEDULE OF INVENTORY&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_491_20231231_zziPqIdoKx5c" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49A_20221231_z7zDmvqnbiQ4" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--InventoryFinishedGoods_iI_pp0p0_maINzDiN_maINzkLt_z7H9Pt2S84xj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Completed goods&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;2,682,158&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;3,806,646&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--InventoryRawMaterialsAndSupplies_iI_pp0p0_maINzDiN_maINzkLt_z7xQSxrI1nS7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Raw materials and supplies&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;8,452,731&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;10,612,784&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--InventoryNet_iTI_pp0p0_mtINzkLt_zhbuBTa1ahV6" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total inventory&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;11,134,889&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;14,419,430&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A5_zte0HeXCx9vi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000822">&lt;p id="xdx_897_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_z9syRiM4Zja5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BF_zfBGRXop59Yg" style="display: none"&gt;SCHEDULE OF INVENTORY&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_491_20231231_zziPqIdoKx5c" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49A_20221231_z7zDmvqnbiQ4" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--InventoryFinishedGoods_iI_pp0p0_maINzDiN_maINzkLt_z7H9Pt2S84xj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Completed goods&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;2,682,158&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;3,806,646&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--InventoryRawMaterialsAndSupplies_iI_pp0p0_maINzDiN_maINzkLt_z7xQSxrI1nS7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Raw materials and supplies&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;8,452,731&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;10,612,784&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--InventoryNet_iTI_pp0p0_mtINzkLt_zhbuBTa1ahV6" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total inventory&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;11,134,889&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;14,419,430&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryFinishedGoods
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000824"
      unitRef="USD">2682158</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryFinishedGoods
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000825"
      unitRef="USD">3806646</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryRawMaterialsAndSupplies
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000827"
      unitRef="USD">8452731</us-gaap:InventoryRawMaterialsAndSupplies>
    <us-gaap:InventoryRawMaterialsAndSupplies
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000828"
      unitRef="USD">10612784</us-gaap:InventoryRawMaterialsAndSupplies>
    <us-gaap:InventoryNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000830"
      unitRef="USD">11134889</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000831"
      unitRef="USD">14419430</us-gaap:InventoryNet>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000833">&lt;p id="xdx_807_eus-gaap--PropertyPlantAndEquipmentDisclosureTextBlock_zOKTWRL5bCZk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;6.
&lt;span id="xdx_823_zrvniyHDjiY9"&gt;PROPERTY, EQUIPMENT AND LEASEHOLDS&lt;/span&gt; &lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_892_eus-gaap--PropertyPlantAndEquipmentTextBlock_z9hfDjJ2Smgi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B2_zMp9yJ2oGn3a" style="display: none"&gt;SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_484_eus-gaap--PropertyPlantAndEquipmentGross_iI_zJzU5HXXAFA2" style="text-align: center"&gt;2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_zAEMZ1XPhTWc" style="text-align: center"&gt;Accumulated&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zKd45XXpbAPj" style="text-align: center"&gt;2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Cost&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Depreciation&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Net&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_418_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zW9JorMp6n4f" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%; text-align: left"&gt;Buildings and improvements&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;12,341,605&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;3,896,887&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;8,444,718&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41A_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zokN7X2dvUW1" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Automobiles&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;196,255&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;140,040&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;56,215&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41D_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zGl4vhunxxv7" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Computer hardware&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;43,493&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;43,123&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;370&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zUOhTK1XZmi1" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Office equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;134,130&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;121,925&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;12,205&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_410_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zApVGlQWcTJc" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Manufacturing equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;10,008,395&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;5,791,615&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;4,216,780&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41A_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TrailerMember_zVq6firyuwJ1" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Trailers&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;9,071&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;8,164&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;907&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zh6X0yeHvRl8" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Land&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;440,592&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0855"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;440,592&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41D_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zBnZ4mM9nZSe" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Leasehold improvements&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;88,872&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;88,872&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0859"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_zl6ntHHjz9R2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Technology&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;103,292&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;103,292&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0862"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20231231_ziuf5yY1TtO4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cost"&gt;23,365,705&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20231231_zyKfrsQoATFb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Accumulated Depreciation"&gt;10,193,918&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20231231_zVTCIt4B15Q8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Property, plant and equipment, net, total"&gt;13,171,787&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_48C_eus-gaap--PropertyPlantAndEquipmentGross_iI_zv6fW8nK1csb" style="text-align: center"&gt;2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_zItwjS92R3J1" style="text-align: center"&gt;Accumulated&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zs2glnczE7Ba" style="text-align: center"&gt;2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Cost&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Depreciation&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Net&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41A_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_znWKl18C3q65" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%; text-align: left"&gt;Buildings and improvements&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;8,775,629&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;3,310,920&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;5,464,709&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_414_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zD7O8jqZso03" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Automobiles&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;196,255&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;107,055&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;89,200&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_419_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zKDbEiJLwtI1" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Computer hardware&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;43,432&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;42,663&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;769&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41D_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_z1HjNyl9Pgke" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Office equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;133,280&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;112,782&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;20,498&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_410_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zLo1jvYOVoy2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Manufacturing equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;8,634,063&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;4,891,736&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,742,327&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_419_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TrailerMember_zv4d8beYz2J7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Trailers&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;8,857&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;7,592&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,265&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41F_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--BoatMember_z3hozINCuUe2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Boat&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;34,400&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;27,907&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;6,493&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_418_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_ze2KjGHdZkkc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Leasehold improvements&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;88,872&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;88,872&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0892"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_410_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_z39rOWKujXp" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Technology&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;100,860&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;100,860&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0895"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_415_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zRXZzvODK82g" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Land&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;384,027&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0897"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;384,027&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20221231_zx6MLdIip9m" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cost"&gt;18,399,675&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20221231_zAQpNE9NbSRi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Accumulated Depreciation"&gt;8,690,387&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20221231_zyKr8nRQnx83" style="border-bottom: Black 1.5pt solid; text-align: right" title="Property, plant and equipment, net, total"&gt;9,709,288&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A0_zL6DtbkKZ4tl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Amount
of depreciation expense for 2023 was: $&lt;span id="xdx_901_eus-gaap--Depreciation_c20230101__20231231_zr8C7eWEwryi" title="Depreciation"&gt;1,526,319&lt;/span&gt; (2022 - $&lt;span id="xdx_900_eus-gaap--Depreciation_c20220101__20221231_zB2v1qHtfTc1" title="Depreciation"&gt;1,103,732&lt;/span&gt;) and is included in cost of sales in the consolidated statements
of income and comprehensive income.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;In 2023, the Company sold
the boat and $&lt;span id="xdx_907_eus-gaap--GainLossOnDispositionOfAssets1_c20230101__20231231_zcjnKvvsIFbl" title="Sale of assets"&gt;4,589&lt;/span&gt;
was recognized as a gain on sales of asset in the consolidated statements of income and comprehensive income.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000835">&lt;p id="xdx_892_eus-gaap--PropertyPlantAndEquipmentTextBlock_z9hfDjJ2Smgi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B2_zMp9yJ2oGn3a" style="display: none"&gt;SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_484_eus-gaap--PropertyPlantAndEquipmentGross_iI_zJzU5HXXAFA2" style="text-align: center"&gt;2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_zAEMZ1XPhTWc" style="text-align: center"&gt;Accumulated&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zKd45XXpbAPj" style="text-align: center"&gt;2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Cost&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Depreciation&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Net&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_418_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zW9JorMp6n4f" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%; text-align: left"&gt;Buildings and improvements&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;12,341,605&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;3,896,887&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;8,444,718&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41A_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zokN7X2dvUW1" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Automobiles&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;196,255&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;140,040&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;56,215&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41D_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zGl4vhunxxv7" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Computer hardware&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;43,493&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;43,123&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;370&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zUOhTK1XZmi1" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Office equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;134,130&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;121,925&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;12,205&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_410_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zApVGlQWcTJc" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Manufacturing equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;10,008,395&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;5,791,615&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;4,216,780&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41A_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TrailerMember_zVq6firyuwJ1" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Trailers&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;9,071&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;8,164&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;907&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zh6X0yeHvRl8" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Land&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;440,592&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0855"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;440,592&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41D_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zBnZ4mM9nZSe" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Leasehold improvements&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;88,872&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;88,872&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0859"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_zl6ntHHjz9R2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Technology&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;103,292&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;103,292&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0862"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20231231_ziuf5yY1TtO4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cost"&gt;23,365,705&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20231231_zyKfrsQoATFb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Accumulated Depreciation"&gt;10,193,918&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20231231_zVTCIt4B15Q8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Property, plant and equipment, net, total"&gt;13,171,787&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_48C_eus-gaap--PropertyPlantAndEquipmentGross_iI_zv6fW8nK1csb" style="text-align: center"&gt;2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_zItwjS92R3J1" style="text-align: center"&gt;Accumulated&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zs2glnczE7Ba" style="text-align: center"&gt;2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Cost&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Depreciation&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Net&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41A_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_znWKl18C3q65" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%; text-align: left"&gt;Buildings and improvements&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;8,775,629&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;3,310,920&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;5,464,709&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_414_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zD7O8jqZso03" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Automobiles&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;196,255&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;107,055&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;89,200&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_419_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zKDbEiJLwtI1" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Computer hardware&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;43,432&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;42,663&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;769&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41D_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_z1HjNyl9Pgke" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Office equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;133,280&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;112,782&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;20,498&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_410_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zLo1jvYOVoy2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Manufacturing equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;8,634,063&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;4,891,736&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,742,327&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_419_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TrailerMember_zv4d8beYz2J7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Trailers&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;8,857&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;7,592&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,265&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41F_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--BoatMember_z3hozINCuUe2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Boat&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;34,400&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;27,907&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;6,493&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_418_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_ze2KjGHdZkkc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Leasehold improvements&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;88,872&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;88,872&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0892"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_410_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_z39rOWKujXp" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Technology&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;100,860&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;100,860&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0895"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_415_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zRXZzvODK82g" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Land&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;384,027&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0897"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;384,027&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20221231_zx6MLdIip9m" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cost"&gt;18,399,675&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20221231_zAQpNE9NbSRi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Accumulated Depreciation"&gt;8,690,387&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20221231_zyKr8nRQnx83" style="border-bottom: Black 1.5pt solid; text-align: right" title="Property, plant and equipment, net, total"&gt;9,709,288&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-12-31_us-gaap_BuildingAndBuildingImprovementsMember"
      decimals="0"
      id="Fact000836"
      unitRef="USD">12341605</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-12-31_us-gaap_BuildingAndBuildingImprovementsMember"
      decimals="0"
      id="Fact000837"
      unitRef="USD">3896887</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31_us-gaap_BuildingAndBuildingImprovementsMember"
      decimals="0"
      id="Fact000838"
      unitRef="USD">8444718</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-12-31_us-gaap_AutomobilesMember"
      decimals="0"
      id="Fact000839"
      unitRef="USD">196255</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-12-31_us-gaap_AutomobilesMember"
      decimals="0"
      id="Fact000840"
      unitRef="USD">140040</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31_us-gaap_AutomobilesMember"
      decimals="0"
      id="Fact000841"
      unitRef="USD">56215</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-12-31_us-gaap_ComputerEquipmentMember"
      decimals="0"
      id="Fact000842"
      unitRef="USD">43493</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-12-31_us-gaap_ComputerEquipmentMember"
      decimals="0"
      id="Fact000843"
      unitRef="USD">43123</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31_us-gaap_ComputerEquipmentMember"
      decimals="0"
      id="Fact000844"
      unitRef="USD">370</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-12-31_us-gaap_OfficeEquipmentMember"
      decimals="0"
      id="Fact000845"
      unitRef="USD">134130</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-12-31_us-gaap_OfficeEquipmentMember"
      decimals="0"
      id="Fact000846"
      unitRef="USD">121925</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31_us-gaap_OfficeEquipmentMember"
      decimals="0"
      id="Fact000847"
      unitRef="USD">12205</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-12-31_us-gaap_MachineryAndEquipmentMember"
      decimals="0"
      id="Fact000848"
      unitRef="USD">10008395</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-12-31_us-gaap_MachineryAndEquipmentMember"
      decimals="0"
      id="Fact000849"
      unitRef="USD">5791615</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31_us-gaap_MachineryAndEquipmentMember"
      decimals="0"
      id="Fact000850"
      unitRef="USD">4216780</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-12-31_custom_TrailerMember"
      decimals="0"
      id="Fact000851"
      unitRef="USD">9071</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-12-31_custom_TrailerMember"
      decimals="0"
      id="Fact000852"
      unitRef="USD">8164</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31_custom_TrailerMember"
      decimals="0"
      id="Fact000853"
      unitRef="USD">907</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-12-31_us-gaap_LandMember"
      decimals="0"
      id="Fact000854"
      unitRef="USD">440592</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31_us-gaap_LandMember"
      decimals="0"
      id="Fact000856"
      unitRef="USD">440592</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-12-31_us-gaap_LeaseholdImprovementsMember"
      decimals="0"
      id="Fact000857"
      unitRef="USD">88872</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-12-31_us-gaap_LeaseholdImprovementsMember"
      decimals="0"
      id="Fact000858"
      unitRef="USD">88872</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-12-31_us-gaap_DevelopedTechnologyRightsMember"
      decimals="0"
      id="Fact000860"
      unitRef="USD">103292</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-12-31_us-gaap_DevelopedTechnologyRightsMember"
      decimals="0"
      id="Fact000861"
      unitRef="USD">103292</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000864"
      unitRef="USD">23365705</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000866"
      unitRef="USD">10193918</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000868"
      unitRef="USD">13171787</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2022-12-31_us-gaap_BuildingAndBuildingImprovementsMember"
      decimals="0"
      id="Fact000869"
      unitRef="USD">8775629</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2022-12-31_us-gaap_BuildingAndBuildingImprovementsMember"
      decimals="0"
      id="Fact000870"
      unitRef="USD">3310920</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2022-12-31_us-gaap_BuildingAndBuildingImprovementsMember"
      decimals="0"
      id="Fact000871"
      unitRef="USD">5464709</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2022-12-31_us-gaap_AutomobilesMember"
      decimals="0"
      id="Fact000872"
      unitRef="USD">196255</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2022-12-31_us-gaap_AutomobilesMember"
      decimals="0"
      id="Fact000873"
      unitRef="USD">107055</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2022-12-31_us-gaap_AutomobilesMember"
      decimals="0"
      id="Fact000874"
      unitRef="USD">89200</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2022-12-31_us-gaap_ComputerEquipmentMember"
      decimals="0"
      id="Fact000875"
      unitRef="USD">43432</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2022-12-31_us-gaap_ComputerEquipmentMember"
      decimals="0"
      id="Fact000876"
      unitRef="USD">42663</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2022-12-31_us-gaap_ComputerEquipmentMember"
      decimals="0"
      id="Fact000877"
      unitRef="USD">769</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2022-12-31_us-gaap_OfficeEquipmentMember"
      decimals="0"
      id="Fact000878"
      unitRef="USD">133280</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2022-12-31_us-gaap_OfficeEquipmentMember"
      decimals="0"
      id="Fact000879"
      unitRef="USD">112782</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2022-12-31_us-gaap_OfficeEquipmentMember"
      decimals="0"
      id="Fact000880"
      unitRef="USD">20498</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2022-12-31_us-gaap_MachineryAndEquipmentMember"
      decimals="0"
      id="Fact000881"
      unitRef="USD">8634063</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2022-12-31_us-gaap_MachineryAndEquipmentMember"
      decimals="0"
      id="Fact000882"
      unitRef="USD">4891736</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2022-12-31_us-gaap_MachineryAndEquipmentMember"
      decimals="0"
      id="Fact000883"
      unitRef="USD">3742327</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2022-12-31_custom_TrailerMember"
      decimals="0"
      id="Fact000884"
      unitRef="USD">8857</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2022-12-31_custom_TrailerMember"
      decimals="0"
      id="Fact000885"
      unitRef="USD">7592</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2022-12-31_custom_TrailerMember"
      decimals="0"
      id="Fact000886"
      unitRef="USD">1265</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2022-12-31_custom_BoatMember"
      decimals="0"
      id="Fact000887"
      unitRef="USD">34400</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2022-12-31_custom_BoatMember"
      decimals="0"
      id="Fact000888"
      unitRef="USD">27907</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2022-12-31_custom_BoatMember"
      decimals="0"
      id="Fact000889"
      unitRef="USD">6493</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2022-12-31_us-gaap_LeaseholdImprovementsMember"
      decimals="0"
      id="Fact000890"
      unitRef="USD">88872</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2022-12-31_us-gaap_LeaseholdImprovementsMember"
      decimals="0"
      id="Fact000891"
      unitRef="USD">88872</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2022-12-31_us-gaap_DevelopedTechnologyRightsMember"
      decimals="0"
      id="Fact000893"
      unitRef="USD">100860</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2022-12-31_us-gaap_DevelopedTechnologyRightsMember"
      decimals="0"
      id="Fact000894"
      unitRef="USD">100860</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2022-12-31_us-gaap_LandMember"
      decimals="0"
      id="Fact000896"
      unitRef="USD">384027</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2022-12-31_us-gaap_LandMember"
      decimals="0"
      id="Fact000898"
      unitRef="USD">384027</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000900"
      unitRef="USD">18399675</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000902"
      unitRef="USD">8690387</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000904"
      unitRef="USD">9709288</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Depreciation
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000906"
      unitRef="USD">1526319</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000908"
      unitRef="USD">1103732</us-gaap:Depreciation>
    <us-gaap:GainLossOnDispositionOfAssets1
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000910"
      unitRef="USD">4589</us-gaap:GainLossOnDispositionOfAssets1>
    <us-gaap:IntangibleAssetsDisclosureTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000912">&lt;p id="xdx_80D_eus-gaap--IntangibleAssetsDisclosureTextBlock_z03fN40P529a" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;7.
&lt;span id="xdx_82B_zm1NUvxe6TC7"&gt;PATENTS&lt;/span&gt; &lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_895_eus-gaap--ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_z97yVHfaMxH6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B5_zlmIy0GERJT7" style="display: none"&gt;SCHEDULE OF PATENTS&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;2023&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Cost&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Accumulated &lt;br/&gt; Amortization&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;2023&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%; padding-bottom: 1.5pt"&gt;Patents&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--FiniteLivedPatentsGross_iI_pp0p0_c20231231_z3Hsxnrmdzcb" style="border-bottom: Black 1.5pt solid; width: 14%; text-align: right" title="Patents, cost"&gt;200,444&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20231231_z73dTGamhpLl" style="border-bottom: Black 1.5pt solid; width: 14%; text-align: right" title="Patents, Accumulated amortization"&gt;200,444&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; font-variant: small-caps; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; font-variant: small-caps; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pp0p0_c20231231_zp3Y3mOZcjQi" style="border-bottom: Black 1.5pt solid; width: 14%; font-variant: small-caps; text-align: right" title="Patents, net"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0920"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; font-variant: small-caps; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;2022&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Cost&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Accumulated &lt;br/&gt; Amortization&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;2022&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%; padding-bottom: 1.5pt"&gt;Patents&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--FiniteLivedPatentsGross_iI_pp0p0_c20221231_zdStCAgF5ZWk" style="border-bottom: Black 1.5pt solid; width: 14%; text-align: right" title="Patents, cost"&gt;195,725&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20221231_zUvjX4mHvnd" style="border-bottom: Black 1.5pt solid; width: 14%; text-align: right" title="Patents, Accumulated amortization"&gt;195,725&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; font-variant: small-caps; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; font-variant: small-caps; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pp0p0_c20221231_zEck1WeAQxc4" style="border-bottom: Black 1.5pt solid; width: 14%; font-variant: small-caps; text-align: right" title="Patents, net"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0926"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; font-variant: small-caps; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AB_z7z5WNYZmxT4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
amount of amortization for 2023 was $&lt;span id="xdx_90E_eus-gaap--AmortizationOfIntangibleAssets_dxL_c20230101__20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--PatentsMember_zQwjLgosY4S5" title="Amount of amortization::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0928"&gt;nil&lt;/span&gt;&lt;/span&gt; (2022 - $&lt;span id="xdx_90B_eus-gaap--AmortizationOfIntangibleAssets_pp0p0_c20220101__20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--PatentsMember_zzj0P0EqMI04" title="Amount of amortization"&gt;13,699&lt;/span&gt;) and was included in cost of sales in the consolidated statements of income
and comprehensive income. The movement in cost relates solely to foreign exchange differences.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:IntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000914">&lt;p id="xdx_895_eus-gaap--ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_z97yVHfaMxH6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B5_zlmIy0GERJT7" style="display: none"&gt;SCHEDULE OF PATENTS&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;2023&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Cost&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Accumulated &lt;br/&gt; Amortization&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;2023&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%; padding-bottom: 1.5pt"&gt;Patents&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--FiniteLivedPatentsGross_iI_pp0p0_c20231231_z3Hsxnrmdzcb" style="border-bottom: Black 1.5pt solid; width: 14%; text-align: right" title="Patents, cost"&gt;200,444&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20231231_z73dTGamhpLl" style="border-bottom: Black 1.5pt solid; width: 14%; text-align: right" title="Patents, Accumulated amortization"&gt;200,444&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; font-variant: small-caps; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; font-variant: small-caps; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pp0p0_c20231231_zp3Y3mOZcjQi" style="border-bottom: Black 1.5pt solid; width: 14%; font-variant: small-caps; text-align: right" title="Patents, net"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0920"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; font-variant: small-caps; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;2022&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Cost&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Accumulated &lt;br/&gt; Amortization&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;2022&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%; padding-bottom: 1.5pt"&gt;Patents&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--FiniteLivedPatentsGross_iI_pp0p0_c20221231_zdStCAgF5ZWk" style="border-bottom: Black 1.5pt solid; width: 14%; text-align: right" title="Patents, cost"&gt;195,725&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20221231_zUvjX4mHvnd" style="border-bottom: Black 1.5pt solid; width: 14%; text-align: right" title="Patents, Accumulated amortization"&gt;195,725&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; font-variant: small-caps; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; font-variant: small-caps; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pp0p0_c20221231_zEck1WeAQxc4" style="border-bottom: Black 1.5pt solid; width: 14%; font-variant: small-caps; text-align: right" title="Patents, net"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0926"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; font-variant: small-caps; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedPatentsGross
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000916"
      unitRef="USD">200444</us-gaap:FiniteLivedPatentsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000918"
      unitRef="USD">200444</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedPatentsGross
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000922"
      unitRef="USD">195725</us-gaap:FiniteLivedPatentsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000924"
      unitRef="USD">195725</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="From2022-01-012022-12-31_us-gaap_PatentsMember"
      decimals="0"
      id="Fact000930"
      unitRef="USD">13699</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000932">&lt;p id="xdx_80E_eus-gaap--GoodwillAndIntangibleAssetsDisclosureTextBlock_zIitowghTzT5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;8.
&lt;span style="font-variant: small-caps"&gt;&lt;span id="xdx_82F_zECJhVWlqX1i"&gt;GOODWILL AND INTANGIBLE ASSETS&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_890_eus-gaap--ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock_zBJBlXNhDt67" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B0_zaInGLLHi3pe" style="display: none"&gt;SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Goodwill&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 80%; padding-bottom: 1.5pt"&gt;Balance as of December 31, 2022 and 2023&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; width: 16%; text-align: right"&gt;&lt;span id="xdx_90B_eus-gaap--Goodwill_iI_c20221231_zHLp47ZW8RJ7" title="Goodwill"&gt;&lt;span id="xdx_90F_eus-gaap--Goodwill_iI_c20231231_zDT39hCgiSd4" title="Goodwill"&gt;2,534,275&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; text-align: left"&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 style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Indefinite Lived Intangible Assets&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Balance as of December 31, 2022 and 2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span id="xdx_90E_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20221231_zbfl1nJF5Ysl" title="Indefinite lived intangible assets"&gt;&lt;span id="xdx_90D_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20231231_z9QiWu1rTzAj" title="Indefinite lived intangible assets"&gt;770,000&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Goodwill
relates to the acquisition of ENP Investments. Indefinite lived intangible assets consist of trade secrets and trademarks related to
the acquisition of ENP Investments.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Definite Life Intangible Assets&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 80%"&gt;Balance as of December 31, 2021&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iS_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_z1PjpiKMEQ95" style="width: 16%; text-align: right" title="Indefinite lived intangible assets, beginning balance"&gt;1,830,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Amortization&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--AmortizationOfIntangibleAssets_iN_pp0p0_di_c20220101__20221231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zffcM9BxdVil" style="border-bottom: Black 1.5pt solid; text-align: right" title="Amortization"&gt;(160,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balance as of December 31, 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iS_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zbemGuW7ZXi7" style="text-align: right" title="Indefinite lived intangible assets, beginning balance"&gt;1,670,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Amortization&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--AmortizationOfIntangibleAssets_iN_pp0p0_di_c20230101__20231231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zc0Y0olCcFY2" style="border-bottom: Black 1.5pt solid; text-align: right" title="Amortization"&gt;(160,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Balances as of December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iE_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zGn1Ec8E8Hqd" style="border-bottom: Black 1.5pt solid; text-align: right" title="Indefinite lived intangible assets, ending balance"&gt;1,510,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AB_zXVNB2rQQas1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
amount of amortization for 2023 was $&lt;span id="xdx_901_eus-gaap--AmortizationOfIntangibleAssets_pp0p0_c20230101__20231231_zWUc9sWlk0dj" title="Amortization"&gt;160,000&lt;/span&gt; (2022 - $&lt;span id="xdx_909_eus-gaap--AmortizationOfIntangibleAssets_pp0p0_c20220101__20221231_zT30e4uG8oB8" title="Amortization"&gt;160,000&lt;/span&gt;) and was included in cost of sales in the consolidated statements of income
and comprehensive income.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Definite
lived intangible assets consist of customer relationships and software related to the acquisition of ENP Investments.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_891_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_zRuk9xFAUxZe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Estimated
amortization expense over the next five years is as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B3_zy5T7bkoZ7vb" style="display: none"&gt;SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: justify"&gt;2024&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_c20231231__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zdujQEwvyUej" style="width: 16%; text-align: right" title="2024"&gt;160,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;2025&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_c20231231__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zGdec5kEhNqh" style="text-align: right" title="2025"&gt;160,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;2026&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_pp0p0_c20231231__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_z9HzMCmCqSah" style="text-align: right" title="2026"&gt;160,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;2027&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_iI_pp0p0_c20231231__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zEEGR8DvvxH2" style="text-align: right" title="2027"&gt;160,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1.5pt"&gt;2028&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_iI_pp0p0_c20231231__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zrmAVu8INPji" style="border-bottom: Black 1.5pt solid; text-align: right" title="2028"&gt;160,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A2_zwQ6oKsTQ7C8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000934">&lt;p id="xdx_890_eus-gaap--ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock_zBJBlXNhDt67" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B0_zaInGLLHi3pe" style="display: none"&gt;SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Goodwill&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 80%; padding-bottom: 1.5pt"&gt;Balance as of December 31, 2022 and 2023&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; width: 16%; text-align: right"&gt;&lt;span id="xdx_90B_eus-gaap--Goodwill_iI_c20221231_zHLp47ZW8RJ7" title="Goodwill"&gt;&lt;span id="xdx_90F_eus-gaap--Goodwill_iI_c20231231_zDT39hCgiSd4" title="Goodwill"&gt;2,534,275&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; text-align: left"&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 style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Indefinite Lived Intangible Assets&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Balance as of December 31, 2022 and 2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span id="xdx_90E_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20221231_zbfl1nJF5Ysl" title="Indefinite lived intangible assets"&gt;&lt;span id="xdx_90D_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20231231_z9QiWu1rTzAj" title="Indefinite lived intangible assets"&gt;770,000&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Goodwill
relates to the acquisition of ENP Investments. Indefinite lived intangible assets consist of trade secrets and trademarks related to
the acquisition of ENP Investments.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Definite Life Intangible Assets&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 80%"&gt;Balance as of December 31, 2021&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iS_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_z1PjpiKMEQ95" style="width: 16%; text-align: right" title="Indefinite lived intangible assets, beginning balance"&gt;1,830,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Amortization&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--AmortizationOfIntangibleAssets_iN_pp0p0_di_c20220101__20221231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zffcM9BxdVil" style="border-bottom: Black 1.5pt solid; text-align: right" title="Amortization"&gt;(160,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balance as of December 31, 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iS_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zbemGuW7ZXi7" style="text-align: right" title="Indefinite lived intangible assets, beginning balance"&gt;1,670,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Amortization&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--AmortizationOfIntangibleAssets_iN_pp0p0_di_c20230101__20231231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zc0Y0olCcFY2" style="border-bottom: Black 1.5pt solid; text-align: right" title="Amortization"&gt;(160,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Balances as of December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iE_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zGn1Ec8E8Hqd" style="border-bottom: Black 1.5pt solid; text-align: right" title="Indefinite lived intangible assets, ending balance"&gt;1,510,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock>
    <us-gaap:Goodwill
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000936"
      unitRef="USD">2534275</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000938"
      unitRef="USD">2534275</us-gaap:Goodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000940"
      unitRef="USD">770000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000942"
      unitRef="USD">770000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="AsOf2021-12-31_custom_EnPInvestmentsCorporationLLCMember"
      decimals="0"
      id="Fact000944"
      unitRef="USD">1830000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="From2022-01-012022-12-31_custom_EnPInvestmentsCorporationLLCMember"
      decimals="0"
      id="Fact000946"
      unitRef="USD">160000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="AsOf2022-12-31_custom_EnPInvestmentsCorporationLLCMember"
      decimals="0"
      id="Fact000948"
      unitRef="USD">1670000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="From2023-01-012023-12-31_custom_EnPInvestmentsCorporationLLCMember"
      decimals="0"
      id="Fact000950"
      unitRef="USD">160000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="AsOf2023-12-31_custom_EnPInvestmentsCorporationLLCMember"
      decimals="0"
      id="Fact000952"
      unitRef="USD">1510000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000954"
      unitRef="USD">160000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000956"
      unitRef="USD">160000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000958">&lt;p id="xdx_891_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_zRuk9xFAUxZe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Estimated
amortization expense over the next five years is as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B3_zy5T7bkoZ7vb" style="display: none"&gt;SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: justify"&gt;2024&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_c20231231__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zdujQEwvyUej" style="width: 16%; text-align: right" title="2024"&gt;160,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;2025&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_c20231231__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zGdec5kEhNqh" style="text-align: right" title="2025"&gt;160,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;2026&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_pp0p0_c20231231__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_z9HzMCmCqSah" style="text-align: right" title="2026"&gt;160,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;2027&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_iI_pp0p0_c20231231__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zEEGR8DvvxH2" style="text-align: right" title="2027"&gt;160,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1.5pt"&gt;2028&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_iI_pp0p0_c20231231__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zrmAVu8INPji" style="border-bottom: Black 1.5pt solid; text-align: right" title="2028"&gt;160,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="AsOf2023-12-31_us-gaap_FiniteLivedIntangibleAssetsMember"
      decimals="0"
      id="Fact000960"
      unitRef="USD">160000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="AsOf2023-12-31_us-gaap_FiniteLivedIntangibleAssetsMember"
      decimals="0"
      id="Fact000962"
      unitRef="USD">160000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="AsOf2023-12-31_us-gaap_FiniteLivedIntangibleAssetsMember"
      decimals="0"
      id="Fact000964"
      unitRef="USD">160000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="AsOf2023-12-31_us-gaap_FiniteLivedIntangibleAssetsMember"
      decimals="0"
      id="Fact000966"
      unitRef="USD">160000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
      contextRef="AsOf2023-12-31_us-gaap_FiniteLivedIntangibleAssetsMember"
      decimals="0"
      id="Fact000968"
      unitRef="USD">160000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <FSI:LongTermDepositsTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000970">&lt;p id="xdx_80F_ecustom--LongTermDepositsTextBlock_zOTsj27Yx8I9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;9.
&lt;span style="font-variant: small-caps"&gt;&lt;span id="xdx_820_z02uDeW8X0Sl"&gt;LONG TERM DEPOSITS&lt;/span&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_895_ecustom--ScheduleOfLongTermDepositsTableTextBlock_zZo1XJh12nhh" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company has security deposits that are long term in nature which consist of damage deposits held by landlords and deposits held by various
vendors for equipment purchases.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B3_zuP9hB5ggUWe" style="display: none"&gt;SCHEDULE OF LONG TERM DEPOSITS&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49F_20231231_zX2JxTGtiUF5" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_490_20221231_zHOuGk95LWok" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 60%"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--DepositsAssetsNoncurrent_iI_pp0p0" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Long term deposits&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;824,254&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;8,540&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A1_zLR40ulZSbbk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</FSI:LongTermDepositsTextBlock>
    <FSI:ScheduleOfLongTermDepositsTableTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000972">&lt;p id="xdx_895_ecustom--ScheduleOfLongTermDepositsTableTextBlock_zZo1XJh12nhh" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company has security deposits that are long term in nature which consist of damage deposits held by landlords and deposits held by various
vendors for equipment purchases.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B3_zuP9hB5ggUWe" style="display: none"&gt;SCHEDULE OF LONG TERM DEPOSITS&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49F_20231231_zX2JxTGtiUF5" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_490_20221231_zHOuGk95LWok" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 60%"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--DepositsAssetsNoncurrent_iI_pp0p0" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Long term deposits&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;824,254&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;8,540&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</FSI:ScheduleOfLongTermDepositsTableTextBlock>
    <us-gaap:DepositsAssetsNoncurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000974"
      unitRef="USD">824254</us-gaap:DepositsAssetsNoncurrent>
    <us-gaap:DepositsAssetsNoncurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000975"
      unitRef="USD">8540</us-gaap:DepositsAssetsNoncurrent>
    <us-gaap:EquityMethodInvestmentsDisclosureTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000977">&lt;p id="xdx_807_eus-gaap--EquityMethodInvestmentsDisclosureTextBlock_z2ntXaCXsn45" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;10.
&lt;span id="xdx_824_zz02mCoSK1Y7"&gt;INVESTMENTS&lt;/span&gt; &lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;a&lt;span style="font-variant: small-caps"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-variant: small-caps"&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;T&lt;/span&gt;he Company previously held a &lt;span id="xdx_903_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20161231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--EnpPeruInvestmentsLlcMember_zNllTU0TR0A3"&gt;50&lt;/span&gt;%
ownership interest in ENP Peru, split between NanoChem (&lt;span id="xdx_909_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20161231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--NanoChemMember_z7VEucFjriua"&gt;41.67&lt;/span&gt;%)
and ENP Investments (&lt;span id="xdx_904_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20161231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--ENPInvestmentsLLCMember_zgRL8LH3bE26"&gt;8.33&lt;/span&gt;%),
which was acquired in fiscal 2016. ENP Peru is located in Illinois and leases warehouse space to other entities in the Company. In
June 2022, NanoChem acquired an additional &lt;span id="xdx_903_ecustom--AdditionalEquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20220630__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--NanoChemMember_zZxbyE0E05kh" title="Additional equity method investment ownership percentage"&gt;50&lt;/span&gt;%
ownership interest at a cost of $&lt;span id="xdx_90D_eus-gaap--BusinessCombinationConsiderationTransferred1_c20220601__20220630__srt--OwnershipAxis__custom--ENPPeruMember_zCHv2mPUnuWg" title="Purchase consideration"&gt;506,659&lt;/span&gt;
paid through a new $&lt;span id="xdx_906_eus-gaap--Cash_iI_c20220630__srt--OwnershipAxis__custom--ENPPeruMember_z3zr7iT5yaIf"&gt;259,000&lt;/span&gt;
mortgage and cash on hand. The &lt;span id="xdx_907_eus-gaap--MinorityInterestOwnershipPercentageByNoncontrollingOwners_iI_pid_dp_uPure_c20231231__srt--OwnershipAxis__custom--EnpnvestmentsLlcMember_zJconxsAMhhh" title="Non-controlling interest percentage"&gt;35&lt;/span&gt;%
non-controlling interest of the &lt;span id="xdx_902_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20231231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--ENPInvestmentsLLCMember_zmLwtWTs0wha"&gt;8.33&lt;/span&gt;%
owned by ENP Investments is included in non-controlling interest in these consolidated financial statements. The Company&#x2019;s
investment in ENP Peru was previously accounted for using the equity method, however, it is now consolidated into the consolidated
financial statements from the date control was obtained. In June 2023, NanoChem purchased the remaining &lt;span id="xdx_901_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20230630__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--ENPInvestmentsLLCMember_zJZ2qhCt9Hkc"&gt;8.33&lt;/span&gt;%
of ENP Peru from ENP Investments to become full owner.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;It
was determined that ENP Peru did not meet the definition of a business in accordance with FASB Codification Topic 805, &lt;i&gt;Business Combinations
&lt;/i&gt;(ASC 805)&lt;i&gt;, &lt;/i&gt;and the acquisition was accounted for as an asset acquisition. The following table summarizes the final purchase
price allocation of the consideration paid to the respective fair values of the assets acquired and liabilities assumed in ENP Peru as
of the acquisition date. The gain on acquisition of ENP Peru represents a gain on remeasurement of the Company&#x2019;s equity method
investment immediately prior to the acquisition date.&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_890_eus-gaap--ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_hdei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zQ91xC8p30vg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B3_zu46PcJcgPbd" style="display: none"&gt;SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_49D_20220101__20221231_z5jQSYaOJCOd" style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--BusinessCombinationConsiderationTransferred1_zct7Ab2Jst9e" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: left; padding-bottom: 1.5pt"&gt;Purchase consideration&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; width: 16%; text-align: right"&gt;506,659&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Assets acquired:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_iE_z9sw3ADdW2G5" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Cash&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;7,330&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings_iE_zHSXfFm9u15c" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;Building&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,750,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand_iE_zh6wPIdzjROf" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Land&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;150,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Liabilities assumed:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_iNE_di_zjAuijmegUFj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Deferred tax liability&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(174,582&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt_iE_zmy85SIoX2qf" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt"&gt;Long term debt&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(2,849,500&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_iE_zJpvwzZgxoMk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Total identifiable net assets:&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;883,248&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice_iE_zd7bCJ63OPB3" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Excess of assets acquired over consideration&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;376,589&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_ecustom--InvestmentEliminatedUponConsolidation_zdsYV2TJLlQh" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Less investment eliminated upon consolidation&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(41,538&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_ecustom--GainOnAcquisitionOfSubsidiary_zr7VRlvKN7X4" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Gain on acquisition of ENP Peru&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;335,051&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A3_z80FMAEIGNr9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89B_eus-gaap--EquityMethodInvestmentsTextBlock_hdei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zkPG1T5i21M3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.7in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;A
summary of the Company&#x2019;s investment follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BD_zZ2KvCnWiJYi" style="display: none"&gt;SCHEDULE OF EQUITY METHOD INVESTMENT&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%"&gt;Balance, December 31, 2021&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--EquityMethodInvestments_iS_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zZbWdvc6Bezj" style="width: 16%; text-align: right" title="Balance, Beginning"&gt;3,822&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Return of equity&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_ecustom--EquityMethodInvestmentReturnOfEquity_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zPK6urRBgBC" style="text-align: right" title="Return of equity"&gt;(3,822&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Gain in equity method investment&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zpgAdZQdeEje" style="border-bottom: Black 1.5pt solid; text-align: right" title="Gain in equity method investment"&gt;22,642&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balance, December 31, 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--EquityMethodInvestments_iS_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zKj8bZzQc3T" style="text-align: right" title="Balance, Beginning"&gt;22,642&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Return of equity&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_ecustom--EquityMethodInvestmentReturnOfEquity_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zecLsgfoL613" style="text-align: right" title="Return of equity"&gt;(8,750&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Gain in equity method investment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zkOxS6yt59X8" style="text-align: right" title="Gain in equity method investment"&gt;27,646&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Investment eliminated upon consolidation&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_ecustom--InvestmentEliminatedUponConsolidation_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zt5wl7uviFrg" style="border-bottom: Black 1.5pt solid; text-align: right" title="Investment eliminated upon consolidation"&gt;(41,538&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Balance, June 30 and December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--EquityMethodInvestments_iE_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zjDfMNT6ZcZd" style="border-bottom: Black 2.5pt double; text-align: right" title="Balance, Ending"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1029"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A9_zaBzgDmdJxH5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;b&lt;span style="font-variant: small-caps"&gt;)
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
December 2018, the Company invested $&lt;span id="xdx_906_eus-gaap--Investments_iI_c20181231__dei--LegalEntityAxis__custom--AppliedHoldingCorpMember_zazwEMGCcMmb" title="Investment"&gt;200,000&lt;/span&gt;
in Applied Holding Corp. (&#x201c;Applied&#x201d;). Applied is a captive insurance company and the Company received a non-convertible
promissory note for its investment which becomes due in 2021 but may be extended with notice for a maximum of two years. During the
year ended December 31, 2021, the Company entered an agreement with Applied to extend the maturity date of this promissory note to &lt;span id="xdx_908_ecustom--DebtInstrumentMaturityMonthYear_c20210101__20211231_zkEe8Qalnen7" title="Debt maturity"&gt;December
2023&lt;/span&gt;. In October 2023, the Company received the payment of $&lt;span id="xdx_906_eus-gaap--Investments_iI_c20231031_z4uXSqWnBbv3" title="Investment"&gt;200,000&lt;/span&gt;
to settle the promissory note and the balance of this investment at December 31, 2023 is $&lt;span id="xdx_90B_eus-gaap--Investments_iI_dxL_c20231231_z2fYFTByQmbj" title="Investment::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1037"&gt;nil&lt;/span&gt;&lt;/span&gt;
(2022 - $&lt;span id="xdx_90C_eus-gaap--Investments_iI_c20221231_zAuxqlCzAe4" title="Investment"&gt;200,000&lt;/span&gt;). In accordance with
FASB Codification Topic 321, &lt;i&gt;Investments &#x2013; Equity Securities (&lt;/i&gt;ASC 321), the Company has elected to account for this
investment at cost.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;(&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;c&lt;span style="font-variant: small-caps"&gt;) &#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/b&gt;In
December 2018, the Company invested $&lt;span id="xdx_903_eus-gaap--Investments_iI_c20181231__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_z5ydTPyvJ6tg" title="Investment"&gt;500,000&lt;/span&gt; in Trio Opportunity Corp. (&#x201c;Trio&#x201d;), a privately held entity and a further
$&lt;span id="xdx_908_eus-gaap--Investments_iI_c20230430__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zlEhH3S2tjsk" title="Investment"&gt;470,000&lt;/span&gt; was invested in April 2023. Trio is a real estate investment vehicle and the Company received &lt;span id="xdx_90B_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_pid_c20181201__20181231__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassBMember__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zl08qgxFWup1" title="Common stock issued, shares"&gt;97,000&lt;/span&gt; non-voting Class B
shares at $&lt;span id="xdx_903_eus-gaap--SharePrice_iI_pid_c20181231__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassBMember__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zF3izoBzbHK5" title="Share price"&gt;10.00&lt;/span&gt;/share. In accordance with ASC 321, the Company has elected to account for this investment at cost.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;(d) &lt;/b&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;In
January 2019, the Company invested in a Florida based LLC that is engaged in international sales of fertilizer additives. The
Company accounts for this investment using the equity method of accounting. According to the operating agreement, the Company has a
&lt;span id="xdx_906_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20190131__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_zKwvVzEnTePc" title="Ownership percentage"&gt;50&lt;/span&gt;% interest in the profit and loss of the Florida based LLC but does not have control. &lt;span style="background-color: white"&gt;A
summary of the Company&#x2019;s investment follows:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89F_eus-gaap--EquityMethodInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zBcRfXBObzA1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B3_zuFIOZ3V9HFj" style="display: none"&gt;SCHEDULE OF EQUITY METHOD INVESTMENT&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%"&gt;Balance, December 31, 2021&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_z0rkB9ryz1Ci" style="width: 16%; text-align: right" title="Balance, Beginning"&gt;3,701,368&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Gain in equity method investment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zoUnlbcdSon3" style="text-align: right" title="Gain in equity method investment"&gt;307,527&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Return of equity&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_ecustom--EquityMethodInvestmentReturnOfEquity_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zEzx14YKmsNj" style="border-bottom: Black 1.5pt solid; text-align: right" title="Return of equity"&gt;(250,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balance, December 31, 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zgvC9CbHPM26" style="text-align: right" title="Balance, Beginning"&gt;3,758,895&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Gain in equity method investment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zwzVumZG65M8" style="text-align: right" title="Gain in equity method investment"&gt;505,065&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Return of equity&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_ecustom--EquityMethodInvestmentReturnOfEquity_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zXUUKkesFRsa" style="border-bottom: Black 1.5pt solid; text-align: right" title="Return of equity"&gt;(200,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Balance, December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--EquityMethodInvestments_iE_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zMPvER71W7c1" style="border-bottom: Black 1.5pt solid; text-align: right" title="Balance, Ending"&gt;4,063,960&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AA_zwNeS2uXiw8c" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_890_eus-gaap--GainLossOnInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_z5OUi1zeuiRi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Summarized
profit and loss information related to the equity accounted investment is as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B6_z14Gjkb1grn1" style="display: none"&gt;SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20230101__20231231_zTcwSnJg1Rx4" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20220101__20221231_zE64trHLfcn1" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&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 colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--GainsLossesOnSalesOfInvestmentRealEstate_zeEtqZUK0Yc8" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Net sales&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;16,043,468&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;18,103,070&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--RealizedInvestmentGainsLosses_z19s7MbFSff" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Gross profit&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;4,668,177&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;4,204,311&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_ecustom--RealizedInvestmentGainsLossesNet_zZvTEYI0Dfch" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Net income&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;1,010,128&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;615,055&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AF_zrqVx9J75ot5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the year ended December 31, 2023, the Company had sales of $&lt;span id="xdx_902_eus-gaap--Revenues_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zVCrdnrkw3ub" title="Sales"&gt;10,260,870&lt;/span&gt; (2022 - $&lt;span id="xdx_90F_eus-gaap--Revenues_c20220101__20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zUBk6CYBe9h4" title="Sales"&gt;12,938,735&lt;/span&gt;) to the Florida Based LLC, of which $&lt;span id="xdx_905_eus-gaap--AccountsReceivableNet_iI_c20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_z52bfSKEdEKi" title="Accounts receivable related parties"&gt;2,073,813&lt;/span&gt;
is included within Accounts Receivable as at December 31, 2023 (2022 - $&lt;span id="xdx_90C_eus-gaap--AccountsReceivableNet_iI_c20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zYbIevbBZ8G2" title="Accounts receivable related parties"&gt;2,423,285&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;(e)
&lt;/b&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;In December 2020, the Company invested $&lt;span id="xdx_906_eus-gaap--PaymentsToAcquireInvestments_pp0p0_c20201201__20201231__dei--LegalEntityAxis__custom--LygosIncMember_zXyJXf4MSPId"&gt;500,000&lt;/span&gt; in Lygos Inc. (&#x201c;Lygos&#x201d;), a privately held entity, under a Simple Agreement
for Future Equity (&#x201c;SAFE&#x201d;) agreement. Lygos is a company developing a sustainable aspartic acid microbe strain. In 2021,
the Company made a second SAFE investment of $&lt;span id="xdx_903_eus-gaap--PaymentsToAcquireInvestments_c20210101__20211231__dei--LegalEntityAxis__custom--LygosIncMember_zQ7HID9TwMB9"&gt;500,000&lt;/span&gt; for a total of $&lt;span id="xdx_90D_eus-gaap--Investments_iI_c20211231__dei--LegalEntityAxis__custom--LygosIncMember_z1scGC1hXPDc" title="Investment"&gt;1,000,000&lt;/span&gt;. In accordance with ASC 321, the Company has elected
to account for this investment at cost.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

</us-gaap:EquityMethodInvestmentsDisclosureTextBlock>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="AsOf2016-12-31_custom_EnpPeruInvestmentsLlcMember"
      decimals="INF"
      id="Fact000978"
      unitRef="Pure">0.50</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="AsOf2016-12-31_custom_NanoChemMember"
      decimals="INF"
      id="Fact000979"
      unitRef="Pure">0.4167</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="AsOf2016-12-31_custom_ENPInvestmentsLLCMember"
      decimals="INF"
      id="Fact000980"
      unitRef="Pure">0.0833</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <FSI:AdditionalEquityMethodInvestmentOwnershipPercentage
      contextRef="AsOf2022-06-30_custom_NanoChemMember"
      decimals="INF"
      id="Fact000982"
      unitRef="Pure">0.50</FSI:AdditionalEquityMethodInvestmentOwnershipPercentage>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="From2022-06-012022-06-30_custom_ENPPeruMember"
      decimals="0"
      id="Fact000984"
      unitRef="USD">506659</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:Cash
      contextRef="AsOf2022-06-30_custom_ENPPeruMember"
      decimals="0"
      id="Fact000985"
      unitRef="USD">259000</us-gaap:Cash>
    <us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners
      contextRef="AsOf2023-12-31_custom_EnpnvestmentsLlcMember"
      decimals="INF"
      id="Fact000987"
      unitRef="Pure">0.35</us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="AsOf2023-12-31_custom_ENPInvestmentsLLCMember"
      decimals="INF"
      id="Fact000988"
      unitRef="Pure">0.0833</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="AsOf2023-06-30_custom_ENPInvestmentsLLCMember"
      decimals="INF"
      id="Fact000989"
      unitRef="Pure">0.0833</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock
      contextRef="From2023-01-012023-12-31_custom_EnpPeruInvestmentsLlcMember"
      id="Fact000991">&lt;p id="xdx_890_eus-gaap--ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_hdei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zQ91xC8p30vg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B3_zu46PcJcgPbd" style="display: none"&gt;SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_49D_20220101__20221231_z5jQSYaOJCOd" style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--BusinessCombinationConsiderationTransferred1_zct7Ab2Jst9e" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: left; padding-bottom: 1.5pt"&gt;Purchase consideration&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; width: 16%; text-align: right"&gt;506,659&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Assets acquired:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_iE_z9sw3ADdW2G5" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Cash&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;7,330&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings_iE_zHSXfFm9u15c" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;Building&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,750,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand_iE_zh6wPIdzjROf" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Land&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;150,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Liabilities assumed:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_iNE_di_zjAuijmegUFj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Deferred tax liability&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(174,582&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt_iE_zmy85SIoX2qf" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt"&gt;Long term debt&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(2,849,500&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_iE_zJpvwzZgxoMk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Total identifiable net assets:&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;883,248&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice_iE_zd7bCJ63OPB3" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Excess of assets acquired over consideration&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;376,589&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_ecustom--InvestmentEliminatedUponConsolidation_zdsYV2TJLlQh" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Less investment eliminated upon consolidation&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(41,538&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_ecustom--GainOnAcquisitionOfSubsidiary_zr7VRlvKN7X4" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Gain on acquisition of ENP Peru&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;335,051&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000993"
      unitRef="USD">506659</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000995"
      unitRef="USD">7330</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000997"
      unitRef="USD">3750000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000999"
      unitRef="USD">150000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001001"
      unitRef="USD">174582</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
    <FSI:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001003"
      unitRef="USD">-2849500</FSI:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001005"
      unitRef="USD">883248</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets>
    <FSI:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001007"
      unitRef="USD">376589</FSI:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice>
    <FSI:InvestmentEliminatedUponConsolidation
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001009"
      unitRef="USD">-41538</FSI:InvestmentEliminatedUponConsolidation>
    <FSI:GainOnAcquisitionOfSubsidiary
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001011"
      unitRef="USD">335051</FSI:GainOnAcquisitionOfSubsidiary>
    <us-gaap:EquityMethodInvestmentsTextBlock
      contextRef="From2023-01-012023-12-31_custom_EnpPeruInvestmentsLlcMember"
      id="Fact001013">&lt;p id="xdx_89B_eus-gaap--EquityMethodInvestmentsTextBlock_hdei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zkPG1T5i21M3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.7in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;A
summary of the Company&#x2019;s investment follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BD_zZ2KvCnWiJYi" style="display: none"&gt;SCHEDULE OF EQUITY METHOD INVESTMENT&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%"&gt;Balance, December 31, 2021&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--EquityMethodInvestments_iS_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zZbWdvc6Bezj" style="width: 16%; text-align: right" title="Balance, Beginning"&gt;3,822&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Return of equity&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_ecustom--EquityMethodInvestmentReturnOfEquity_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zPK6urRBgBC" style="text-align: right" title="Return of equity"&gt;(3,822&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Gain in equity method investment&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zpgAdZQdeEje" style="border-bottom: Black 1.5pt solid; text-align: right" title="Gain in equity method investment"&gt;22,642&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balance, December 31, 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--EquityMethodInvestments_iS_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zKj8bZzQc3T" style="text-align: right" title="Balance, Beginning"&gt;22,642&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Return of equity&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_ecustom--EquityMethodInvestmentReturnOfEquity_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zecLsgfoL613" style="text-align: right" title="Return of equity"&gt;(8,750&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Gain in equity method investment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zkOxS6yt59X8" style="text-align: right" title="Gain in equity method investment"&gt;27,646&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Investment eliminated upon consolidation&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_ecustom--InvestmentEliminatedUponConsolidation_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zt5wl7uviFrg" style="border-bottom: Black 1.5pt solid; text-align: right" title="Investment eliminated upon consolidation"&gt;(41,538&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Balance, June 30 and December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--EquityMethodInvestments_iE_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zjDfMNT6ZcZd" style="border-bottom: Black 2.5pt double; text-align: right" title="Balance, Ending"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1029"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:EquityMethodInvestmentsTextBlock>
    <us-gaap:EquityMethodInvestments
      contextRef="AsOf2021-12-31_custom_EnpPeruInvestmentsLlcMember"
      decimals="0"
      id="Fact001015"
      unitRef="USD">3822</us-gaap:EquityMethodInvestments>
    <FSI:EquityMethodInvestmentReturnOfEquity
      contextRef="From2022-01-012022-12-31_custom_EnpPeruInvestmentsLlcMember"
      decimals="0"
      id="Fact001017"
      unitRef="USD">-3822</FSI:EquityMethodInvestmentReturnOfEquity>
    <us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal
      contextRef="From2022-01-012022-12-31_custom_EnpPeruInvestmentsLlcMember"
      decimals="0"
      id="Fact001019"
      unitRef="USD">22642</us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal>
    <us-gaap:EquityMethodInvestments
      contextRef="AsOf2022-12-31_custom_EnpPeruInvestmentsLlcMember"
      decimals="0"
      id="Fact001021"
      unitRef="USD">22642</us-gaap:EquityMethodInvestments>
    <FSI:EquityMethodInvestmentReturnOfEquity
      contextRef="From2023-01-012023-12-31_custom_EnpPeruInvestmentsLlcMember"
      decimals="0"
      id="Fact001023"
      unitRef="USD">-8750</FSI:EquityMethodInvestmentReturnOfEquity>
    <us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal
      contextRef="From2023-01-012023-12-31_custom_EnpPeruInvestmentsLlcMember"
      decimals="0"
      id="Fact001025"
      unitRef="USD">27646</us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal>
    <FSI:InvestmentEliminatedUponConsolidation
      contextRef="From2023-01-012023-12-31_custom_EnpPeruInvestmentsLlcMember"
      decimals="0"
      id="Fact001027"
      unitRef="USD">-41538</FSI:InvestmentEliminatedUponConsolidation>
    <us-gaap:Investments
      contextRef="AsOf2018-12-31_custom_AppliedHoldingCorpMember"
      decimals="0"
      id="Fact001031"
      unitRef="USD">200000</us-gaap:Investments>
    <FSI:DebtInstrumentMaturityMonthYear contextRef="From2021-01-012021-12-31" id="Fact001033">2023-12</FSI:DebtInstrumentMaturityMonthYear>
    <us-gaap:Investments
      contextRef="AsOf2023-10-31"
      decimals="0"
      id="Fact001035"
      unitRef="USD">200000</us-gaap:Investments>
    <us-gaap:Investments
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001039"
      unitRef="USD">200000</us-gaap:Investments>
    <us-gaap:Investments
      contextRef="AsOf2018-12-31_custom_TrioOpportunityCorpMember"
      decimals="0"
      id="Fact001041"
      unitRef="USD">500000</us-gaap:Investments>
    <us-gaap:Investments
      contextRef="AsOf2023-04-30_custom_TrioOpportunityCorpMember"
      decimals="0"
      id="Fact001043"
      unitRef="USD">470000</us-gaap:Investments>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="From2018-12-012018-12-31_us-gaap_CommonClassBMember_custom_TrioOpportunityCorpMember"
      decimals="INF"
      id="Fact001045"
      unitRef="Shares">97000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:SharePrice
      contextRef="AsOf2018-12-31_us-gaap_CommonClassBMember_custom_TrioOpportunityCorpMember"
      decimals="INF"
      id="Fact001047"
      unitRef="USDPShares">10.00</us-gaap:SharePrice>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="AsOf2019-01-31_custom_FloridaBasedLLCMember"
      decimals="INF"
      id="Fact001049"
      unitRef="Pure">0.50</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentsTextBlock
      contextRef="From2023-01-012023-12-31_custom_FloridaBasedLLCMember"
      id="Fact001051">&lt;p id="xdx_89F_eus-gaap--EquityMethodInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zBcRfXBObzA1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B3_zuFIOZ3V9HFj" style="display: none"&gt;SCHEDULE OF EQUITY METHOD INVESTMENT&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%"&gt;Balance, December 31, 2021&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_z0rkB9ryz1Ci" style="width: 16%; text-align: right" title="Balance, Beginning"&gt;3,701,368&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Gain in equity method investment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zoUnlbcdSon3" style="text-align: right" title="Gain in equity method investment"&gt;307,527&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Return of equity&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_ecustom--EquityMethodInvestmentReturnOfEquity_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zEzx14YKmsNj" style="border-bottom: Black 1.5pt solid; text-align: right" title="Return of equity"&gt;(250,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balance, December 31, 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zgvC9CbHPM26" style="text-align: right" title="Balance, Beginning"&gt;3,758,895&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Gain in equity method investment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zwzVumZG65M8" style="text-align: right" title="Gain in equity method investment"&gt;505,065&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Return of equity&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_ecustom--EquityMethodInvestmentReturnOfEquity_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zXUUKkesFRsa" style="border-bottom: Black 1.5pt solid; text-align: right" title="Return of equity"&gt;(200,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Balance, December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--EquityMethodInvestments_iE_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zMPvER71W7c1" style="border-bottom: Black 1.5pt solid; text-align: right" title="Balance, Ending"&gt;4,063,960&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:EquityMethodInvestmentsTextBlock>
    <us-gaap:EquityMethodInvestments
      contextRef="AsOf2021-12-31_custom_FloridaBasedLLCMember"
      decimals="0"
      id="Fact001053"
      unitRef="USD">3701368</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal
      contextRef="From2022-01-012022-12-31_custom_FloridaBasedLLCMember"
      decimals="0"
      id="Fact001055"
      unitRef="USD">307527</us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal>
    <FSI:EquityMethodInvestmentReturnOfEquity
      contextRef="From2022-01-012022-12-31_custom_FloridaBasedLLCMember"
      decimals="0"
      id="Fact001057"
      unitRef="USD">-250000</FSI:EquityMethodInvestmentReturnOfEquity>
    <us-gaap:EquityMethodInvestments
      contextRef="AsOf2022-12-31_custom_FloridaBasedLLCMember"
      decimals="0"
      id="Fact001059"
      unitRef="USD">3758895</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal
      contextRef="From2023-01-012023-12-31_custom_FloridaBasedLLCMember"
      decimals="0"
      id="Fact001061"
      unitRef="USD">505065</us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal>
    <FSI:EquityMethodInvestmentReturnOfEquity
      contextRef="From2023-01-012023-12-31_custom_FloridaBasedLLCMember"
      decimals="0"
      id="Fact001063"
      unitRef="USD">-200000</FSI:EquityMethodInvestmentReturnOfEquity>
    <us-gaap:EquityMethodInvestments
      contextRef="AsOf2023-12-31_custom_FloridaBasedLLCMember"
      decimals="0"
      id="Fact001065"
      unitRef="USD">4063960</us-gaap:EquityMethodInvestments>
    <us-gaap:GainLossOnInvestmentsTextBlock
      contextRef="From2023-01-012023-12-31_custom_FloridaBasedLLCMember"
      id="Fact001067">&lt;p id="xdx_890_eus-gaap--GainLossOnInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_z5OUi1zeuiRi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Summarized
profit and loss information related to the equity accounted investment is as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B6_z14Gjkb1grn1" style="display: none"&gt;SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20230101__20231231_zTcwSnJg1Rx4" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20220101__20221231_zE64trHLfcn1" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&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 colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--GainsLossesOnSalesOfInvestmentRealEstate_zeEtqZUK0Yc8" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Net sales&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;16,043,468&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;18,103,070&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--RealizedInvestmentGainsLosses_z19s7MbFSff" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Gross profit&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;4,668,177&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;4,204,311&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_ecustom--RealizedInvestmentGainsLossesNet_zZvTEYI0Dfch" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Net income&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;1,010,128&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;615,055&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:GainLossOnInvestmentsTextBlock>
    <us-gaap:GainsLossesOnSalesOfInvestmentRealEstate
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001069"
      unitRef="USD">16043468</us-gaap:GainsLossesOnSalesOfInvestmentRealEstate>
    <us-gaap:GainsLossesOnSalesOfInvestmentRealEstate
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001070"
      unitRef="USD">18103070</us-gaap:GainsLossesOnSalesOfInvestmentRealEstate>
    <us-gaap:RealizedInvestmentGainsLosses
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001072"
      unitRef="USD">4668177</us-gaap:RealizedInvestmentGainsLosses>
    <us-gaap:RealizedInvestmentGainsLosses
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001073"
      unitRef="USD">4204311</us-gaap:RealizedInvestmentGainsLosses>
    <FSI:RealizedInvestmentGainsLossesNet
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001075"
      unitRef="USD">1010128</FSI:RealizedInvestmentGainsLossesNet>
    <FSI:RealizedInvestmentGainsLossesNet
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001076"
      unitRef="USD">615055</FSI:RealizedInvestmentGainsLossesNet>
    <us-gaap:Revenues
      contextRef="From2023-01-012023-12-31_custom_FloridaBasedLLCMember"
      decimals="0"
      id="Fact001078"
      unitRef="USD">10260870</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2022-01-012022-12-31_custom_FloridaBasedLLCMember"
      decimals="0"
      id="Fact001080"
      unitRef="USD">12938735</us-gaap:Revenues>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2023-12-31_custom_FloridaBasedLLCMember"
      decimals="0"
      id="Fact001082"
      unitRef="USD">2073813</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2022-12-31_custom_FloridaBasedLLCMember"
      decimals="0"
      id="Fact001084"
      unitRef="USD">2423285</us-gaap:AccountsReceivableNet>
    <us-gaap:PaymentsToAcquireInvestments
      contextRef="From2020-12-012020-12-31_custom_LygosIncMember"
      decimals="0"
      id="Fact001085"
      unitRef="USD">500000</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:PaymentsToAcquireInvestments
      contextRef="From2021-01-012021-12-31_custom_LygosIncMember"
      decimals="0"
      id="Fact001086"
      unitRef="USD">500000</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:Investments
      contextRef="AsOf2021-12-31_custom_LygosIncMember"
      decimals="0"
      id="Fact001088"
      unitRef="USD">1000000</us-gaap:Investments>
    <us-gaap:ShortTermDebtTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001090">&lt;p id="xdx_802_eus-gaap--ShortTermDebtTextBlock_zSo0MsELKtc6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;11.
&lt;span id="xdx_829_zlkg1FqGATf2"&gt;SHORT-TERM LINE OF CREDIT&lt;/span&gt; &lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;a&lt;span style="font-variant: small-caps"&gt;)

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In June 2023, ENP Investments renewed the
line of credit with Stock Yards Bank and Trust (&#x201c;Stock Yards&#x201d;), increasing the limit by $&lt;span id="xdx_90C_eus-gaap--LineOfCreditFacilityCurrentBorrowingCapacity_iI_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_z7Ng2epOC2ma"&gt;500,000
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;from the previous line of credit. The revolving
line of credit is for an aggregate amount of up to the lesser of (i) $&lt;span id="xdx_903_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zmfqoecKvDE1"&gt;4,500,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;,
or (ii) 50-80% of eligible domestic accounts receivable plus &lt;span id="xdx_90A_ecustom--PercentageOfForeignAccountsReceivableOfInventory_pid_dp_uPure_c20230601__20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zuut8OqzYUqb"&gt;50&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;%
of inventory, capped at $&lt;span id="xdx_907_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zPtl19xRHBKa"&gt;2,000,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;.
Interest on the unpaid principal balance of this loan will be calculated using the greater of prime or 8.25%. The interest rate at December
31, 2023 is &lt;span id="xdx_906_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zqPcgmI3IUwe"&gt;8.5&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;%
(December 31, 2022 - &lt;span id="xdx_90D_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20221231__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zfa3hJvHC3D5"&gt;7.5&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;%).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
revolving line of credit contains customary affirmative and negative covenants, including the following: compliance with laws, provisions
of financial statements and periodic reports, payment of taxes, maintenance of inventory and insurance, maintenance of operating accounts
at Stock Yards, Stock Yard&#x2019;s access to collateral, formation or acquisition of subsidiaries, incurrence of indebtedness, dispositions
of assets, granting liens, changes in business, ownership or business locations, engaging in mergers and acquisitions, making investments
or distributions and affiliate transactions. NanoChem is a guarantor of &lt;span id="xdx_90C_ecustom--LoanGuaranteedRate_iI_pid_dp_uPure_c20231231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zymHxipnQTK7" title="Loan guaranteed rate"&gt;65&lt;/span&gt;% of all the principal and other loan costs not to exceed $&lt;span id="xdx_90F_eus-gaap--LinesOfCreditCurrent_iI_pp0p0_c20231231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zZRcO2OAX9vg" title="Line of credit"&gt;2,925,000&lt;/span&gt;.
The non-controlling interest is the guarantor of the remaining &lt;span id="xdx_902_ecustom--LoanGuaranteedRate_iI_pid_dp_uPure_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--NoncontrollingInterestMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zoQcSter2GW8" title="Loan guaranteed rate"&gt;35&lt;/span&gt;% of all the principal and other loan costs not to exceed $&lt;span id="xdx_901_eus-gaap--LinesOfCreditCurrent_iI_pp0p0_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--NoncontrollingInterestMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_z3kNv1LvetUj" title="Line of credit"&gt;1,575,000&lt;/span&gt;.
As of December 31, 2023, ENP Investments was in compliance with all loan covenants.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;To
secure the repayment of any amounts borrowed under the revolving line of credit, the Company granted Stock Yards a security interest
in substantially all of the assets of ENP Investments, exclusive of intellectual property assets.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Short-term
borrowings outstanding under the revolving line as of December 31, 2023 were $&lt;span id="xdx_90E_eus-gaap--ShortTermBorrowings_iI_pp0p0_c20231231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zx1c5ZPQwdp1" title="Short term borrowings"&gt;1,810,479&lt;/span&gt; (2022 - $&lt;span id="xdx_904_eus-gaap--ShortTermBorrowings_iI_pp0p0_c20221231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zFCYTYRGIu8d" title="Short term borrowings"&gt;2,477,794&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;(b)
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;/b&gt;In June 2023, the Company renewed the line of credit with Stock Yards Bank and Trust
(&#x201c;Stock Yards&#x201d;). The revolving line of credit is for an aggregate amount of up to the lesser of (i) $&lt;span id="xdx_901_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zOO9UflinIGh" title="Aggregate amount of revolving line of credit"&gt;4,000,000&lt;/span&gt;,
or (ii) &lt;span id="xdx_906_ecustom--EligiblePercentageOfDomesticAccountsReceivable_pid_dp_uPure_c20230601__20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zyZxYbonQ3Pb" title="Eligible percentage of domestic accounts receivable"&gt;80&lt;/span&gt;%
of eligible domestic accounts receivable and certain foreign accounts receivable plus &lt;span id="xdx_90D_ecustom--PercentageOfForeignAccountsReceivableOfInventory_pid_dp_uPure_c20230601__20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zPsXezmjuKnh" title="Percentage of foreign accounts receivable of inventory"&gt;50&lt;/span&gt;%
of inventory, capped at $&lt;span id="xdx_908_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zVzA7FtlNx25" title="Debt face amount"&gt;2,000,000&lt;/span&gt;.
Interest on the unpaid principal balance of this loan will be calculated using the greater of prime or 8.25%. The prime interest
rate at December 31, 2023 was &lt;span id="xdx_90E_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_uPure_c20231231__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_z0kbS6DoFjw6" title="Interest rate"&gt;8.5&lt;/span&gt;%
(2022 - &lt;span id="xdx_905_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_uPure_c20221231__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_ziw1qQO6tMr1" title="Interest rate"&gt;7.5&lt;/span&gt;%).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
revolving line of credit contains customary affirmative and negative covenants, including the following: compliance with laws, provision
of financial statements and periodic reports, payment of taxes, maintenance of inventory and insurance, maintenance of operating accounts
at Stock Yards, Stock Yards access to collateral, formation or acquisition of subsidiaries, incurrence of indebtedness, dispositions
of assets, granting liens, changes in business, ownership or business locations, engaging in mergers and acquisitions, making investments
or distributions and affiliate transactions. The covenants also require that the Company maintain a minimum ratio of qualifying financial
assets to the sum of qualifying financial obligations. As of December 31, 2023, the Company was in compliance with all loan covenants.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;To
secure repayment of any amounts borrowed under the revolving line of credit, the Company granted Stock Yards a security interest in substantially
all of the assets of NanoChem, exclusive of intellectual property assets.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Short-term
borrowings outstanding under the revolving line as of December 31, 2023 were $&lt;span id="xdx_90C_eus-gaap--ShortTermBorrowings_iI_dxL_c20231231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_zV0FFf0l5Uy5" title="Short term borrowings::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1122"&gt;nil&lt;/span&gt;&lt;/span&gt; (2022 - $&lt;span id="xdx_906_eus-gaap--ShortTermBorrowings_iI_c20221231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_z1rKGnrhhi3b" title="Short term borrowings"&gt;340,797&lt;/span&gt;). This amount was repaid in full during
the year ended December 31, 2023.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:ShortTermDebtTextBlock>
    <us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity
      contextRef="AsOf2023-06-30_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember"
      decimals="0"
      id="Fact001091"
      unitRef="USD">500000</us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="AsOf2023-06-30_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember"
      decimals="0"
      id="Fact001092"
      unitRef="USD">4500000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <FSI:PercentageOfForeignAccountsReceivableOfInventory
      contextRef="From2023-06-012023-06-30_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember"
      decimals="INF"
      id="Fact001093"
      unitRef="Pure">0.50</FSI:PercentageOfForeignAccountsReceivableOfInventory>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2023-06-30_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember"
      decimals="0"
      id="Fact001094"
      unitRef="USD">2000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2023-12-31_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember"
      decimals="INF"
      id="Fact001095"
      unitRef="Pure">0.085</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2022-12-31_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember"
      decimals="INF"
      id="Fact001096"
      unitRef="Pure">0.075</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <FSI:LoanGuaranteedRate
      contextRef="AsOf2023-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember"
      decimals="INF"
      id="Fact001098"
      unitRef="Pure">0.65</FSI:LoanGuaranteedRate>
    <us-gaap:LinesOfCreditCurrent
      contextRef="AsOf2023-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember"
      decimals="0"
      id="Fact001100"
      unitRef="USD">2925000</us-gaap:LinesOfCreditCurrent>
    <FSI:LoanGuaranteedRate
      contextRef="AsOf2023-12-31_us-gaap_NoncontrollingInterestMember_custom_StockYardAndBankMember"
      decimals="INF"
      id="Fact001102"
      unitRef="Pure">0.35</FSI:LoanGuaranteedRate>
    <us-gaap:LinesOfCreditCurrent
      contextRef="AsOf2023-12-31_us-gaap_NoncontrollingInterestMember_custom_StockYardAndBankMember"
      decimals="0"
      id="Fact001104"
      unitRef="USD">1575000</us-gaap:LinesOfCreditCurrent>
    <us-gaap:ShortTermBorrowings
      contextRef="AsOf2023-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember"
      decimals="0"
      id="Fact001106"
      unitRef="USD">1810479</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="AsOf2022-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember"
      decimals="0"
      id="Fact001108"
      unitRef="USD">2477794</us-gaap:ShortTermBorrowings>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="AsOf2023-06-30_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember"
      decimals="0"
      id="Fact001110"
      unitRef="USD">4000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <FSI:EligiblePercentageOfDomesticAccountsReceivable
      contextRef="From2023-06-012023-06-30_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember"
      decimals="INF"
      id="Fact001112"
      unitRef="Pure">0.80</FSI:EligiblePercentageOfDomesticAccountsReceivable>
    <FSI:PercentageOfForeignAccountsReceivableOfInventory
      contextRef="From2023-06-012023-06-30_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember"
      decimals="INF"
      id="Fact001114"
      unitRef="Pure">0.50</FSI:PercentageOfForeignAccountsReceivableOfInventory>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2023-06-30_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember"
      decimals="0"
      id="Fact001116"
      unitRef="USD">2000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2023-12-31_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember"
      decimals="INF"
      id="Fact001118"
      unitRef="Pure">0.085</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2022-12-31_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember"
      decimals="INF"
      id="Fact001120"
      unitRef="Pure">0.075</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:ShortTermBorrowings
      contextRef="AsOf2022-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockBankMember_us-gaap_RevolvingCreditFacilityMember"
      decimals="0"
      id="Fact001124"
      unitRef="USD">340797</us-gaap:ShortTermBorrowings>
    <us-gaap:LongTermDebtTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001126">&lt;p id="xdx_80E_eus-gaap--LongTermDebtTextBlock_zpkZqKsEsz6e" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;12.
&lt;span id="xdx_826_zIOHcCuqpRsa"&gt;LONG TERM DEBT&lt;/span&gt; &lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;a&lt;span style="font-variant: small-caps"&gt;)
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
October 2020, NanoChem signed a loan for $&lt;span id="xdx_905_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20201031__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zuIAX67fVyVc" title="Debt instrument face amount"&gt;1,980,947&lt;/span&gt;
with Midland States Bank (&#x201c;Midland&#x201d;) with a rate of &lt;span id="xdx_901_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20201031__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zRRRgOgUN6gh" title="Debt instrument interest rate stated percentage"&gt;3.85&lt;/span&gt;%
to be repaid over &lt;span id="xdx_903_eus-gaap--DebtInstrumentTerm_dtY_c20201001__20201031__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zkJYEWNY685c" title="Debt instrument term"&gt;5&lt;/span&gt;
years with equal monthly payments including interest. The money was used to retire the debt at BMO Harris Bank
(&#x201c;Harris&#x201d;) related to the loan to purchase a &lt;span id="xdx_90B_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20201031__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zJbTQnsQRqDb" title="Debt instrument interest rate stated percentage"&gt;65&lt;/span&gt;%
interest in ENP Investments. In June 2022, the loan was paid in full with funds from Stock Yards. Interest expense for the year
ended December 31, 2023 was $&lt;span id="xdx_90E_eus-gaap--InterestExpenseDebt_pp0p0_dxL_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_z2AACcB1GCs8" title="Debt Long term debt amount::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1136"&gt;nil&lt;/span&gt;&lt;/span&gt;
(2022 - $&lt;span id="xdx_90A_eus-gaap--InterestExpenseDebt_pp0p0_c20220101__20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_z3hWnjwiNCv7" title="Debt Long term debt amount"&gt;30,334&lt;/span&gt;).
The balance owing at December 31, 2023 was $&lt;span id="xdx_90E_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_dxL_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_z5qMAdr3I7hk" title="Debt Long term debt amount::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1140"&gt;nil&lt;/span&gt;&lt;/span&gt;
(2022 - $&lt;span id="xdx_908_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_dxL_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_z7G6hKNhyjX7" title="Debt Long term debt amount::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1142"&gt;nil&lt;/span&gt;&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;b&lt;span style="font-variant: small-caps"&gt;)
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In October 2020, NanoChem signed a loan for
$&lt;span id="xdx_901_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20201031__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zlcRoBV2Bib1" title="Debt instrument face amount"&gt;894,253&lt;/span&gt; with Midland with an interest rate &lt;span id="xdx_902_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20201031__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zG1CrvusWfhk" title="Debt instrument interest rate stated percentage"&gt;3.85&lt;/span&gt;% to be repaid over two years with equal monthly payments including interest. The funds
were used to replace the loan at Harris for the purchase of new manufacturing equipment. In June 2022, the loan was paid in full with
funds from Stock Yards. Interest expense for the year ended December 31, 2023 was $&lt;span id="xdx_90E_eus-gaap--InterestExpenseDebt_pp0p0_dxL_c20230101__20231231__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zKz809FwRni1" title="Interest expense debt::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1148"&gt;nil&lt;/span&gt;&lt;/span&gt; (2022 - $&lt;span id="xdx_90F_eus-gaap--InterestExpenseDebt_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zEuvRiLWMehi" title="Interest expense debt"&gt;5,816&lt;/span&gt;). The balance owing at December
31, 2023 was $&lt;span id="xdx_906_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_dxL_c20231231__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zlUmVa3j5ABj" title="Debt Long term debt amount::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1152"&gt;nil&lt;/span&gt;&lt;/span&gt; (2022 - $&lt;span id="xdx_904_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_dxL_c20221231__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zSsBYQVJtZvi" title="Debt Long term debt amount::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1154"&gt;nil&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;(c) &#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;/b&gt;In
January 2020, ENP Mendota refinanced its mortgage and signed a loan for $&lt;span id="xdx_90D_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zfop8Hzlb2i4"&gt;450,000&lt;/span&gt; with Stock Yards to be repaid over &lt;span id="xdx_903_eus-gaap--DebtInstrumentTerm_dtY_c20200101__20200131__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember__dei--LegalEntityAxis__custom--EnpRealtyLLCMember_zXOp6lTPuGN2"&gt;10&lt;/span&gt; years with
monthly installments plus interest. Interest for the first five years is at &lt;span id="xdx_90F_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20200131__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember__dei--LegalEntityAxis__custom--EnpRealtyLLCMember_z2T4gBkw6hh8"&gt;4.35&lt;/span&gt;% and it will be adjusted for the last five years to
the Cincinnati Federal Home Bank Loan &lt;span id="xdx_90B_eus-gaap--DebtInstrumentTerm_dtY_c20200101__20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zjj0mr2Lmb5g"&gt;5&lt;/span&gt; year fixed index plus &lt;span id="xdx_907_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zSxg2OaZ8Yi8"&gt;4.5&lt;/span&gt;%. Interest expense for the year ended December 31, 2023 was
$&lt;span id="xdx_901_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zsJetBZcn0Kc" title="Interest expense debt"&gt;17,911&lt;/span&gt; (2022 - $&lt;span id="xdx_901_eus-gaap--InterestExpenseDebt_pp0p0_c20220101__20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zEIfi450iCI9" title="Interest expense debt"&gt;17,107&lt;/span&gt;). The balance owing at December 31, 2023 was $&lt;span id="xdx_908_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zUsZOJJEp4ue"&gt;399,269&lt;/span&gt; (2022 - $&lt;span id="xdx_902_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zQfSR0SvS1Gd"&gt;415,430&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-indent: 0.4in; text-align: justify"&gt;To secure repayment of any amounts borrowed under the mortgage, the Company granted Stock Yards a security interest
in real property under the mortgage and all rents on said property.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;(d) &#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;/b&gt;In
June 2022, NanoChem signed a loan for $&lt;span id="xdx_904_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemMember_z57KP2wWDYx1" title="Debt instrument face amount"&gt;1,935,000&lt;/span&gt; with Stock Yards with an interest rate of &lt;span id="xdx_90E_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemMember_zVjLWiZjNdbb" title="Debt instrument interest rate stated percentage"&gt;4.90&lt;/span&gt;% to be repaid over &lt;span id="xdx_901_eus-gaap--DebtInstrumentTerm_c20220601__20220630__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember__dei--LegalEntityAxis__custom--EnpRealtyLLCMember_zfq25Id6jrt9"&gt;three years&lt;/span&gt; with
equal monthly payments including interest. The funds were used to replace the loans at Midland for the purchase of the &lt;span id="xdx_905_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zOMJuPWBVIXb" title="Debt instrument interest rate stated percentage"&gt;65&lt;/span&gt;% interest
in ENP Investments and the new manufacturing equipment. Interest expense for the year ended December 31, 2023 was $&lt;span id="xdx_904_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--NanoChemMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_z1NDbECSDUP5"&gt;66,957&lt;/span&gt; (2022 -
$&lt;span id="xdx_90C_eus-gaap--InterestExpenseDebt_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--NanoChemMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zNR4JyasvsNf"&gt;45,113&lt;/span&gt;). The balance owing at December 31, 2023 was $&lt;span id="xdx_90E_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemMember_zVZTBxcSlzDa" title="Debt Long term debt amount"&gt;1,004,747&lt;/span&gt; (2022 - $&lt;span id="xdx_90E_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemMember_zDokoq75x19c" title="Debt Long term debt amount"&gt;1,632,672&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;(e) &#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;/b&gt;In
January 2020 ENP Peru signed a $&lt;span id="xdx_909_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zMvbklU6Ffp3" title="Debt instrument face amount"&gt;3,000,000&lt;/span&gt; loan with an interest rate &lt;span id="xdx_90A_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zkw5uk5ni0mj" title="Debt instrument interest rate stated percentage"&gt;4.35&lt;/span&gt;% to be repaid over &lt;span id="xdx_90A_eus-gaap--DebtInstrumentTerm_c20200101__20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_z6HGPCEsMzZh"&gt;ten years&lt;/span&gt; with equal monthly payments
including interest. Upon the purchase of the remainder of ENP Peru in June 2022, the Company assumed the first mortgage at Stock
Yards with a balance of $&lt;span id="xdx_901_eus-gaap--LoansPayable_iI_pp0p0_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zyijMwPL6M3i" title="First mortgage"&gt;2,849,500&lt;/span&gt;. Interest expense for the year ended December 31, 2023 was $&lt;span id="xdx_90E_eus-gaap--InterestExpense_pp0p0_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zSR8Vl2A0hM2" title="Interest expense"&gt;122,544&lt;/span&gt; (2022 - $&lt;span id="xdx_90C_eus-gaap--InterestExpense_pp0p0_c20220101__20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zIuPnqUFR7A6" title="Interest expense"&gt;62,679&lt;/span&gt;). The balance
owing at December 31, 2023 was $&lt;span id="xdx_901_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_z7q4chNirXD7" title="Debt instrument face amount"&gt;2,737,232&lt;/span&gt; (2022 - $&lt;span id="xdx_902_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zs0hHWpVdcsj" title="Debt instrument face amount"&gt;2,813,015&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;(f)
&lt;/b&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;In June 2022, ENP Peru obtained a second mortgage for $&lt;span id="xdx_90C_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zI9v8l3bdqZ9" title="Debt instrument face amount"&gt;259,000&lt;/span&gt; with Stock Yards to be repaid over &lt;span id="xdx_904_eus-gaap--DebtInstrumentTerm_dtY_c20220601__20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zw3Aa3OgHz47" title="Debt instrument term"&gt;10&lt;/span&gt; years with monthly installments
plus interest with an interest rate of &lt;span id="xdx_902_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zVaZp2qWd6Ua" title="Debt instrument interest rate stated percentage"&gt;5.4&lt;/span&gt;%. Interest expense for the year ended December 31, 2023 was $&lt;span id="xdx_901_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zg53WcNjjSof" title="Interest expense debt"&gt;13,877&lt;/span&gt; (2022 - $&lt;span id="xdx_900_eus-gaap--InterestExpenseDebt_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_z81P2vQtyeBa" title="Interest expense debt"&gt;7,077&lt;/span&gt;). The balance
owing at December 31, 2023 was $&lt;span id="xdx_903_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20231231__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zZA7eOmZJ5Rl" title="Debt instrument face amount"&gt;250,207&lt;/span&gt; (2022 - $&lt;span id="xdx_90F_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20221231__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zDhPmg7M0yU6" title="Debt instrument face amount"&gt;256,162&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;(g)
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;/b&gt;In December 2022, NanoChem signed a three year loan for up to $&lt;span id="xdx_90B_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zgVWvrTWlpci" title="Debt instrument face amount"&gt;2,000,000&lt;/span&gt; with Stock Yards with an interest rate of &lt;span id="xdx_907_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zizBbr3RCrb2" title="Debt instrument interest rate stated percentage"&gt;6.5&lt;/span&gt;%. Interest
only payments are required for the first 18 months with interest and principal being paid in the last 18 months. The funds are being
used to purchase new manufacturing equipment. Interest expense for the year ended December 31, 2023 was $&lt;span id="xdx_905_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_z1HSVN55ml2j" title="Interest expense debt"&gt;67,397&lt;/span&gt; (2022 - $&lt;span id="xdx_904_eus-gaap--InterestExpenseDebt_pp0p0_c20220101__20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_z0dwonNor6T8" title="Interest expense debt"&gt;23,632&lt;/span&gt;). The
balance owing at December 31, 2023 was $&lt;span id="xdx_901_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zFM0F3ZKu73h" title="Debt Long term debt amount"&gt;1,475,188&lt;/span&gt; (2022 - $&lt;span id="xdx_90B_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zTN9GEZNhhO" title="Debt Long term debt amount"&gt;1,036,798&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;(h)
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;/b&gt;In June 2023, 317 Mendota signed a five year loan for up to $&lt;span id="xdx_907_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20230630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaMember_ze4NVuTQFZs7" title="Debt instrument face amount"&gt;3,240,000&lt;/span&gt; with Stock Yards  to purchase a building and any necessary
renovations. Interest only payments are required for the first 12 months with interest and principal being paid the remaining four years
and a lump sum due in June 2028. Interest expense for the year ended December 31, 2023 was $&lt;span id="xdx_902_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--MendotaMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_zC9HhpfdSiPd" title="Interest expense debt"&gt;95,396&lt;/span&gt; (2022 - $&lt;span id="xdx_90B_eus-gaap--InterestExpenseDebt_pp0p0_dxL_c20220101__20221231__dei--LegalEntityAxis__custom--MendotaMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_zefmNHtk8t98" title="Interest expense debt::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1225"&gt;nil&lt;/span&gt;&lt;/span&gt;). The balance owing at
December 31, 2023 was $&lt;span id="xdx_905_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaMember_zvKDkafWWRF4" title="Debt Long term debt amount"&gt;2,248,292&lt;/span&gt; (2022 - $&lt;span id="xdx_90C_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_dxL_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaMember_zl3bNvhrfff2" title="Debt Long term debt amount::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1229"&gt;nil&lt;/span&gt;&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_892_ecustom--ScheduleOfLoanCovenantsTableTextBlock_zfZQ7xY4opDl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;As
of December 31, 2023, Company was in compliance with all loan covenants.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BF_zB4uSIOEzVg2" style="display: none"&gt;SCHEDULE OF LOAN COVENANTS&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;Continuity&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20230101__20231231_zX6yVXGFCuj3" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49F_20220101__20221231_zjqrh6xCIYTh" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;December 31, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--LongTermDebt_iS_zXBYVT30kMJ5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%"&gt;Balance, January 1&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;6,154,077&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;2,366,598&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--LongTermDebt_iS_zBIFxtuQZyM2" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Balance, beginning of period&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;6,154,077&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;2,366,598&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_405_eus-gaap--ProceedsFromBankDebt_zExiK14WyNp7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Plus: Proceeds from loans&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,686,682&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,230,798&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_ecustom--ProceedsFromLoanAcquiredFromAcquisition_zHljed4q7b2k" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Plus: Loan acquired with acquisition of ENP Peru&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1242"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,849,500&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--PaymentsForProceedsFromDepositOnLoan_iN_di_z85eZZbKXVk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Less: Payments on loan&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(725,823&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(2,292,819&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--LongTermDebt_iE_zBGFwgnGD793" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Balance, end of period&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;8,114,936&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;6,154,077&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AA_z0V4D09a8ovi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_898_eus-gaap--ScheduleOfDebtInstrumentsTextBlock_zGbBGM2KvUDe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BC_zwHTpx6lN5tk" style="display: none"&gt;SCHEDULE OF OUTSTANDING BALANCE LOAN&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;Outstanding balance at December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_495_20231231_ze55pAaqRpB8" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20221231_zD63pKpGTaNh" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;December 31, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember_zEtBhErZlUm3" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;a) Long term debt &#x2013; Midland States Bank&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1253"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1254"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankOneMember_zgJyMYLV1o43" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;b) Long term debt &#x2013; Midland States Bank&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1256"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1257"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember_zZttK3oWHrGi" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;c) Long term debt &#x2013; Stock Yards Bank &amp;amp; Trust&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;399,269&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;415,430&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustOneMember_zH6ILvH1RCaa" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;d) Long term debt &#x2013; Stock Yards Bank &amp;amp; Trust&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,004,748&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,632,672&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustTwoMember_zpZnwixB5s36" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;e) Long term debt &#x2013; Stock Yards Bank &amp;amp; Trust&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,737,232&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,813,015&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustThreeMember_zIbpKlO4q9xb" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;f) Long term debt &#x2013; Stock Yards Bank &amp;amp; Trust&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;250,207&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;256,162&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustFourMember_zZnRRK7TXyk8" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;g) Long term debt &#x2013; Stock Yards Bank &amp;amp; Trust&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,475,188&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,036,798&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustFiveMember_zHApQNI3pYxg" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;h) Long term debt &#x2013; Stock Yards Bank &amp;amp; Trust&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;2,248,292&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1275"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--LongTermDebt_iI_z9jjOTJ1nsj1" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Long-term debt&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;8,114,936&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;6,154,077&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--LongTermDebtCurrent_iNI_di_ztrEdoNI1gq" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Less: current portion&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(1,281,632&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(717,612&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--LongTermDebtNoncurrent_iI_z86H0L5EXiY6" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Long-term debt non current&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;6,833,304&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;5,436,465&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A1_zV2Jq9z5ja2l" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

</us-gaap:LongTermDebtTextBlock>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2020-10-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember"
      decimals="0"
      id="Fact001128"
      unitRef="USD">1980947</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2020-10-31_custom_TermLoanMember_custom_MidlandBankMember_us-gaap_PrimeRateMember_custom_NanoChemSolutionsIncMember"
      decimals="INF"
      id="Fact001130"
      unitRef="Pure">0.0385</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentTerm
      contextRef="From2020-10-012020-10-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember"
      id="Fact001132">P5Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2020-10-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember"
      decimals="INF"
      id="Fact001134"
      unitRef="Pure">0.65</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:InterestExpenseDebt
      contextRef="From2022-01-012022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember"
      decimals="0"
      id="Fact001138"
      unitRef="USD">30334</us-gaap:InterestExpenseDebt>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2020-10-31_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember"
      decimals="0"
      id="Fact001144"
      unitRef="USD">894253</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2020-10-31_custom_MidlandBankMember_us-gaap_PrimeRateMember_custom_NanoChemSolutionsIncMember"
      decimals="INF"
      id="Fact001146"
      unitRef="Pure">0.0385</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:InterestExpenseDebt
      contextRef="From2022-01-012022-12-31_custom_NanoChemSolutionsIncMember_custom_MidlandBankMember"
      decimals="0"
      id="Fact001150"
      unitRef="USD">5816</us-gaap:InterestExpenseDebt>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember"
      decimals="0"
      id="Fact001155"
      unitRef="USD">450000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentTerm
      contextRef="From2020-01-012020-01-31_custom_StockYardsBankTrustMember_custom_EnpRealtyLLCMember"
      id="Fact001156">P10Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2020-01-31_custom_StockYardsBankTrustMember_us-gaap_PrimeRateMember_custom_EnpRealtyLLCMember"
      decimals="INF"
      id="Fact001157"
      unitRef="Pure">0.0435</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentTerm
      contextRef="From2020-01-012020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember"
      id="Fact001158">P5Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember"
      decimals="INF"
      id="Fact001159"
      unitRef="Pure">0.045</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:InterestExpenseDebt
      contextRef="From2023-01-012023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember"
      decimals="0"
      id="Fact001161"
      unitRef="USD">17911</us-gaap:InterestExpenseDebt>
    <us-gaap:InterestExpenseDebt
      contextRef="From2022-01-012022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember"
      decimals="0"
      id="Fact001163"
      unitRef="USD">17107</us-gaap:InterestExpenseDebt>
    <us-gaap:DebtDefaultLongtermDebtAmount
      contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember"
      decimals="0"
      id="Fact001164"
      unitRef="USD">399269</us-gaap:DebtDefaultLongtermDebtAmount>
    <us-gaap:DebtDefaultLongtermDebtAmount
      contextRef="AsOf2022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember"
      decimals="0"
      id="Fact001165"
      unitRef="USD">415430</us-gaap:DebtDefaultLongtermDebtAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemMember"
      decimals="0"
      id="Fact001167"
      unitRef="USD">1935000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemMember"
      decimals="INF"
      id="Fact001169"
      unitRef="Pure">0.0490</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentTerm
      contextRef="From2022-06-012022-06-30_custom_StockYardsBankTrustMember_custom_EnpRealtyLLCMember"
      id="Fact001170">P3Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruInvestmentsMember"
      decimals="INF"
      id="Fact001172"
      unitRef="Pure">0.65</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:InterestExpenseDebt
      contextRef="From2023-01-012023-12-31_custom_NanoChemMember_custom_TermLoanMember_custom_MidlandBankMember"
      decimals="0"
      id="Fact001173"
      unitRef="USD">66957</us-gaap:InterestExpenseDebt>
    <us-gaap:InterestExpenseDebt
      contextRef="From2022-01-012022-12-31_custom_NanoChemMember_custom_TermLoanMember_custom_MidlandBankMember"
      decimals="0"
      id="Fact001174"
      unitRef="USD">45113</us-gaap:InterestExpenseDebt>
    <us-gaap:DebtDefaultLongtermDebtAmount
      contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemMember"
      decimals="0"
      id="Fact001176"
      unitRef="USD">1004747</us-gaap:DebtDefaultLongtermDebtAmount>
    <us-gaap:DebtDefaultLongtermDebtAmount
      contextRef="AsOf2022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemMember"
      decimals="0"
      id="Fact001178"
      unitRef="USD">1632672</us-gaap:DebtDefaultLongtermDebtAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember"
      decimals="0"
      id="Fact001180"
      unitRef="USD">3000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_us-gaap_PrimeRateMember_custom_ENPPeruOneMember"
      decimals="INF"
      id="Fact001182"
      unitRef="Pure">0.0435</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentTerm
      contextRef="From2020-01-012020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember"
      id="Fact001183">P10Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:LoansPayable
      contextRef="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember"
      decimals="0"
      id="Fact001185"
      unitRef="USD">2849500</us-gaap:LoansPayable>
    <us-gaap:InterestExpense
      contextRef="From2023-01-012023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember"
      decimals="0"
      id="Fact001187"
      unitRef="USD">122544</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="From2022-01-012022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember"
      decimals="0"
      id="Fact001189"
      unitRef="USD">62679</us-gaap:InterestExpense>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember"
      decimals="0"
      id="Fact001191"
      unitRef="USD">2737232</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember"
      decimals="0"
      id="Fact001193"
      unitRef="USD">2813015</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruInvestmentsMember"
      decimals="0"
      id="Fact001195"
      unitRef="USD">259000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentTerm
      contextRef="From2022-06-012022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruInvestmentsMember"
      id="Fact001197">P10Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_us-gaap_PrimeRateMember_custom_ENPPeruInvestmentsMember"
      decimals="INF"
      id="Fact001199"
      unitRef="Pure">0.054</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:InterestExpenseDebt
      contextRef="From2023-01-012023-12-31_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember"
      decimals="0"
      id="Fact001201"
      unitRef="USD">13877</us-gaap:InterestExpenseDebt>
    <us-gaap:InterestExpenseDebt
      contextRef="From2022-01-012022-12-31_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember"
      decimals="0"
      id="Fact001203"
      unitRef="USD">7077</us-gaap:InterestExpenseDebt>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2023-12-31_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember"
      decimals="0"
      id="Fact001205"
      unitRef="USD">250207</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2022-12-31_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember"
      decimals="0"
      id="Fact001207"
      unitRef="USD">256162</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2022-12-31_custom_TermLoanMember_custom_NanoChemMember"
      decimals="0"
      id="Fact001209"
      unitRef="USD">2000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2022-12-31_custom_TermLoanMember_custom_NanoChemMember"
      decimals="INF"
      id="Fact001211"
      unitRef="Pure">0.065</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:InterestExpenseDebt
      contextRef="From2023-01-012023-12-31_custom_TermLoanMember_custom_NanoChemMember"
      decimals="0"
      id="Fact001213"
      unitRef="USD">67397</us-gaap:InterestExpenseDebt>
    <us-gaap:InterestExpenseDebt
      contextRef="From2022-01-012022-12-31_custom_TermLoanMember_custom_NanoChemMember"
      decimals="0"
      id="Fact001215"
      unitRef="USD">23632</us-gaap:InterestExpenseDebt>
    <us-gaap:DebtDefaultLongtermDebtAmount
      contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_NanoChemMember"
      decimals="0"
      id="Fact001217"
      unitRef="USD">1475188</us-gaap:DebtDefaultLongtermDebtAmount>
    <us-gaap:DebtDefaultLongtermDebtAmount
      contextRef="AsOf2022-12-31_custom_TermLoanMember_custom_NanoChemMember"
      decimals="0"
      id="Fact001219"
      unitRef="USD">1036798</us-gaap:DebtDefaultLongtermDebtAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2023-06-30_custom_TermLoanMember_custom_MendotaMember"
      decimals="0"
      id="Fact001221"
      unitRef="USD">3240000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:InterestExpenseDebt
      contextRef="From2023-01-012023-12-31_custom_MendotaMember_custom_TermLoanMember"
      decimals="0"
      id="Fact001223"
      unitRef="USD">95396</us-gaap:InterestExpenseDebt>
    <us-gaap:DebtDefaultLongtermDebtAmount
      contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_MendotaMember"
      decimals="0"
      id="Fact001227"
      unitRef="USD">2248292</us-gaap:DebtDefaultLongtermDebtAmount>
    <FSI:ScheduleOfLoanCovenantsTableTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001231">&lt;p id="xdx_892_ecustom--ScheduleOfLoanCovenantsTableTextBlock_zfZQ7xY4opDl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;As
of December 31, 2023, Company was in compliance with all loan covenants.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BF_zB4uSIOEzVg2" style="display: none"&gt;SCHEDULE OF LOAN COVENANTS&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;Continuity&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20230101__20231231_zX6yVXGFCuj3" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49F_20220101__20221231_zjqrh6xCIYTh" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;December 31, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--LongTermDebt_iS_zXBYVT30kMJ5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%"&gt;Balance, January 1&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;6,154,077&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;2,366,598&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--LongTermDebt_iS_zBIFxtuQZyM2" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Balance, beginning of period&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;6,154,077&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;2,366,598&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_405_eus-gaap--ProceedsFromBankDebt_zExiK14WyNp7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Plus: Proceeds from loans&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,686,682&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,230,798&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_ecustom--ProceedsFromLoanAcquiredFromAcquisition_zHljed4q7b2k" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Plus: Loan acquired with acquisition of ENP Peru&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1242"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,849,500&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--PaymentsForProceedsFromDepositOnLoan_iN_di_z85eZZbKXVk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Less: Payments on loan&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(725,823&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(2,292,819&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--LongTermDebt_iE_zBGFwgnGD793" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Balance, end of period&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;8,114,936&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;6,154,077&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</FSI:ScheduleOfLoanCovenantsTableTextBlock>
    <us-gaap:LongTermDebt
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001233"
      unitRef="USD">6154077</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2021-12-31"
      decimals="0"
      id="Fact001234"
      unitRef="USD">2366598</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001236"
      unitRef="USD">6154077</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2021-12-31"
      decimals="0"
      id="Fact001237"
      unitRef="USD">2366598</us-gaap:LongTermDebt>
    <us-gaap:ProceedsFromBankDebt
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001239"
      unitRef="USD">2686682</us-gaap:ProceedsFromBankDebt>
    <us-gaap:ProceedsFromBankDebt
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001240"
      unitRef="USD">3230798</us-gaap:ProceedsFromBankDebt>
    <FSI:ProceedsFromLoanAcquiredFromAcquisition
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001243"
      unitRef="USD">2849500</FSI:ProceedsFromLoanAcquiredFromAcquisition>
    <us-gaap:PaymentsForProceedsFromDepositOnLoan
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001245"
      unitRef="USD">725823</us-gaap:PaymentsForProceedsFromDepositOnLoan>
    <us-gaap:PaymentsForProceedsFromDepositOnLoan
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001246"
      unitRef="USD">2292819</us-gaap:PaymentsForProceedsFromDepositOnLoan>
    <us-gaap:LongTermDebt
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001248"
      unitRef="USD">8114936</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001249"
      unitRef="USD">6154077</us-gaap:LongTermDebt>
    <us-gaap:ScheduleOfDebtInstrumentsTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001251">&lt;p id="xdx_898_eus-gaap--ScheduleOfDebtInstrumentsTextBlock_zGbBGM2KvUDe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BC_zwHTpx6lN5tk" style="display: none"&gt;SCHEDULE OF OUTSTANDING BALANCE LOAN&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;Outstanding balance at December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_495_20231231_ze55pAaqRpB8" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20221231_zD63pKpGTaNh" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;December 31, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember_zEtBhErZlUm3" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;a) Long term debt &#x2013; Midland States Bank&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1253"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1254"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankOneMember_zgJyMYLV1o43" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;b) Long term debt &#x2013; Midland States Bank&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1256"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1257"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember_zZttK3oWHrGi" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;c) Long term debt &#x2013; Stock Yards Bank &amp;amp; Trust&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;399,269&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;415,430&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustOneMember_zH6ILvH1RCaa" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;d) Long term debt &#x2013; Stock Yards Bank &amp;amp; Trust&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,004,748&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,632,672&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustTwoMember_zpZnwixB5s36" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;e) Long term debt &#x2013; Stock Yards Bank &amp;amp; Trust&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,737,232&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,813,015&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustThreeMember_zIbpKlO4q9xb" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;f) Long term debt &#x2013; Stock Yards Bank &amp;amp; Trust&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;250,207&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;256,162&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustFourMember_zZnRRK7TXyk8" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;g) Long term debt &#x2013; Stock Yards Bank &amp;amp; Trust&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,475,188&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,036,798&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustFiveMember_zHApQNI3pYxg" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;h) Long term debt &#x2013; Stock Yards Bank &amp;amp; Trust&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;2,248,292&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1275"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--LongTermDebt_iI_z9jjOTJ1nsj1" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Long-term debt&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;8,114,936&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;6,154,077&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--LongTermDebtCurrent_iNI_di_ztrEdoNI1gq" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Less: current portion&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(1,281,632&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(717,612&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--LongTermDebtNoncurrent_iI_z86H0L5EXiY6" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Long-term debt non current&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;6,833,304&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;5,436,465&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfDebtInstrumentsTextBlock>
    <us-gaap:LongTermDebt
      contextRef="AsOf2023-12-31_custom_StockYardsBankTrustMember"
      decimals="0"
      id="Fact001259"
      unitRef="USD">399269</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2022-12-31_custom_StockYardsBankTrustMember"
      decimals="0"
      id="Fact001260"
      unitRef="USD">415430</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2023-12-31_custom_StockYardsBankTrustOneMember"
      decimals="0"
      id="Fact001262"
      unitRef="USD">1004748</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2022-12-31_custom_StockYardsBankTrustOneMember"
      decimals="0"
      id="Fact001263"
      unitRef="USD">1632672</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2023-12-31_custom_StockYardsBankTrustTwoMember"
      decimals="0"
      id="Fact001265"
      unitRef="USD">2737232</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2022-12-31_custom_StockYardsBankTrustTwoMember"
      decimals="0"
      id="Fact001266"
      unitRef="USD">2813015</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2023-12-31_custom_StockYardsBankTrustThreeMember"
      decimals="0"
      id="Fact001268"
      unitRef="USD">250207</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2022-12-31_custom_StockYardsBankTrustThreeMember"
      decimals="0"
      id="Fact001269"
      unitRef="USD">256162</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2023-12-31_custom_StockYardsBankTrustFourMember"
      decimals="0"
      id="Fact001271"
      unitRef="USD">1475188</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2022-12-31_custom_StockYardsBankTrustFourMember"
      decimals="0"
      id="Fact001272"
      unitRef="USD">1036798</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2023-12-31_custom_StockYardsBankTrustFiveMember"
      decimals="0"
      id="Fact001274"
      unitRef="USD">2248292</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001277"
      unitRef="USD">8114936</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001278"
      unitRef="USD">6154077</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebtCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001280"
      unitRef="USD">1281632</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001281"
      unitRef="USD">717612</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001283"
      unitRef="USD">6833304</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001284"
      unitRef="USD">5436465</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001286">&lt;p id="xdx_800_eus-gaap--IncomeTaxDisclosureTextBlock_zNH5VvOW1MDk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;13.
&lt;span id="xdx_82B_zYLKzv00fsjb"&gt;INCOME TAXES&lt;/span&gt; &lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_895_eus-gaap--ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_znp2yuY0c5w9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
provision for income tax expense (benefit) is comprised of the following:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B4_zcJ3MF1W82dl" style="display: none"&gt;SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT)&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_498_20230101__20231231_z0vwBGxN8orj" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49B_20220101__20221231_zVn45fy6voPe" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--CurrentFederalTaxExpenseBenefit_maCITEBzvlG_zwcXaZXSE04l" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Current tax, federal&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;753,683&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;1,017,059&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--CurrentStateAndLocalTaxExpenseBenefit_maCITEBzvlG_z2bLX1rTSCNh" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Current tax, state&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;340,952&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;460,098&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--CurrentForeignTaxExpenseBenefit_maCITEBzvlG_ziOkgrSdUhG5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Current tax, foreign&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;151,236&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;216,082&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_ecustom--CurrentTax_iT_pp0p0_mtCITEBzvlG_maCITEBzPIr_zs0SlM9leVdj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Current tax&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,245,871&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,693,239&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_ecustom--IncomeTaxRecovery_iN_pp0p0_di_msCITEBzPIr_zXS7tpvFRl26" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Income tax recovery&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(1,127,689&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(1,476,088&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--CurrentIncomeTaxExpenseBenefit_iT_mtCITEBzPIr_maITEBz5Oq_z7O8oqZeofw9" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Current tax, total&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;118,182&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;217,151&lt;/td&gt;&lt;td style="text-align: left"&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 style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--DeferredFederalIncomeTaxExpenseBenefit_maDITEBzP63_zi4o3dgIdpFa" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Deferred income tax, federal&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(172,763&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(49,088&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--DeferredStateAndLocalIncomeTaxExpenseBenefit_maDITEBzP63_zLOmSjE0BWE1" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Deferred income tax, state&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(78,154&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(22,207&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--DeferredForeignIncomeTaxExpenseBenefit_maDITEBzP63_zj0t4MfXLkK" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Deferred income tax, foreign&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1314"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1315"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--DeferredIncomeTaxExpenseBenefit_iT_pp0p0_mtDITEBzP63_maITEBz5Oq_z3sjKsO8DmDa" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Deferred income tax, total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(250,917&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(71,295&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--IncomeTaxExpenseBenefit_iT_pp0p0_mtITEBz5Oq_zusEQq4RKT01" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;(132,735&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;145,856&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AE_zNYZ0JSGNT4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; color: red"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_897_eus-gaap--ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_zX0242aJu7S7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table reconciles the income tax expense at the U.S. Federal statutory rate to income tax expense at the Company&#x2019;s effective
tax rates.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; color: red"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B4_zdAA34rfyLK" style="display: none"&gt;SCHEDULE OF RECONCILIATION OF INCOME TAXES&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="color: red"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49B_20230101__20231231_zVaamDwkn4ik" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_499_20220101__20221231_zqT8qlAhRhSg" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_zSVvkqA84LK4" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; color: black; text-align: left"&gt;Income before tax&lt;/td&gt;&lt;td style="width: 2%; color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; color: black; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; color: black; text-align: right"&gt;3,623,250&lt;/td&gt;&lt;td style="width: 1%; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; color: black; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; color: black; text-align: right"&gt;7,859,085&lt;/td&gt;&lt;td style="width: 1%; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_pid_dp_uPure_zFV2ORC57Qxd" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="color: black; text-align: left; padding-bottom: 1.5pt"&gt;US statutory tax rates&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: right"&gt;30.50&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;%&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: right"&gt;30.50&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_ecustom--ExpectedIncomeTaxRecovery_zaXM1BMsKeZd" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="color: black; text-align: left"&gt;Expected income tax&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: right"&gt;1,105,091&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: right"&gt;2,397,021&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--IncomeTaxReconciliationNondeductibleExpense_i_pp0p0" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="color: black; text-align: left"&gt;Non-deductible items&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: right"&gt;362,554&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: right"&gt;(243,167&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--IncomeTaxReconciliationOtherAdjustments_i_pp0p0" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="color: black; text-align: left"&gt;Change in estimates and other&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: right"&gt;(1,585,427&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;)&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: right"&gt;(2,004,041&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--IncomeTaxReconciliationForeignIncomeTaxRateDifferential_i_pp0p0" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="color: black; text-align: left"&gt;Foreign tax rate difference&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: right"&gt;(92,379&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;)&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: right"&gt;(226,611&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_i_pp0p0" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="color: black; text-align: left; padding-bottom: 1.5pt"&gt;Change in valuation allowance&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: right"&gt;77,426&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: right"&gt;(222,654&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--IncomeTaxExpenseBenefit_i_pp0p0" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="color: black; text-align: left; padding-bottom: 1.5pt"&gt;Total income taxes&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: right"&gt;(132,735&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;)&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: right"&gt;145,856&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="color: red"&gt;&#160;&lt;/td&gt;&lt;td style="color: red"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: red; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: red; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="color: red; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--CurrentIncomeTaxExpenseBenefit_zgkA0EFkCoqk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="color: black; text-align: left"&gt;Current income tax expense&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: right"&gt;118,182&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: right"&gt;217,151&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--DeferredIncomeTaxExpenseBenefit_zRyMB2ui9Jt5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="color: black; text-align: left; padding-bottom: 1.5pt"&gt;Deferred tax recovery&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: right"&gt;(250,917&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;)&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: right"&gt;(71,295&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--IncomeTaxExpenseBenefit_zcy3LjuqRCNb" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="color: black; text-align: left; padding-bottom: 1.5pt"&gt;Total income tax expense (recovery)&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: right"&gt;(132,735&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;)&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: right"&gt;145,856&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A7_z9wbyZhobgAa" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Included
in current income tax expense for the year ended December 31, 2023 is a recovery of $&lt;span id="xdx_903_ecustom--IncomeTaxRecovery_c20230101__20231231_zVjcnYh06Tcj" title="Current income tax expense"&gt;1,127,689&lt;/span&gt; (2022 - $&lt;span id="xdx_906_ecustom--IncomeTaxRecovery_c20220101__20221231_zaSQUBSCwYFe" title="Current income tax expense"&gt;1,476,088&lt;/span&gt;) for a revision of
estimated current taxes payable for previous years.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; color: red"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; color: red"&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; color: red"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_895_eus-gaap--ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_zuRx1qHwucRa" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Deferred
taxes reflect the tax effects of temporary differences between the carrying amounts of assets and liabilities for financial reporting
purposes. Deferred tax assets (liabilities) at December 31, 2023 and 2022 are comprised of the following:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B3_zODjV05YqsU6" style="display: none"&gt;SCHEDULE OF DEFERRED TAX ASSETS (LIABILITIES)&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="color: black"&gt;Canada&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; width: 60%; color: black; text-align: left"&gt;Non capital loss carryforwards&lt;/td&gt;&lt;td style="width: 2%; color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; color: black; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_iI_pp0p0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zXRGeL9UGiO3" style="width: 16%; color: black; text-align: right" title="Non capital loss carryforwards"&gt;855,176&lt;/td&gt;&lt;td style="width: 1%; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; color: black; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_iI_pp0p0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zLHWtCk27G95" style="width: 16%; color: black; text-align: right" title="Non capital loss carryforwards"&gt;891,954&lt;/td&gt;&lt;td style="width: 1%; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; color: black; text-align: left"&gt;Intangible assets&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--DeferredTaxAssetsGoodwillAndIntangibleAssets_iI_pp0p0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_za8pVqvYUWXa" style="color: black; text-align: right" title="Intangible assets"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1368"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--DeferredTaxAssetsGoodwillAndIntangibleAssets_iI_pp0p0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zV0uFYptlw4j" style="color: black; text-align: right" title="Intangible assets"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1370"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; color: black; text-align: left; padding-bottom: 1.5pt"&gt;Property, equipment and leaseholds&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipment_iI_pp0p0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zdGNjqDKz5X1" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Property, equipment and leaseholds"&gt;30,916&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipment_iI_pp0p0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zDu7tLZuNJhk" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Property, equipment and leaseholds"&gt;47,279&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="color: black"&gt;&#160;&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--DeferredTaxAssetsGross_iI_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zf17Jnh3wPcl" style="color: black; text-align: right" title="Deferred tax assets gross"&gt;886,092&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--DeferredTaxAssetsGross_iI_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zc3kF18Pgkc5" style="color: black; text-align: right" title="Deferred tax assets gross"&gt;939,233&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; color: black; text-align: left; padding-bottom: 1.5pt"&gt;Valuation allowance&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--DeferredTaxAssetsValuationAllowance_iNI_pp0p0_di_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zRzDS3LjDmIf" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Valuation Allowance"&gt;(886,092&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;)&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--DeferredTaxAssetsValuationAllowance_iNI_pp0p0_di_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zG4vHB20Ze9i" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Valuation Allowance"&gt;(939,233&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; color: black; text-align: left; padding-bottom: 1.5pt"&gt;Net deferred tax asset&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--DeferredTaxAssetsNet_iI_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_z7PbWzPSzogh" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Net deferred tax asset"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1384"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--DeferredTaxAssetsNet_iI_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zovlEcYdq5z2" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Net deferred tax asset"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1386"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="color: black"&gt;&#160;&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="color: black"&gt;US&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: right"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: right"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; color: black; text-align: left"&gt;Net operating loss carryforwards&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_iI_pdp0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zuA6HUy4Vb12" style="color: black; text-align: right" title="Net operating loss carryforwards"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1388"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_iI_pdp0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zVr3cPcNwvg1" style="color: black; text-align: right" title="Net operating loss carryforwards"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1390"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; color: black; text-align: left"&gt;Intangible assets&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--DeferredTaxAssetsGoodwillAndIntangibleAssets_iI_pdp0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zV5lJBysEuz3" style="color: black; text-align: right" title="Intangible assets"&gt;(11,346&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;)&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--DeferredTaxAssetsGoodwillAndIntangibleAssets_iI_pdp0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zmbpG8GkacWk" style="color: black; text-align: right" title="Intangible assets"&gt;(6,070&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; color: black"&gt;Investments&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--DeferredTaxAssetsInvestments_iNI_pp0p0_di_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zNIWHhTsXF7i" style="color: black; text-align: right" title="Investments"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1396"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--DeferredTaxAssetsInvestments_iNI_pp0p0_di_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zRwfs6y0HLwa" style="color: black; text-align: right" title="Investments"&gt;(7,676&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; color: black; text-align: left"&gt;Property, equipment and leaseholds&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipmentOne_iNI_pp0p0_di_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zE7sPkrTeKx" style="color: black; text-align: right" title="Property, equipment and leaseholds"&gt;(248,701&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;)&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipmentOne_iNI_pp0p0_di_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zd83pEvMGMla" style="color: black; text-align: right" title="Property, equipment and leaseholds"&gt;(486,713&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; color: black; text-align: left"&gt;Property, equipment and leaseholds&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipment_iI_pp0p0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zI5Xx0JzKdId" style="color: black; text-align: right" title="Property, equipment and leaseholds"&gt;284,794&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipment_iI_pp0p0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zS4ucoxqPHVj" style="color: black; text-align: right" title="Property, equipment and leaseholds"&gt;274,289&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; color: black; text-align: left"&gt;Financial instruments&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--DeferredTaxAssetsDerivativeInstruments_iI_pp0p0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zjVnoDATpoxd" style="color: black; text-align: right" title="Financial instruments"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1408"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--DeferredTaxAssetsDerivativeInstruments_iI_pp0p0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zxnPPf0BzkEd" style="color: black; text-align: right" title="Financial instruments"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1410"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; color: black; text-align: left; padding-bottom: 1.5pt"&gt;Deferred tax asset not recognized&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_ecustom--DeferredTaxAssetNotRecognized_iI_pp0p0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zNQKy6UUk0J5" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Deferred tax asset not recognized"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1412"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_ecustom--DeferredTaxAssetNotRecognized_iI_pp0p0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zhayezuX0C63" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Deferred tax asset not recognized"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1414"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; color: black; text-align: left; padding-bottom: 1.5pt"&gt;Net deferred tax asset (liability)&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--DeferredTaxAssetsNet_iI_pp0p0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zDfFqCEfyGz5" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Net deferred tax asset"&gt;24,747&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--DeferredTaxLiabilities_iNI_pp0p0_di_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zXiaKJ85Tsgd" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Net deferred tax liability"&gt;(226,170&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A8_zdH0733xorbg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company has non-capital loss carryforwards of approximately $&lt;span id="xdx_902_eus-gaap--OperatingLossCarryforwards_iI_pp0p0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zS8xHk7utUQ9" title="Operating loss carryforwards"&gt;3,718,155&lt;/span&gt; (2022 - $&lt;span id="xdx_90D_eus-gaap--OperatingLossCarryforwards_iI_pp0p0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zXpKGMjJzRk2" title="Operating loss carryforwards"&gt;3,878,060&lt;/span&gt;) which may be carried forward to apply against
future year income tax for Canadian income tax purposes, subject to the final determination by taxation authorities, expiring in the
following years:&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89B_ecustom--ScheduleOfNonOperatingLossCarryforwardsTableTextBlock_zICUdGIqjP7f" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B0_zYj08sqpz05a" style="display: none"&gt;SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 50%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: right"&gt;Loss&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: right"&gt;2030&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--OperatingLossCarryforwards_iI_c20231231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyTaxYearMember_z9Vtagg8HGW2" style="width: 16%; text-align: right" title="Total"&gt;407,947&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: right"&gt;2031&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--OperatingLossCarryforwards_iI_c20231231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyOneYearMember_zsXfzMPi8jKk" style="text-align: right" title="Total"&gt;941,856&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: right"&gt;2032&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--OperatingLossCarryforwards_iI_c20231231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyTwoYearMember_zPE6KGlso7xc" style="text-align: right" title="Total"&gt;615,878&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: right"&gt;2037&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--OperatingLossCarryforwards_iI_c20231231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtySevenYearMember_zSCfVs98lyoe" style="text-align: right" title="Total"&gt;1,692,555&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: right"&gt;2039&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--OperatingLossCarryforwards_iI_c20231231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyNineYearMember_zaXSPK4Gqcv2" style="text-align: right" title="Total"&gt;48,048&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: right; padding-bottom: 1.5pt"&gt;2040&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--OperatingLossCarryforwards_iI_c20231231__us-gaap--TaxPeriodAxis__custom--TwoThousandFourtyYearMember_zbPc3PtPXGV2" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total"&gt;11,871&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: center; padding-bottom: 1.5pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--OperatingLossCarryforwards_iI_c20231231_zgwwiDN33yM4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total"&gt;3,718,155&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AE_zIoh2CPHaob6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;As
at December 31, 2023, the Company has no net operating loss carryforwards available for US tax purposes.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="text-decoration: underline"&gt;Accounting
for Uncertainty for Income Tax&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;As at December 31, 2023 and 2022, the Company&#x2019;s consolidated balance
sheets did not reflect an asset for uncertain tax positions but did account for accrued penalties or interest associated with income taxes
not yet filed. The Company has no income tax examinations in progress.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001288">&lt;p id="xdx_895_eus-gaap--ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_znp2yuY0c5w9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
provision for income tax expense (benefit) is comprised of the following:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B4_zcJ3MF1W82dl" style="display: none"&gt;SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT)&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_498_20230101__20231231_z0vwBGxN8orj" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49B_20220101__20221231_zVn45fy6voPe" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--CurrentFederalTaxExpenseBenefit_maCITEBzvlG_zwcXaZXSE04l" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Current tax, federal&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;753,683&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;1,017,059&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--CurrentStateAndLocalTaxExpenseBenefit_maCITEBzvlG_z2bLX1rTSCNh" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Current tax, state&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;340,952&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;460,098&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--CurrentForeignTaxExpenseBenefit_maCITEBzvlG_ziOkgrSdUhG5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Current tax, foreign&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;151,236&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;216,082&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_ecustom--CurrentTax_iT_pp0p0_mtCITEBzvlG_maCITEBzPIr_zs0SlM9leVdj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Current tax&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,245,871&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,693,239&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_ecustom--IncomeTaxRecovery_iN_pp0p0_di_msCITEBzPIr_zXS7tpvFRl26" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Income tax recovery&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(1,127,689&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(1,476,088&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--CurrentIncomeTaxExpenseBenefit_iT_mtCITEBzPIr_maITEBz5Oq_z7O8oqZeofw9" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Current tax, total&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;118,182&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;217,151&lt;/td&gt;&lt;td style="text-align: left"&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 style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--DeferredFederalIncomeTaxExpenseBenefit_maDITEBzP63_zi4o3dgIdpFa" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Deferred income tax, federal&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(172,763&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(49,088&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--DeferredStateAndLocalIncomeTaxExpenseBenefit_maDITEBzP63_zLOmSjE0BWE1" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Deferred income tax, state&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(78,154&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(22,207&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--DeferredForeignIncomeTaxExpenseBenefit_maDITEBzP63_zj0t4MfXLkK" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Deferred income tax, foreign&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1314"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1315"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--DeferredIncomeTaxExpenseBenefit_iT_pp0p0_mtDITEBzP63_maITEBz5Oq_z3sjKsO8DmDa" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Deferred income tax, total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(250,917&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(71,295&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--IncomeTaxExpenseBenefit_iT_pp0p0_mtITEBz5Oq_zusEQq4RKT01" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;(132,735&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;145,856&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001290"
      unitRef="USD">753683</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001291"
      unitRef="USD">1017059</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001293"
      unitRef="USD">340952</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001294"
      unitRef="USD">460098</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001296"
      unitRef="USD">151236</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001297"
      unitRef="USD">216082</us-gaap:CurrentForeignTaxExpenseBenefit>
    <FSI:CurrentTax
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001299"
      unitRef="USD">1245871</FSI:CurrentTax>
    <FSI:CurrentTax
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001300"
      unitRef="USD">1693239</FSI:CurrentTax>
    <FSI:IncomeTaxRecovery
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001302"
      unitRef="USD">1127689</FSI:IncomeTaxRecovery>
    <FSI:IncomeTaxRecovery
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001303"
      unitRef="USD">1476088</FSI:IncomeTaxRecovery>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001305"
      unitRef="USD">118182</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001306"
      unitRef="USD">217151</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001308"
      unitRef="USD">-172763</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001309"
      unitRef="USD">-49088</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001311"
      unitRef="USD">-78154</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001312"
      unitRef="USD">-22207</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001317"
      unitRef="USD">-250917</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001318"
      unitRef="USD">-71295</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001320"
      unitRef="USD">-132735</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001321"
      unitRef="USD">145856</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001323">&lt;p id="xdx_897_eus-gaap--ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_zX0242aJu7S7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table reconciles the income tax expense at the U.S. Federal statutory rate to income tax expense at the Company&#x2019;s effective
tax rates.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; color: red"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B4_zdAA34rfyLK" style="display: none"&gt;SCHEDULE OF RECONCILIATION OF INCOME TAXES&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="color: red"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49B_20230101__20231231_zVaamDwkn4ik" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_499_20220101__20221231_zqT8qlAhRhSg" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_zSVvkqA84LK4" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; color: black; text-align: left"&gt;Income before tax&lt;/td&gt;&lt;td style="width: 2%; color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; color: black; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; color: black; text-align: right"&gt;3,623,250&lt;/td&gt;&lt;td style="width: 1%; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; color: black; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; color: black; text-align: right"&gt;7,859,085&lt;/td&gt;&lt;td style="width: 1%; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_pid_dp_uPure_zFV2ORC57Qxd" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="color: black; text-align: left; padding-bottom: 1.5pt"&gt;US statutory tax rates&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: right"&gt;30.50&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;%&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: right"&gt;30.50&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_ecustom--ExpectedIncomeTaxRecovery_zaXM1BMsKeZd" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="color: black; text-align: left"&gt;Expected income tax&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: right"&gt;1,105,091&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: right"&gt;2,397,021&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--IncomeTaxReconciliationNondeductibleExpense_i_pp0p0" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="color: black; text-align: left"&gt;Non-deductible items&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: right"&gt;362,554&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: right"&gt;(243,167&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--IncomeTaxReconciliationOtherAdjustments_i_pp0p0" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="color: black; text-align: left"&gt;Change in estimates and other&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: right"&gt;(1,585,427&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;)&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: right"&gt;(2,004,041&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--IncomeTaxReconciliationForeignIncomeTaxRateDifferential_i_pp0p0" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="color: black; text-align: left"&gt;Foreign tax rate difference&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: right"&gt;(92,379&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;)&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: right"&gt;(226,611&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_i_pp0p0" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="color: black; text-align: left; padding-bottom: 1.5pt"&gt;Change in valuation allowance&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: right"&gt;77,426&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: right"&gt;(222,654&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--IncomeTaxExpenseBenefit_i_pp0p0" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="color: black; text-align: left; padding-bottom: 1.5pt"&gt;Total income taxes&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: right"&gt;(132,735&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;)&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: right"&gt;145,856&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="color: red"&gt;&#160;&lt;/td&gt;&lt;td style="color: red"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: red; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: red; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="color: red; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--CurrentIncomeTaxExpenseBenefit_zgkA0EFkCoqk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="color: black; text-align: left"&gt;Current income tax expense&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: right"&gt;118,182&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: right"&gt;217,151&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--DeferredIncomeTaxExpenseBenefit_zRyMB2ui9Jt5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="color: black; text-align: left; padding-bottom: 1.5pt"&gt;Deferred tax recovery&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: right"&gt;(250,917&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;)&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: right"&gt;(71,295&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--IncomeTaxExpenseBenefit_zcy3LjuqRCNb" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="color: black; text-align: left; padding-bottom: 1.5pt"&gt;Total income tax expense (recovery)&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: right"&gt;(132,735&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;)&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: right"&gt;145,856&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001325"
      unitRef="USD">3623250</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001326"
      unitRef="USD">7859085</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="Fact001328"
      unitRef="Pure">0.3050</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="Fact001329"
      unitRef="Pure">0.3050</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <FSI:ExpectedIncomeTaxRecovery
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001331"
      unitRef="USD">1105091</FSI:ExpectedIncomeTaxRecovery>
    <FSI:ExpectedIncomeTaxRecovery
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001332"
      unitRef="USD">2397021</FSI:ExpectedIncomeTaxRecovery>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpense
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001334"
      unitRef="USD">362554</us-gaap:IncomeTaxReconciliationNondeductibleExpense>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpense
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001335"
      unitRef="USD">-243167</us-gaap:IncomeTaxReconciliationNondeductibleExpense>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001337"
      unitRef="USD">-1585427</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001338"
      unitRef="USD">-2004041</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001340"
      unitRef="USD">-92379</us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001341"
      unitRef="USD">-226611</us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001343"
      unitRef="USD">77426</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001344"
      unitRef="USD">-222654</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001346"
      unitRef="USD">-132735</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001347"
      unitRef="USD">145856</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001349"
      unitRef="USD">118182</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001350"
      unitRef="USD">217151</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001352"
      unitRef="USD">-250917</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001353"
      unitRef="USD">-71295</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001355"
      unitRef="USD">-132735</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001356"
      unitRef="USD">145856</us-gaap:IncomeTaxExpenseBenefit>
    <FSI:IncomeTaxRecovery
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001358"
      unitRef="USD">1127689</FSI:IncomeTaxRecovery>
    <FSI:IncomeTaxRecovery
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001360"
      unitRef="USD">1476088</FSI:IncomeTaxRecovery>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001362">&lt;p id="xdx_895_eus-gaap--ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_zuRx1qHwucRa" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Deferred
taxes reflect the tax effects of temporary differences between the carrying amounts of assets and liabilities for financial reporting
purposes. Deferred tax assets (liabilities) at December 31, 2023 and 2022 are comprised of the following:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B3_zODjV05YqsU6" style="display: none"&gt;SCHEDULE OF DEFERRED TAX ASSETS (LIABILITIES)&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="color: black"&gt;Canada&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; width: 60%; color: black; text-align: left"&gt;Non capital loss carryforwards&lt;/td&gt;&lt;td style="width: 2%; color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; color: black; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_iI_pp0p0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zXRGeL9UGiO3" style="width: 16%; color: black; text-align: right" title="Non capital loss carryforwards"&gt;855,176&lt;/td&gt;&lt;td style="width: 1%; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; color: black; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_iI_pp0p0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zLHWtCk27G95" style="width: 16%; color: black; text-align: right" title="Non capital loss carryforwards"&gt;891,954&lt;/td&gt;&lt;td style="width: 1%; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; color: black; text-align: left"&gt;Intangible assets&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--DeferredTaxAssetsGoodwillAndIntangibleAssets_iI_pp0p0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_za8pVqvYUWXa" style="color: black; text-align: right" title="Intangible assets"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1368"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--DeferredTaxAssetsGoodwillAndIntangibleAssets_iI_pp0p0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zV0uFYptlw4j" style="color: black; text-align: right" title="Intangible assets"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1370"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; color: black; text-align: left; padding-bottom: 1.5pt"&gt;Property, equipment and leaseholds&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipment_iI_pp0p0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zdGNjqDKz5X1" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Property, equipment and leaseholds"&gt;30,916&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipment_iI_pp0p0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zDu7tLZuNJhk" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Property, equipment and leaseholds"&gt;47,279&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="color: black"&gt;&#160;&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--DeferredTaxAssetsGross_iI_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zf17Jnh3wPcl" style="color: black; text-align: right" title="Deferred tax assets gross"&gt;886,092&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--DeferredTaxAssetsGross_iI_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zc3kF18Pgkc5" style="color: black; text-align: right" title="Deferred tax assets gross"&gt;939,233&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; color: black; text-align: left; padding-bottom: 1.5pt"&gt;Valuation allowance&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--DeferredTaxAssetsValuationAllowance_iNI_pp0p0_di_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zRzDS3LjDmIf" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Valuation Allowance"&gt;(886,092&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;)&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--DeferredTaxAssetsValuationAllowance_iNI_pp0p0_di_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zG4vHB20Ze9i" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Valuation Allowance"&gt;(939,233&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; color: black; text-align: left; padding-bottom: 1.5pt"&gt;Net deferred tax asset&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--DeferredTaxAssetsNet_iI_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_z7PbWzPSzogh" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Net deferred tax asset"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1384"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--DeferredTaxAssetsNet_iI_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zovlEcYdq5z2" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Net deferred tax asset"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1386"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="color: black"&gt;&#160;&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="color: black"&gt;US&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: right"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: right"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; color: black; text-align: left"&gt;Net operating loss carryforwards&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_iI_pdp0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zuA6HUy4Vb12" style="color: black; text-align: right" title="Net operating loss carryforwards"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1388"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_iI_pdp0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zVr3cPcNwvg1" style="color: black; text-align: right" title="Net operating loss carryforwards"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1390"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; color: black; text-align: left"&gt;Intangible assets&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--DeferredTaxAssetsGoodwillAndIntangibleAssets_iI_pdp0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zV5lJBysEuz3" style="color: black; text-align: right" title="Intangible assets"&gt;(11,346&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;)&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--DeferredTaxAssetsGoodwillAndIntangibleAssets_iI_pdp0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zmbpG8GkacWk" style="color: black; text-align: right" title="Intangible assets"&gt;(6,070&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; color: black"&gt;Investments&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--DeferredTaxAssetsInvestments_iNI_pp0p0_di_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zNIWHhTsXF7i" style="color: black; text-align: right" title="Investments"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1396"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--DeferredTaxAssetsInvestments_iNI_pp0p0_di_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zRwfs6y0HLwa" style="color: black; text-align: right" title="Investments"&gt;(7,676&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; color: black; text-align: left"&gt;Property, equipment and leaseholds&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipmentOne_iNI_pp0p0_di_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zE7sPkrTeKx" style="color: black; text-align: right" title="Property, equipment and leaseholds"&gt;(248,701&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;)&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipmentOne_iNI_pp0p0_di_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zd83pEvMGMla" style="color: black; text-align: right" title="Property, equipment and leaseholds"&gt;(486,713&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; color: black; text-align: left"&gt;Property, equipment and leaseholds&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipment_iI_pp0p0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zI5Xx0JzKdId" style="color: black; text-align: right" title="Property, equipment and leaseholds"&gt;284,794&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipment_iI_pp0p0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zS4ucoxqPHVj" style="color: black; text-align: right" title="Property, equipment and leaseholds"&gt;274,289&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; color: black; text-align: left"&gt;Financial instruments&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--DeferredTaxAssetsDerivativeInstruments_iI_pp0p0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zjVnoDATpoxd" style="color: black; text-align: right" title="Financial instruments"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1408"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black"&gt;&#160;&lt;/td&gt;
    &lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--DeferredTaxAssetsDerivativeInstruments_iI_pp0p0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zxnPPf0BzkEd" style="color: black; text-align: right" title="Financial instruments"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1410"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; color: black; text-align: left; padding-bottom: 1.5pt"&gt;Deferred tax asset not recognized&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_ecustom--DeferredTaxAssetNotRecognized_iI_pp0p0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zNQKy6UUk0J5" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Deferred tax asset not recognized"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1412"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_ecustom--DeferredTaxAssetNotRecognized_iI_pp0p0_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zhayezuX0C63" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Deferred tax asset not recognized"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1414"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; color: black; text-align: left; padding-bottom: 1.5pt"&gt;Net deferred tax asset (liability)&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--DeferredTaxAssetsNet_iI_pp0p0_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zDfFqCEfyGz5" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Net deferred tax asset"&gt;24,747&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="color: black; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--DeferredTaxLiabilities_iNI_pp0p0_di_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--InternalRevenueServiceIRSMember_zXiaKJ85Tsgd" style="border-bottom: Black 1.5pt solid; color: black; text-align: right" title="Net deferred tax liability"&gt;(226,170&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; color: black; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember"
      decimals="0"
      id="Fact001364"
      unitRef="USD">855176</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="AsOf2022-12-31_us-gaap_CanadaRevenueAgencyMember"
      decimals="0"
      id="Fact001366"
      unitRef="USD">891954</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <FSI:DeferredTaxAssetsPropertyPlantsAndEquipment
      contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember"
      decimals="0"
      id="Fact001372"
      unitRef="USD">30916</FSI:DeferredTaxAssetsPropertyPlantsAndEquipment>
    <FSI:DeferredTaxAssetsPropertyPlantsAndEquipment
      contextRef="AsOf2022-12-31_us-gaap_CanadaRevenueAgencyMember"
      decimals="0"
      id="Fact001374"
      unitRef="USD">47279</FSI:DeferredTaxAssetsPropertyPlantsAndEquipment>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember"
      decimals="0"
      id="Fact001376"
      unitRef="USD">886092</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="AsOf2022-12-31_us-gaap_CanadaRevenueAgencyMember"
      decimals="0"
      id="Fact001378"
      unitRef="USD">939233</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember"
      decimals="0"
      id="Fact001380"
      unitRef="USD">886092</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="AsOf2022-12-31_us-gaap_CanadaRevenueAgencyMember"
      decimals="0"
      id="Fact001382"
      unitRef="USD">939233</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets
      contextRef="AsOf2023-12-31_us-gaap_InternalRevenueServiceIRSMember"
      decimals="0"
      id="Fact001392"
      unitRef="USD">-11346</us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets>
    <us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets
      contextRef="AsOf2022-12-31_us-gaap_InternalRevenueServiceIRSMember"
      decimals="0"
      id="Fact001394"
      unitRef="USD">-6070</us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets>
    <us-gaap:DeferredTaxAssetsInvestments
      contextRef="AsOf2022-12-31_us-gaap_InternalRevenueServiceIRSMember"
      decimals="0"
      id="Fact001398"
      unitRef="USD">7676</us-gaap:DeferredTaxAssetsInvestments>
    <FSI:DeferredTaxAssetsPropertyPlantsAndEquipmentOne
      contextRef="AsOf2023-12-31_us-gaap_InternalRevenueServiceIRSMember"
      decimals="0"
      id="Fact001400"
      unitRef="USD">248701</FSI:DeferredTaxAssetsPropertyPlantsAndEquipmentOne>
    <FSI:DeferredTaxAssetsPropertyPlantsAndEquipmentOne
      contextRef="AsOf2022-12-31_us-gaap_InternalRevenueServiceIRSMember"
      decimals="0"
      id="Fact001402"
      unitRef="USD">486713</FSI:DeferredTaxAssetsPropertyPlantsAndEquipmentOne>
    <FSI:DeferredTaxAssetsPropertyPlantsAndEquipment
      contextRef="AsOf2023-12-31_us-gaap_InternalRevenueServiceIRSMember"
      decimals="0"
      id="Fact001404"
      unitRef="USD">284794</FSI:DeferredTaxAssetsPropertyPlantsAndEquipment>
    <FSI:DeferredTaxAssetsPropertyPlantsAndEquipment
      contextRef="AsOf2022-12-31_us-gaap_InternalRevenueServiceIRSMember"
      decimals="0"
      id="Fact001406"
      unitRef="USD">274289</FSI:DeferredTaxAssetsPropertyPlantsAndEquipment>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="AsOf2023-12-31_us-gaap_InternalRevenueServiceIRSMember"
      decimals="0"
      id="Fact001416"
      unitRef="USD">24747</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxLiabilities
      contextRef="AsOf2022-12-31_us-gaap_InternalRevenueServiceIRSMember"
      decimals="0"
      id="Fact001418"
      unitRef="USD">226170</us-gaap:DeferredTaxLiabilities>
    <us-gaap:OperatingLossCarryforwards
      contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember"
      decimals="0"
      id="Fact001420"
      unitRef="USD">3718155</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="AsOf2022-12-31_us-gaap_CanadaRevenueAgencyMember"
      decimals="0"
      id="Fact001422"
      unitRef="USD">3878060</us-gaap:OperatingLossCarryforwards>
    <FSI:ScheduleOfNonOperatingLossCarryforwardsTableTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001424">&lt;p id="xdx_89B_ecustom--ScheduleOfNonOperatingLossCarryforwardsTableTextBlock_zICUdGIqjP7f" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B0_zYj08sqpz05a" style="display: none"&gt;SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 50%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: right"&gt;Loss&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: right"&gt;2030&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--OperatingLossCarryforwards_iI_c20231231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyTaxYearMember_z9Vtagg8HGW2" style="width: 16%; text-align: right" title="Total"&gt;407,947&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: right"&gt;2031&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--OperatingLossCarryforwards_iI_c20231231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyOneYearMember_zsXfzMPi8jKk" style="text-align: right" title="Total"&gt;941,856&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: right"&gt;2032&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--OperatingLossCarryforwards_iI_c20231231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyTwoYearMember_zPE6KGlso7xc" style="text-align: right" title="Total"&gt;615,878&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: right"&gt;2037&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--OperatingLossCarryforwards_iI_c20231231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtySevenYearMember_zSCfVs98lyoe" style="text-align: right" title="Total"&gt;1,692,555&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: right"&gt;2039&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--OperatingLossCarryforwards_iI_c20231231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyNineYearMember_zaXSPK4Gqcv2" style="text-align: right" title="Total"&gt;48,048&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: right; padding-bottom: 1.5pt"&gt;2040&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--OperatingLossCarryforwards_iI_c20231231__us-gaap--TaxPeriodAxis__custom--TwoThousandFourtyYearMember_zbPc3PtPXGV2" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total"&gt;11,871&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: center; padding-bottom: 1.5pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--OperatingLossCarryforwards_iI_c20231231_zgwwiDN33yM4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total"&gt;3,718,155&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</FSI:ScheduleOfNonOperatingLossCarryforwardsTableTextBlock>
    <us-gaap:OperatingLossCarryforwards
      contextRef="AsOf2023-12-31_custom_TwoThousandThirtyTaxYearMember"
      decimals="0"
      id="Fact001426"
      unitRef="USD">407947</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="AsOf2023-12-31_custom_TwoThousandThirtyOneYearMember"
      decimals="0"
      id="Fact001428"
      unitRef="USD">941856</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="AsOf2023-12-31_custom_TwoThousandThirtyTwoYearMember"
      decimals="0"
      id="Fact001430"
      unitRef="USD">615878</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="AsOf2023-12-31_custom_TwoThousandThirtySevenYearMember"
      decimals="0"
      id="Fact001432"
      unitRef="USD">1692555</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="AsOf2023-12-31_custom_TwoThousandThirtyNineYearMember"
      decimals="0"
      id="Fact001434"
      unitRef="USD">48048</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="AsOf2023-12-31_custom_TwoThousandFourtyYearMember"
      decimals="0"
      id="Fact001436"
      unitRef="USD">11871</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001438"
      unitRef="USD">3718155</us-gaap:OperatingLossCarryforwards>
    <us-gaap:EarningsPerShareTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001440">&lt;p id="xdx_808_eus-gaap--EarningsPerShareTextBlock_ziDKEgAfhVfi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;14.
&lt;span id="xdx_82D_z1eowYXS6bCj"&gt;INCOME PER SHARE&lt;/span&gt; &lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_896_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zG7NyYScyDV" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 35.3pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company presents both basic and diluted income per share on the face of its consolidated statements of income. Basic and diluted income
per share are calculated as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 35.3pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BD_zPPG2ZFXsC1i" style="display: none"&gt;SCHEDULE OF BASIC AND DILUTED LOSS PER SHARE&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_491_20230101__20231231_zHt17frmXL12" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20220101__20221231_zvDJZqAkPVMk" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&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 colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--NetIncomeLoss_i_pp0p0" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Net income attributable to controlling interest&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;2,775,864&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;7,021,604&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Weighted average common shares outstanding:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_pid_zZqo7BFqzTGk" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;Basic&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;12,434,886&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;12,379,316&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_pid_zSfaMxIZ09V8" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Diluted&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;12,489,467&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;12,466,415&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Net income per common share attributable to controlling interest:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--EarningsPerShareBasic_zDc6xc7ms4Ra" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Basic&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;0.22&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;0.57&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--EarningsPerShareDiluted_z7guU2MzeMOc" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 1.5pt"&gt;Diluted&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;0.22&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;0.56&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A3_zBSgbnNAI5W8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Certain
stock options whose terms and conditions are described in Note 15, &#x201c;Stock Options&#x201d; could potentially dilute basic EPS in
the future, but were not included in the computation of diluted EPS because to do so would have been anti-dilutive. Those anti-dilutive
options are as follows.&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_890_eus-gaap--ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_zQvbX5UKcTtc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BD_znbh1KPoDwN9" style="display: none"&gt;SCHEDULE OF ANTI-DILUTIVE OPTIONS&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49E_20230101__20231231_zBzY3f4LgpT2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_498_20220101__20221231_zPCPCMDHkd2i" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 60%"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_i_pdd" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Anti-dilutive options&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;740,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;1,304,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A7_zHnWaPe8NV49" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;There
were &lt;span id="xdx_90B_eus-gaap--PreferredStockSharesIssued_iI_pid_do_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zkxUHCJLvYzk" title="Preferred stock, shares issued"&gt;&lt;span id="xdx_90A_eus-gaap--PreferredStockSharesOutstanding_iI_pid_do_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zQseBQCkbh2g" title="Preferred stock, shares outstanding"&gt;&lt;span id="xdx_90B_eus-gaap--PreferredStockSharesIssued_iI_pid_do_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zuzlwdpQ2Nu1" title="Preferred stock, shares issued"&gt;&lt;span id="xdx_909_eus-gaap--PreferredStockSharesOutstanding_iI_pid_do_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zN7RVgLYBys5" title="Preferred stock, shares outstanding"&gt;no&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; preferred shares issued and outstanding during the years ended December 31, 2023 and 2022.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001442">&lt;p id="xdx_896_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zG7NyYScyDV" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 35.3pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company presents both basic and diluted income per share on the face of its consolidated statements of income. Basic and diluted income
per share are calculated as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 35.3pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BD_zPPG2ZFXsC1i" style="display: none"&gt;SCHEDULE OF BASIC AND DILUTED LOSS PER SHARE&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_491_20230101__20231231_zHt17frmXL12" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20220101__20221231_zvDJZqAkPVMk" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&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 colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--NetIncomeLoss_i_pp0p0" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Net income attributable to controlling interest&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;2,775,864&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;7,021,604&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Weighted average common shares outstanding:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_pid_zZqo7BFqzTGk" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;Basic&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;12,434,886&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;12,379,316&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_pid_zSfaMxIZ09V8" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Diluted&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;12,489,467&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;12,466,415&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Net income per common share attributable to controlling interest:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--EarningsPerShareBasic_zDc6xc7ms4Ra" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Basic&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;0.22&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;0.57&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--EarningsPerShareDiluted_z7guU2MzeMOc" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 1.5pt"&gt;Diluted&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;0.22&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;0.56&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001444"
      unitRef="USD">2775864</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001445"
      unitRef="USD">7021604</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="Fact001447"
      unitRef="Shares">12434886</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="Fact001448"
      unitRef="Shares">12379316</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="Fact001450"
      unitRef="Shares">12489467</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="Fact001451"
      unitRef="Shares">12466415</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="Fact001453"
      unitRef="USDPShares">0.22</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="Fact001454"
      unitRef="USDPShares">0.57</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="Fact001456"
      unitRef="USDPShares">0.22</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="Fact001457"
      unitRef="USDPShares">0.56</us-gaap:EarningsPerShareDiluted>
    <us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001459">&lt;p id="xdx_890_eus-gaap--ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_zQvbX5UKcTtc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BD_znbh1KPoDwN9" style="display: none"&gt;SCHEDULE OF ANTI-DILUTIVE OPTIONS&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49E_20230101__20231231_zBzY3f4LgpT2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_498_20220101__20221231_zPCPCMDHkd2i" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 60%"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_i_pdd" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Anti-dilutive options&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;740,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;1,304,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="Fact001461"
      unitRef="Shares">740000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="Fact001462"
      unitRef="Shares">1304000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember"
      decimals="INF"
      id="Fact001464"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember"
      decimals="INF"
      id="Fact001466"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2022-12-31_us-gaap_CanadaRevenueAgencyMember"
      decimals="INF"
      id="Fact001468"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2022-12-31_us-gaap_CanadaRevenueAgencyMember"
      decimals="INF"
      id="Fact001470"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001472">&lt;p id="xdx_80D_eus-gaap--DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_zGAw2trAFNk6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;15.
&lt;span id="xdx_82D_zIlMfXtpQ0V9"&gt;STOCK OPTIONS&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company has a stock option plan (&#x201c;Plan&#x201d;). The purpose of this Plan is to provide additional incentives to key employees,
officers, directors and consultants of the Company and its subsidiaries in order to help attract and retain the best available personnel
for positions of responsibility and otherwise promote the success of the Company&#x2019;s business. It is intended that options issued
under this Plan constitute non-qualified stock options. The general terms of awards under the option plan are that &lt;span id="xdx_909_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_pid_dp_uPure_c20230101__20231231_zZbb3MnAdQH9" title="Options granted percentage"&gt;100&lt;/span&gt;% of the options
granted will vest the year following the grant unless a executive employee is granted a multi-year stock option grant where an equal
amount vests over the next &lt;span id="xdx_90C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_dtY_c20230101__20231231_z4J4ZjSzUhl1" title="Vested term"&gt;5&lt;/span&gt; years. The maximum term of options granted is &lt;span id="xdx_905_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_dtY_c20230101__20231231_zWyOLykUis2f" title="Options maximum granted term"&gt;5&lt;/span&gt; years and the exercise price for all options are issued
for not less than fair market value at the date of the grant.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_895_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_z3jDVfiVt1be" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table summarizes the Company&#x2019;s stock option activities for the years ended December 31, 2023 and 2022:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B6_zAxzstzN5Czb" style="display: none"&gt;SCHEDULE OF STOCK OPTION ACTIVITIES&lt;/span&gt;&lt;/p&gt;


&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-size: 12pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;&lt;p style="margin: 0pt"&gt;Number of&lt;/p&gt;
                                                                                &lt;p style="margin: 0pt"&gt;shares&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Exercise &lt;br/&gt;price per share&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Weighted &lt;br/&gt;average &lt;br/&gt;exercise price&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-size: 12pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 12pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 12pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 12pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 12pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 12pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 12pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 12pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 12pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 12pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%"&gt;Balance, December 31, 2021&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20220101__20221231_zgZBkQBt6ZFe" style="width: 14%; text-align: right" title="Number of shares, Beginning Balance"&gt;789,500&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;&lt;span style="font-size: 10pt"&gt; &lt;span id="xdx_904_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zlbqUJx73vad" title="Exercise price per share, Beginning Balance"&gt;1.42&lt;/span&gt; &#x2013; &lt;span id="xdx_90C_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zPREWe00dhz9" title="Exercise price per share, Beginning Balance"&gt;4.13&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20220101__20221231_zujLCMriWRub" style="width: 14%; text-align: right" title="Weighted average exercise price, Beginning Balance"&gt;2.78&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Granted&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20220101__20221231_zkBrtwfyHU27" style="text-align: right" title="Number of shares, Granted"&gt;981,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span id="xdx_908_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zUiZeTp2GvOe" title="Exercise price per share, Granted"&gt;3.55&lt;/span&gt; &#x2013; &lt;span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zs9BvQEm3Dhf" title="Exercise price per share, Granted"&gt;3.61&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220101__20221231_zEDEISGelfh8" style="text-align: right" title="Weighted average exercise price, Granted"&gt;3.55&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Cancelled or expired&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_pid_di_c20220101__20221231_zQEJsDyOvzUe" style="text-align: right" title="Number of shares, Cancelled or expired"&gt;(13,486&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span id="xdx_90F_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zmAKBPENpqvh" title="Exercise price per share, Cancelled"&gt;1.70&lt;/span&gt; &#x2013; &lt;span id="xdx_90E_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zIbWzooVznr3" title="Exercise price per share, Cancelled"&gt;3.61&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20220101__20221231_zoZWoSJzJvea" style="text-align: right" title="Weighted average exercise price, Cancelled or expired"&gt;2.32&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Exercised&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20220101__20221231_zRsyChNJxmI1" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares, Exercised"&gt;(71,014&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span id="xdx_906_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_z4aOf7fluPw9" title="Exercise price per share, Exercised"&gt;1.42&lt;/span&gt; &#x2013; &lt;span id="xdx_902_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zDiKb9d2loCk" title="Exercise price per share, Exercised"&gt;2.44&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20220101__20221231_zLTmUld9uxi7" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted average exercise price, Exercised"&gt;1.98&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Balance, December 31, 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_905_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20230101__20231231_zAz28w48DXal" title="Number of shares, Beginning Balance"&gt;1,686,000&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span id="xdx_907_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_pid_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_zE5lTgF95Q9" title="Exercise price per share, Beginning Balance"&gt;1.70&lt;/span&gt; &#x2013; &lt;span id="xdx_906_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_pid_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zUa1b6iTY83e" title="Exercise price per share, Beginning Balance"&gt;4.13&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20230101__20231231_z5XuehN2nK62" title="Weighted average exercise price, Beginning Balance"&gt;3.26&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Cancelled or expired&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_pid_di_c20230101__20231231_zBRf4Udw7241" style="text-align: right" title="Number of shares, Cancelled or expired"&gt;(564,000&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_zcIYOaqyUYs3" title="Exercise price per share, Cancelled or expired"&gt;3.46&lt;/span&gt; &#x2013; &lt;span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zPdgdCffuco6" title="Exercise price per share, Cancelled or expired"&gt;4.13&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20230101__20231231_zKVW2OK6GBvd" style="text-align: right" title="Weighted average exercise price, Cancelled or expired"&gt;3.55&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Exercised&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20230101__20231231_znq7Eo1oj6n8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares, Exercised"&gt;(8,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span id="xdx_90D_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20230101__20231231_zBFkHutqx0M1" title="Exercise price per share, Exercised"&gt;1.70&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20230101__20231231_zhZOQgILXPpe" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted average exercise price, Exercised"&gt;1.70&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Balance, December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span id="xdx_90A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_pid_c20230101__20231231_zNHRmnI8RAAa" title="Number of shares Exercisable, Ending Balance"&gt;1,114,000&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_znGuGmy3A8of" title="Exercise price per share, Ending Balance"&gt;1.75&lt;/span&gt; &#x2013; &lt;span id="xdx_90F_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zlwkxpLMzCtb" title="Exercise price per share, Ending Balance"&gt;3.61&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20230101__20231231_zsyrRQjJI9zd" title="Weighted average exercise price, Ending Balance"&gt;3.13&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Exercisable, December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_pid_c20230101__20231231_z8Ke9jIluI97" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares Exercisable, Ending Balance"&gt;754,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span id="xdx_909_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_zqClI5NjvhUj" title="Exercise price per share Exercisable, Ending Balance"&gt;1.75&lt;/span&gt;
&#x2013; &lt;span id="xdx_908_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zu6XjxVUBgq7" title="Exercise price per share Exercisable, Ending Balance"&gt;3.61&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_c20230101__20231231_z7GfcUcC6vwg" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted average exercise price, Exercisable, Ending Balance"&gt;2.93&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AF_z5nLcIZG575e" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
weighted-average remaining contractual life of outstanding options is &lt;span id="xdx_905_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231_zVS4jXOCAS8g" title="Weighted-average remaining contractual life"&gt;2.90&lt;/span&gt; years.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_892_eus-gaap--ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_zi10yAD4o8T9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
fair value of each option grant is calculated using the following weighted average assumptions:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B3_zPxe6RWCJlSd" style="display: none"&gt;SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS&lt;/span&gt;&lt;/p&gt;


&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 85%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-size: 12pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: left"&gt;Expected life &#x2013; years&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;&lt;span id="xdx_907_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20220101__20221231_zAGUb7dMLRwi" title="Expected life - years"&gt;3.0&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Interest rate&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span id="xdx_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zUrNVn9K22nf" title="Interest rate"&gt;1.76&lt;/span&gt; &#x2013; &lt;span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_z2apJgicLEab" title="Interest rate"&gt;3.64&lt;/span&gt; &lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Volatility&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_z8dJ1GuzjDY1" title="Volatility"&gt;66.01&lt;/span&gt; - &lt;span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zfMjRaMLDRXk" title="Volatility"&gt;69.66&lt;/span&gt; &lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Weighted average fair value of options granted&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-size: 10pt"&gt; &lt;span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zjCKEQ00P5Lg" title="Weighted average fair value of options granted"&gt;1.46&lt;/span&gt; &#x2013; &lt;span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zNobaYpunYHh" title="Weighted average fair value of options granted"&gt;1.65&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A1_z4cZW9cS3189" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the year ended December 31, 2023, the Company granted &lt;span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_dxL_c20230101__20231231__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zgAPLpKR2fq7" title="Stock options granted::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1570"&gt;nil&lt;/span&gt;&lt;/span&gt; (2022 &#x2013; &lt;span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20220101__20221231__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zZLElZSmmHod" title="Stock options granted"&gt;46,000&lt;/span&gt;) stock options to consultants and has applied ASC 718
using the Black-Scholes option-pricing model, which resulted in expenses of $&lt;span id="xdx_90B_eus-gaap--StockOptionPlanExpense_dxL_c20230101__20231231__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zVzsJvjjPOea" title="Stock option expense::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1574"&gt;nil&lt;/span&gt;&lt;/span&gt; (2022 - $&lt;span id="xdx_90B_eus-gaap--StockOptionPlanExpense_c20220101__20221231__srt--TitleOfIndividualAxis__custom--ConsultantsMember_znOEW8spDCP1" title="Stock option expense"&gt;14,850&lt;/span&gt;). Options granted in other years resulted
in additional expenses of $&lt;span id="xdx_90A_ecustom--AdditionalExpensesDueToOptionsGranted_c20230101__20231231__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zMlMTKAKnZkk" title="Additional expenses due to options granted"&gt;62,241&lt;/span&gt; (2022 &#x2013; $&lt;span id="xdx_900_ecustom--AdditionalExpensesDueToOptionsGranted_c20220101__20221231__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zNKWiV3g1ML" title="Additional expenses due to options granted"&gt;62,187&lt;/span&gt;). During the year ended December 31, 2023, employees were granted &lt;span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_dxL_c20230101__20231231__srt--TitleOfIndividualAxis__custom--EmployeesMember_zlzjO11s0cF" title="Stock options granted::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1582"&gt;nil&lt;/span&gt;&lt;/span&gt; (2022 &#x2013;
&lt;span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20220101__20221231__srt--TitleOfIndividualAxis__custom--EmployeesMember_zXuH06sSKlB9" title="Stock options granted"&gt;935,000&lt;/span&gt;) stock options, which resulted in expenses of $&lt;span id="xdx_900_eus-gaap--StockOptionPlanExpense_dxL_c20230101__20231231__srt--TitleOfIndividualAxis__custom--EmployeesMember_z6w0Qr8tKbB2" title="Stock option expense::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1586"&gt;nil&lt;/span&gt;&lt;/span&gt; (2022 &#x2013; $&lt;span id="xdx_908_eus-gaap--StockOptionPlanExpense_c20220101__20221231__srt--TitleOfIndividualAxis__custom--EmployeesMember_z80elCAPJex6" title="Stock option expense"&gt;172,731&lt;/span&gt;). Options granted in other years resulted in additional
expenses in the amount of $&lt;span id="xdx_901_ecustom--AdditionalExpensesDueToOptionsGranted_c20230101__20231231__srt--TitleOfIndividualAxis__custom--EmployeesMember_zpRWPwi5pkEh" title="Additional expenses due to options granted"&gt;328,769&lt;/span&gt; for employees during the year ended December 31, 2023 (2022 - $&lt;span id="xdx_908_ecustom--AdditionalExpensesDueToOptionsGranted_c20220101__20221231__srt--TitleOfIndividualAxis__custom--EmployeesMember_z8AKXjQjI7W6" title="Additional expenses due to options granted"&gt;149,380&lt;/span&gt;). There were &lt;span id="xdx_905_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20230101__20231231__srt--TitleOfIndividualAxis__custom--EmployeesMember_z1jOhKRLx8Td" title="Stock options exercised"&gt;8,000&lt;/span&gt; employee
and &lt;span id="xdx_902_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_dxL_c20230101__20231231__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zB3cpoaEWnec" title="Stock options exercised::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1596"&gt;nil&lt;/span&gt;&lt;/span&gt; consultant stock options exercised during the year ended December 31, 2023 (2022 &#x2013; &lt;span id="xdx_90E_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20220101__20221231__srt--TitleOfIndividualAxis__custom--EmployeesMember_zhrqVxEMl05k" title="Stock options exercised"&gt;54,500&lt;/span&gt; employee; &lt;span id="xdx_906_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20220101__20221231__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zGZxefTgRwQ3" title="Stock options exercised"&gt;16,514&lt;/span&gt; consultant).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;As
of December 31, 2023, there was approximately $&lt;span id="xdx_900_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_iI_pp0p0_c20231231_z98ab7F3jjM" title="Stock vested compensation non vested"&gt;375,351&lt;/span&gt; of compensation expense related to non-vested awards. This expense is expected
to be recognized over a weighted average period of &lt;span id="xdx_906_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_dtY_c20230101__20231231_z79Q1wpnDrq5" title="Weighted average period expected to be recognized"&gt;2.5&lt;/span&gt; years.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
aggregate intrinsic value of vested options outstanding at December 31, 2023 is $&lt;span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_iI_dxL_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zMSEgMC8RkTj" title="Aggregate intrinsic value of vested options::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1606"&gt;nil&lt;/span&gt;&lt;/span&gt; (2022 &#x2013; $&lt;span id="xdx_90D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_iI_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zjfsn3hjHDK2" title="Aggregate intrinsic value of vested options"&gt;69,190&lt;/span&gt;). The intrinsic value of options
exercised during the year ended December 31, 2023 was $&lt;span id="xdx_902_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_c20230101__20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_z3UDoSWH9vEk" title="Aggregate intrinsic value of vested options exercised"&gt;11,520&lt;/span&gt; (2022 - $&lt;span id="xdx_90C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_c20220101__20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zzy4XSZx8HM8" title="Aggregate intrinsic value of vested options exercised"&gt;96,989&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="Fact001474"
      unitRef="Pure">1</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1 contextRef="From2023-01-01to2023-12-31" id="Fact001476">P5Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod contextRef="From2023-01-01to2023-12-31" id="Fact001478">P5Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001480">&lt;p id="xdx_895_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_z3jDVfiVt1be" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table summarizes the Company&#x2019;s stock option activities for the years ended December 31, 2023 and 2022:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B6_zAxzstzN5Czb" style="display: none"&gt;SCHEDULE OF STOCK OPTION ACTIVITIES&lt;/span&gt;&lt;/p&gt;


&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-size: 12pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;&lt;p style="margin: 0pt"&gt;Number of&lt;/p&gt;
                                                                                &lt;p style="margin: 0pt"&gt;shares&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Exercise &lt;br/&gt;price per share&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Weighted &lt;br/&gt;average &lt;br/&gt;exercise price&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-size: 12pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 12pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 12pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 12pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 12pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 12pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 12pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 12pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 12pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 12pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%"&gt;Balance, December 31, 2021&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20220101__20221231_zgZBkQBt6ZFe" style="width: 14%; text-align: right" title="Number of shares, Beginning Balance"&gt;789,500&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;&lt;span style="font-size: 10pt"&gt; &lt;span id="xdx_904_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zlbqUJx73vad" title="Exercise price per share, Beginning Balance"&gt;1.42&lt;/span&gt; &#x2013; &lt;span id="xdx_90C_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zPREWe00dhz9" title="Exercise price per share, Beginning Balance"&gt;4.13&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20220101__20221231_zujLCMriWRub" style="width: 14%; text-align: right" title="Weighted average exercise price, Beginning Balance"&gt;2.78&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Granted&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20220101__20221231_zkBrtwfyHU27" style="text-align: right" title="Number of shares, Granted"&gt;981,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span id="xdx_908_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zUiZeTp2GvOe" title="Exercise price per share, Granted"&gt;3.55&lt;/span&gt; &#x2013; &lt;span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zs9BvQEm3Dhf" title="Exercise price per share, Granted"&gt;3.61&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220101__20221231_zEDEISGelfh8" style="text-align: right" title="Weighted average exercise price, Granted"&gt;3.55&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Cancelled or expired&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_pid_di_c20220101__20221231_zQEJsDyOvzUe" style="text-align: right" title="Number of shares, Cancelled or expired"&gt;(13,486&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span id="xdx_90F_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zmAKBPENpqvh" title="Exercise price per share, Cancelled"&gt;1.70&lt;/span&gt; &#x2013; &lt;span id="xdx_90E_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zIbWzooVznr3" title="Exercise price per share, Cancelled"&gt;3.61&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20220101__20221231_zoZWoSJzJvea" style="text-align: right" title="Weighted average exercise price, Cancelled or expired"&gt;2.32&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Exercised&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20220101__20221231_zRsyChNJxmI1" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares, Exercised"&gt;(71,014&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span id="xdx_906_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_z4aOf7fluPw9" title="Exercise price per share, Exercised"&gt;1.42&lt;/span&gt; &#x2013; &lt;span id="xdx_902_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zDiKb9d2loCk" title="Exercise price per share, Exercised"&gt;2.44&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20220101__20221231_zLTmUld9uxi7" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted average exercise price, Exercised"&gt;1.98&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Balance, December 31, 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_905_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20230101__20231231_zAz28w48DXal" title="Number of shares, Beginning Balance"&gt;1,686,000&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span id="xdx_907_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_pid_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_zE5lTgF95Q9" title="Exercise price per share, Beginning Balance"&gt;1.70&lt;/span&gt; &#x2013; &lt;span id="xdx_906_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_pid_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zUa1b6iTY83e" title="Exercise price per share, Beginning Balance"&gt;4.13&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20230101__20231231_z5XuehN2nK62" title="Weighted average exercise price, Beginning Balance"&gt;3.26&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Cancelled or expired&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_pid_di_c20230101__20231231_zBRf4Udw7241" style="text-align: right" title="Number of shares, Cancelled or expired"&gt;(564,000&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_zcIYOaqyUYs3" title="Exercise price per share, Cancelled or expired"&gt;3.46&lt;/span&gt; &#x2013; &lt;span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zPdgdCffuco6" title="Exercise price per share, Cancelled or expired"&gt;4.13&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20230101__20231231_zKVW2OK6GBvd" style="text-align: right" title="Weighted average exercise price, Cancelled or expired"&gt;3.55&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Exercised&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20230101__20231231_znq7Eo1oj6n8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares, Exercised"&gt;(8,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span id="xdx_90D_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20230101__20231231_zBFkHutqx0M1" title="Exercise price per share, Exercised"&gt;1.70&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20230101__20231231_zhZOQgILXPpe" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted average exercise price, Exercised"&gt;1.70&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Balance, December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span id="xdx_90A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_pid_c20230101__20231231_zNHRmnI8RAAa" title="Number of shares Exercisable, Ending Balance"&gt;1,114,000&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_znGuGmy3A8of" title="Exercise price per share, Ending Balance"&gt;1.75&lt;/span&gt; &#x2013; &lt;span id="xdx_90F_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zlwkxpLMzCtb" title="Exercise price per share, Ending Balance"&gt;3.61&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20230101__20231231_zsyrRQjJI9zd" title="Weighted average exercise price, Ending Balance"&gt;3.13&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Exercisable, December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_pid_c20230101__20231231_z8Ke9jIluI97" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares Exercisable, Ending Balance"&gt;754,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span id="xdx_909_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_zqClI5NjvhUj" title="Exercise price per share Exercisable, Ending Balance"&gt;1.75&lt;/span&gt;
&#x2013; &lt;span id="xdx_908_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zu6XjxVUBgq7" title="Exercise price per share Exercisable, Ending Balance"&gt;3.61&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_c20230101__20231231_z7GfcUcC6vwg" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted average exercise price, Exercisable, Ending Balance"&gt;2.93&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2021-12-31"
      decimals="INF"
      id="Fact001482"
      unitRef="Shares">789500</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice
      contextRef="AsOf2021-12-31_srt_MinimumMember"
      decimals="INF"
      id="Fact001484"
      unitRef="USDPShares">1.42</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice
      contextRef="AsOf2021-12-31_srt_MaximumMember"
      decimals="INF"
      id="Fact001486"
      unitRef="USDPShares">4.13</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2021-12-31"
      decimals="INF"
      id="Fact001488"
      unitRef="USDPShares">2.78</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="Fact001490"
      unitRef="Shares">981000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice
      contextRef="From2022-01-012022-12-31_srt_MinimumMember"
      decimals="INF"
      id="Fact001492"
      unitRef="USDPShares">3.55</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice
      contextRef="From2022-01-012022-12-31_srt_MaximumMember"
      decimals="INF"
      id="Fact001494"
      unitRef="USDPShares">3.61</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="Fact001496"
      unitRef="USDPShares">3.55</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="Fact001498"
      unitRef="Shares">13486</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice
      contextRef="From2022-01-012022-12-31_srt_MinimumMember"
      decimals="INF"
      id="Fact001500"
      unitRef="USDPShares">1.70</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice
      contextRef="From2022-01-012022-12-31_srt_MaximumMember"
      decimals="INF"
      id="Fact001502"
      unitRef="USDPShares">3.61</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="Fact001504"
      unitRef="USDPShares">2.32</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="Fact001506"
      unitRef="Shares">71014</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice
      contextRef="From2022-01-012022-12-31_srt_MinimumMember"
      decimals="INF"
      id="Fact001508"
      unitRef="USDPShares">1.42</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice
      contextRef="From2022-01-012022-12-31_srt_MaximumMember"
      decimals="INF"
      id="Fact001510"
      unitRef="USDPShares">2.44</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="Fact001512"
      unitRef="USDPShares">1.98</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="Fact001514"
      unitRef="Shares">1686000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice
      contextRef="AsOf2022-12-31_srt_MinimumMember"
      decimals="INF"
      id="Fact001516"
      unitRef="USDPShares">1.70</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice
      contextRef="AsOf2022-12-31_srt_MaximumMember"
      decimals="INF"
      id="Fact001518"
      unitRef="USDPShares">4.13</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="Fact001520"
      unitRef="USDPShares">3.26</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="Fact001522"
      unitRef="Shares">564000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice
      contextRef="From2023-01-012023-12-31_srt_MinimumMember"
      decimals="INF"
      id="Fact001524"
      unitRef="USDPShares">3.46</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice
      contextRef="From2023-01-012023-12-31_srt_MaximumMember"
      decimals="INF"
      id="Fact001526"
      unitRef="USDPShares">4.13</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="Fact001528"
      unitRef="USDPShares">3.55</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="Fact001530"
      unitRef="Shares">8000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="Fact001532"
      unitRef="USDPShares">1.70</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="Fact001534"
      unitRef="USDPShares">1.70</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact001536"
      unitRef="Shares">1114000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice
      contextRef="AsOf2023-12-31_srt_MinimumMember"
      decimals="INF"
      id="Fact001538"
      unitRef="USDPShares">1.75</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice
      contextRef="AsOf2023-12-31_srt_MaximumMember"
      decimals="INF"
      id="Fact001540"
      unitRef="USDPShares">3.61</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact001542"
      unitRef="USDPShares">3.13</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact001544"
      unitRef="Shares">754000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice
      contextRef="AsOf2023-12-31_srt_MinimumMember"
      decimals="INF"
      id="Fact001546"
      unitRef="USDPShares">1.75</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice
      contextRef="AsOf2023-12-31_srt_MaximumMember"
      decimals="INF"
      id="Fact001548"
      unitRef="USDPShares">3.61</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact001550"
      unitRef="USDPShares">2.93</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="From2023-01-01to2023-12-31" id="Fact001552">P2Y10M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001554">&lt;p id="xdx_892_eus-gaap--ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_zi10yAD4o8T9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
fair value of each option grant is calculated using the following weighted average assumptions:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B3_zPxe6RWCJlSd" style="display: none"&gt;SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS&lt;/span&gt;&lt;/p&gt;


&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 85%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-size: 12pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: left"&gt;Expected life &#x2013; years&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;&lt;span id="xdx_907_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20220101__20221231_zAGUb7dMLRwi" title="Expected life - years"&gt;3.0&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Interest rate&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span id="xdx_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zUrNVn9K22nf" title="Interest rate"&gt;1.76&lt;/span&gt; &#x2013; &lt;span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_z2apJgicLEab" title="Interest rate"&gt;3.64&lt;/span&gt; &lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Volatility&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-size: 10pt"&gt;&lt;span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_z8dJ1GuzjDY1" title="Volatility"&gt;66.01&lt;/span&gt; - &lt;span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zfMjRaMLDRXk" title="Volatility"&gt;69.66&lt;/span&gt; &lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Weighted average fair value of options granted&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-size: 10pt"&gt; &lt;span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zjCKEQ00P5Lg" title="Weighted average fair value of options granted"&gt;1.46&lt;/span&gt; &#x2013; &lt;span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zNobaYpunYHh" title="Weighted average fair value of options granted"&gt;1.65&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="From2022-01-012022-12-31" id="Fact001556">P3Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="From2022-01-012022-12-31_srt_MinimumMember"
      decimals="INF"
      id="Fact001558"
      unitRef="Pure">0.0176</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="From2022-01-012022-12-31_srt_MaximumMember"
      decimals="INF"
      id="Fact001560"
      unitRef="Pure">0.0364</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="From2022-01-012022-12-31_srt_MinimumMember"
      decimals="INF"
      id="Fact001562"
      unitRef="Pure">0.6601</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="From2022-01-012022-12-31_srt_MaximumMember"
      decimals="INF"
      id="Fact001564"
      unitRef="Pure">0.6966</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="From2022-01-012022-12-31_srt_MinimumMember"
      decimals="INF"
      id="Fact001566"
      unitRef="USDPShares">1.46</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="From2022-01-012022-12-31_srt_MaximumMember"
      decimals="INF"
      id="Fact001568"
      unitRef="USDPShares">1.65</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2022-01-012022-12-31_custom_ConsultantsMember"
      decimals="INF"
      id="Fact001572"
      unitRef="Shares">46000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:StockOptionPlanExpense
      contextRef="From2022-01-012022-12-31_custom_ConsultantsMember"
      decimals="0"
      id="Fact001576"
      unitRef="USD">14850</us-gaap:StockOptionPlanExpense>
    <FSI:AdditionalExpensesDueToOptionsGranted
      contextRef="From2023-01-012023-12-31_custom_ConsultantsMember"
      decimals="0"
      id="Fact001578"
      unitRef="USD">62241</FSI:AdditionalExpensesDueToOptionsGranted>
    <FSI:AdditionalExpensesDueToOptionsGranted
      contextRef="From2022-01-012022-12-31_custom_ConsultantsMember"
      decimals="0"
      id="Fact001580"
      unitRef="USD">62187</FSI:AdditionalExpensesDueToOptionsGranted>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2022-01-012022-12-31_custom_EmployeesMember"
      decimals="INF"
      id="Fact001584"
      unitRef="Shares">935000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:StockOptionPlanExpense
      contextRef="From2022-01-012022-12-31_custom_EmployeesMember"
      decimals="0"
      id="Fact001588"
      unitRef="USD">172731</us-gaap:StockOptionPlanExpense>
    <FSI:AdditionalExpensesDueToOptionsGranted
      contextRef="From2023-01-012023-12-31_custom_EmployeesMember"
      decimals="0"
      id="Fact001590"
      unitRef="USD">328769</FSI:AdditionalExpensesDueToOptionsGranted>
    <FSI:AdditionalExpensesDueToOptionsGranted
      contextRef="From2022-01-012022-12-31_custom_EmployeesMember"
      decimals="0"
      id="Fact001592"
      unitRef="USD">149380</FSI:AdditionalExpensesDueToOptionsGranted>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2023-01-012023-12-31_custom_EmployeesMember"
      decimals="INF"
      id="Fact001594"
      unitRef="Shares">8000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2022-01-012022-12-31_custom_EmployeesMember"
      decimals="INF"
      id="Fact001598"
      unitRef="Shares">54500</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2022-01-012022-12-31_custom_ConsultantsMember"
      decimals="INF"
      id="Fact001600"
      unitRef="Shares">16514</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001602"
      unitRef="USD">375351</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 contextRef="From2023-01-01to2023-12-31" id="Fact001604">P2Y6M</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue
      contextRef="AsOf2022-12-31_us-gaap_CanadaRevenueAgencyMember"
      decimals="0"
      id="Fact001608"
      unitRef="USD">69190</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested
      contextRef="From2023-01-012023-12-31_us-gaap_CanadaRevenueAgencyMember"
      decimals="0"
      id="Fact001610"
      unitRef="USD">11520</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested
      contextRef="From2022-01-012022-12-31_us-gaap_CanadaRevenueAgencyMember"
      decimals="0"
      id="Fact001612"
      unitRef="USD">96989</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001614">&lt;p id="xdx_801_eus-gaap--StockholdersEquityNoteDisclosureTextBlock_zR3XJajiEUt2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;16.
&lt;span id="xdx_82A_zLTx24n9ybQj"&gt;CAPITAL STOCK&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the year ended December 31, 2023, &lt;span id="xdx_90A_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_pid_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zfgwGkgXenml" title="Stock options exercised"&gt;8,000&lt;/span&gt; shares were issued upon the exercise of employee stock options (2022 &#x2013; &lt;span id="xdx_90A_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_pid_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zc646MVCWWE3" title="Stock options exercised"&gt;54,500&lt;/span&gt;) and &lt;span id="xdx_900_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_pid_c20230101__20231231__us-gaap--AwardTypeAxis__custom--ConsultantStockOptionMember_zKHbZI1vQ8Ve" title="Stock options exercised"&gt;nil&lt;/span&gt;
shares were issued upon the exercise of consultant stock options (2022 &#x2013; &lt;span id="xdx_901_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_pid_c20220101__20221231__us-gaap--AwardTypeAxis__custom--ConsultantStockOptionMember_zYQiDZHc6pl4" title="Stock options exercised"&gt;16,514&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the year ended December 31, 2023, the Company issued &lt;span id="xdx_90A_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20230101__20231231_zU7jXuV1aIx9" title="Consultant for services, shares"&gt;1,272&lt;/span&gt; shares to a consultant for services rendered, resulting in an expense of $&lt;span id="xdx_90E_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_c20230101__20231231_zLtK9Fi7fYjl" title="Consultant for services, value"&gt;4,070&lt;/span&gt;
on the consolidated statements of income and comprehensive income for the year ended December 31, 2023 (2022 - $&lt;span id="xdx_908_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_dxL_c20220101__20221231_zjTiVArjkcU2" title="Consultant for services, value::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1628"&gt;nil&lt;/span&gt;&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
the year ended December 31, 2023, the Company announced a special dividend of $&lt;span id="xdx_90A_eus-gaap--DividendsPayableAmountPerShare_iI_pid_c20231231_zZjgupP2vOC2" title="Dividends per share"&gt;0.05&lt;/span&gt;
per share that was paid on May 16, 2023 to shareholders (2022 - $&lt;span id="xdx_90F_eus-gaap--DividendsPayableAmountPerShare_iI_pid_dxL_c20221231_zBzPhLX4BHGk" title="Dividends per share::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1632"&gt;nil&lt;/span&gt;&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001616"
      unitRef="Shares">8000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2022-01-012022-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001618"
      unitRef="Shares">54500</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2022-01-012022-12-31_custom_ConsultantStockOptionMember"
      decimals="INF"
      id="Fact001622"
      unitRef="Shares">16514</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesIssuedForServices
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="Fact001624"
      unitRef="Shares">1272</us-gaap:StockIssuedDuringPeriodSharesIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001626"
      unitRef="USD">4070</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:DividendsPayableAmountPerShare
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact001630"
      unitRef="USDPShares">0.05</us-gaap:DividendsPayableAmountPerShare>
    <us-gaap:MinorityInterestDisclosureTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001634">&lt;p id="xdx_809_eus-gaap--MinorityInterestDisclosureTextBlock_zh34YxiUIWX9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;17.
&lt;span id="xdx_829_z6Keglov2Ty9"&gt;NON-CONTROLLING INTERESTS&lt;/span&gt; &lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;a&lt;span style="font-variant: small-caps"&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;ENP Investments is a limited liability corporation
(&#x201c;LLC&#x201d;) that manufactures and distributes golf, turf and ornamental agriculture products in Mendota, Illinois. The Company
owns a &lt;span id="xdx_905_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zy63Gw4zHmn5" title="Subsidiary company ownership interest rate"&gt;65&lt;/span&gt;% interest in ENP Investments through its wholly-owned subsidiary NanoChem. An unrelated party (&#x201c;NCI&#x201d;) owns the
remaining &lt;span id="xdx_90A_eus-gaap--MinorityInterestOwnershipPercentageByParent_iI_pid_dp_uPure_c20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zsrX5Bz8zwDf" title="Related party owner ship percentage"&gt;35&lt;/span&gt;% interest in ENP Investments. ENP Mendota is a wholly owned subsidiary of ENP Investments. ENP Mendota is a LLC that leases
warehouse space. For financial reporting purposes, the assets, liabilities and earnings of both of the LLC&#x2019;s are consolidated into
these financial statements. The NCI&#x2019;s ownership interest in ENP Investments is recorded in non-controlling interests in these consolidated
financial statements. The non-controlling interest represents NCI&#x2019;s interest in the earnings and equity of ENP Investments. ENP
Investments is allocated to the TPA segment.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;ENP
Investments makes cash distributions to its equity owners based on formulas defined within its Ownership Interest Purchase Agreement
dated October 1, 2018. Distributions are defined in the Ownership Interest Purchase Agreement as cash on hand to the extent it exceeds
current and anticipated long-term and short-term needs, including, without limitation, needs for operating expenses, debt service, acquisitions,
reserves, and mandatory distributions, if any.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;From
the effective date of acquisition onward, the minimum distributions requirements under the Ownership Interest Purchase Agreement were
satisfied. The total distribution from the effective date of acquisition onward was $&lt;span id="xdx_90F_eus-gaap--PaymentsToMinorityShareholders_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zWvMv8W3Pgei" title="Partnership distribution to non-controlling interest"&gt;3,225,957&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_895_ecustom--ScheduleOfDistributionsTableTextBlock_zQVJq8fOy1Yc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B5_zyuaje2sUzqe" style="display: none"&gt;SCHEDULE
OF DISTRIBUTIONS&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 80%"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%"&gt;Balance, December 31, 2021&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--MinorityInterest_iS_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zh3oFgmbYaS" style="width: 16%; text-align: right" title="Distribution to noncontrolling interests, Beginning balance"&gt;2,602,843&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Distribution&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_di_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zTjNSyHtMBKf" style="text-align: right" title="Distribution"&gt;(689,434&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Non-controlling interest share of income&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_z56Cov3BLDH6" style="border-bottom: Black 1.5pt solid; text-align: right" title="Non-controlling interest share of income"&gt;691,625&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balance, December 31, 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--MinorityInterest_iS_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zcHZphA3KFql" style="text-align: right" title="Distribution to noncontrolling interests, Beginning balance"&gt;2,605,034&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Distribution&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_di_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zvfvFV7AuLpf" style="text-align: right" title="Distribution"&gt;(719,439&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Non-controlling interest share of income&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zrVxE1MRXEHl" style="border-bottom: Black 1.5pt solid; text-align: right" title="Non-controlling interest share of income"&gt;1,015,604&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Balance, December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--MinorityInterest_iE_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zrJe7V01Dg2b" style="border-bottom: Black 1.5pt solid; text-align: right" title="Distribution to noncontrolling interests, Ending balance"&gt;2,901,199&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A6_zxRx4GA69no4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the year ended December 31, 2023, the Company had sales of $&lt;span id="xdx_90A_eus-gaap--Revenues_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zcMueXjkLxud" title="Sales"&gt;6,811,083&lt;/span&gt; (2022 - $&lt;span id="xdx_905_eus-gaap--Revenues_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zTqJKvseLNq1" title="Sales"&gt;6,667,815&lt;/span&gt;) to the NCI, of which $&lt;span id="xdx_90B_eus-gaap--AccountsReceivableNetCurrent_iI_c20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zWgWtwqqT7dh" title="Accounts receivable"&gt;4,225,028&lt;/span&gt; is included
within Accounts Receivable as of December 31, 2023 (2022 &#x2013; $&lt;span id="xdx_90E_eus-gaap--AccountsReceivableNetCurrent_iI_c20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zdjmr4j9L6L8" title="Accounts receivable"&gt;3,634,083&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;b&lt;span style="font-variant: small-caps"&gt;)
&lt;/span&gt;&lt;/b&gt;317 Mendota is a LLC that owns real estate that the Company intends to occupy part of while renting out the excess. The Company
owns a &lt;span id="xdx_90A_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember_zJHSXBdp6iwg" title="Subsidiary company ownership interest rate"&gt;80&lt;/span&gt;% interest in 317 Mendota and an unrelated party (&#x201c;317 NCI&#x201d;) owns the remaining &lt;span id="xdx_90F_eus-gaap--MinorityInterestOwnershipPercentageByParent_iI_pid_dp_uPure_c20231231__srt--OwnershipAxis__custom--MendotaLLCMember_zA0FQyvLwcT" title="Related party owner ship percentage"&gt;20&lt;/span&gt;% interest in 317 Mendota. For
financial reporting purposes, the assets, liabilities and earnings of 317 Mendota are consolidated into these financial statements. The
317 NCI&#x2019;s ownership interest in 317 Mendota is recorded in non-controlling interests in these consolidated financial statements.
The non-controlling interest represents 317 NCI&#x2019;s interest in the earnings and equity of 317 Mendota. 317 Mendota is allocated
to the TPA segment as that is the intended use of the building.&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_895_ecustom--ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock_zlTc967sZkOh" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8BB_zM7DCHk7TfEk" style="display: none"&gt;SCHEDULE
OF NON CONTROLLING INTEREST RELATED TO ACQUISITION&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Balance, December 31, 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--MinorityInterest_iS_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zlBCS3ehM1Vd" style="text-align: right" title="Distribution to noncontrolling interests, Beginning balance"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1672"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 80%"&gt;Acquisition&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--PaymentsToAcquireBusinessesAndInterestInAffiliates_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zDSHR01VvBPg" style="width: 16%; text-align: right" title="Distribution to noncontrolling interests, Acquisition"&gt;200,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Non-controlling interest share of loss&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--NoncontrollingInterestDecreaseFromDeconsolidation_iN_di_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zKkUckOfun9d" style="text-align: right" title="Distribution to noncontrolling interests, Non-controlling interest share of loss"&gt;(35,483&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balance, December 31, 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--MinorityInterest_iE_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_z4U1PVisbeWb" style="text-align: right" title="Distribution to noncontrolling interests, Ending balance"&gt;164,517&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AE_zIsscUYkqx43" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:MinorityInterestDisclosureTextBlock>
    <us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest
      contextRef="From2023-01-012023-12-31_custom_ENPInvestmentsLLCMember"
      decimals="INF"
      id="Fact001636"
      unitRef="Pure">0.65</us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="AsOf2023-12-31_custom_ENPInvestmentsLLCMember68528578"
      decimals="INF"
      id="Fact001638"
      unitRef="Pure">0.35</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="From2023-01-012023-12-31_custom_ENPInvestmentsLLCMember"
      decimals="0"
      id="Fact001640"
      unitRef="USD">3225957</us-gaap:PaymentsToMinorityShareholders>
    <FSI:ScheduleOfDistributionsTableTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001642">&lt;p id="xdx_895_ecustom--ScheduleOfDistributionsTableTextBlock_zQVJq8fOy1Yc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B5_zyuaje2sUzqe" style="display: none"&gt;SCHEDULE
OF DISTRIBUTIONS&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 80%"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%"&gt;Balance, December 31, 2021&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--MinorityInterest_iS_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zh3oFgmbYaS" style="width: 16%; text-align: right" title="Distribution to noncontrolling interests, Beginning balance"&gt;2,602,843&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Distribution&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_di_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zTjNSyHtMBKf" style="text-align: right" title="Distribution"&gt;(689,434&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Non-controlling interest share of income&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_z56Cov3BLDH6" style="border-bottom: Black 1.5pt solid; text-align: right" title="Non-controlling interest share of income"&gt;691,625&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balance, December 31, 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--MinorityInterest_iS_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zcHZphA3KFql" style="text-align: right" title="Distribution to noncontrolling interests, Beginning balance"&gt;2,605,034&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Distribution&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_di_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zvfvFV7AuLpf" style="text-align: right" title="Distribution"&gt;(719,439&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Non-controlling interest share of income&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zrVxE1MRXEHl" style="border-bottom: Black 1.5pt solid; text-align: right" title="Non-controlling interest share of income"&gt;1,015,604&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Balance, December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--MinorityInterest_iE_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zrJe7V01Dg2b" style="border-bottom: Black 1.5pt solid; text-align: right" title="Distribution to noncontrolling interests, Ending balance"&gt;2,901,199&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</FSI:ScheduleOfDistributionsTableTextBlock>
    <us-gaap:MinorityInterest
      contextRef="AsOf2021-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      id="Fact001644"
      unitRef="USD">2602843</us-gaap:MinorityInterest>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2022-01-012022-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      id="Fact001646"
      unitRef="USD">689434</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="From2022-01-012022-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      id="Fact001648"
      unitRef="USD">691625</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:MinorityInterest
      contextRef="AsOf2022-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      id="Fact001650"
      unitRef="USD">2605034</us-gaap:MinorityInterest>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2023-01-012023-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      id="Fact001652"
      unitRef="USD">719439</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="From2023-01-012023-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      id="Fact001654"
      unitRef="USD">1015604</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:MinorityInterest
      contextRef="AsOf2023-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      id="Fact001656"
      unitRef="USD">2901199</us-gaap:MinorityInterest>
    <us-gaap:Revenues
      contextRef="From2023-01-012023-12-31_custom_ENPInvestmentsLLCMember"
      decimals="0"
      id="Fact001658"
      unitRef="USD">6811083</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2022-01-012022-12-31_custom_ENPInvestmentsLLCMember"
      decimals="0"
      id="Fact001660"
      unitRef="USD">6667815</us-gaap:Revenues>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="AsOf2023-12-31_custom_ENPInvestmentsLLCMember68528578"
      decimals="0"
      id="Fact001662"
      unitRef="USD">4225028</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="AsOf2022-12-31_custom_ENPInvestmentsLLCMember"
      decimals="0"
      id="Fact001664"
      unitRef="USD">3634083</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest
      contextRef="From2023-01-012023-12-31_custom_MendotaLLCMember"
      decimals="INF"
      id="Fact001666"
      unitRef="Pure">0.80</us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="AsOf2023-12-31_custom_MendotaLLCMember"
      decimals="INF"
      id="Fact001668"
      unitRef="Pure">0.20</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <FSI:ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001670">&lt;p id="xdx_895_ecustom--ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock_zlTc967sZkOh" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8BB_zM7DCHk7TfEk" style="display: none"&gt;SCHEDULE
OF NON CONTROLLING INTEREST RELATED TO ACQUISITION&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Balance, December 31, 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--MinorityInterest_iS_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zlBCS3ehM1Vd" style="text-align: right" title="Distribution to noncontrolling interests, Beginning balance"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1672"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 80%"&gt;Acquisition&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--PaymentsToAcquireBusinessesAndInterestInAffiliates_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zDSHR01VvBPg" style="width: 16%; text-align: right" title="Distribution to noncontrolling interests, Acquisition"&gt;200,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Non-controlling interest share of loss&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--NoncontrollingInterestDecreaseFromDeconsolidation_iN_di_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zKkUckOfun9d" style="text-align: right" title="Distribution to noncontrolling interests, Non-controlling interest share of loss"&gt;(35,483&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balance, December 31, 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--MinorityInterest_iE_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_z4U1PVisbeWb" style="text-align: right" title="Distribution to noncontrolling interests, Ending balance"&gt;164,517&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</FSI:ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock>
    <us-gaap:PaymentsToAcquireBusinessesAndInterestInAffiliates
      contextRef="From2023-01-012023-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      id="Fact001674"
      unitRef="USD">200000</us-gaap:PaymentsToAcquireBusinessesAndInterestInAffiliates>
    <us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation
      contextRef="From2023-01-012023-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      id="Fact001676"
      unitRef="USD">35483</us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation>
    <us-gaap:MinorityInterest
      contextRef="AsOf2023-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      id="Fact001678"
      unitRef="USD">164517</us-gaap:MinorityInterest>
    <us-gaap:SegmentReportingDisclosureTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001680">&lt;p id="xdx_80E_eus-gaap--SegmentReportingDisclosureTextBlock_zIvq63QpMJY6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;18.
&lt;span id="xdx_82A_zifRyN3EF769"&gt;SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company operates in &lt;span id="xdx_905_eus-gaap--NumberOfOperatingSegments_dc_uSegments_c20230101__20231231_zV0zbgXRRCRg" title="Number of operating segments"&gt;two&lt;/span&gt; segments:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;(a)
&lt;/b&gt;Energy and water conservation products (as shown under the column heading &#x201c;EWCP&#x201d; below), which consists of a (i) liquid
swimming pool blankets which save energy and water by inhibiting evaporation from the pool surface, and (ii) food-safe powdered form
of the active ingredient within the liquid blankets and which are designed to be used in still or slow moving drinking water sources.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;(b)
&lt;/b&gt;Biodegradable polymers, also known as TPA&#x2019;s (as shown under the column heading &#x201c;BCPA&#x201d; below), used by the petroleum,
chemical, utility and mining industries to prevent corrosion and scaling in water piping. This product can also be used in detergents
to increase biodegradability and in agriculture to increase crop yields by enhancing fertilizer uptake.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
third product line is nitrogen conservation products used for the agriculture industry. These products decrease the loss of nitrogen
fertilizer after initial application and allows less fertilizer to be used. These products are made and sold by the Company&#x2019;s TPA
division.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
accounting policies of the segments are the same as those described in Note 2, &lt;i&gt;Significant Accounting Policies&lt;/i&gt;. The Company evaluates
performance based on profit or loss from operations before income taxes, not including nonrecurring gains and losses and foreign exchange
gains and losses&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s reportable segments are strategic business units that offer different, but synergistic products and services. They are
managed separately because each business requires different technology and marketing strategies.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Year
ended December 31, 2023:&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89A_eus-gaap--ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock_zWZe7s71UT32" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B1_zoA5dWvmVHLb" style="display: none"&gt;SCHEDULE
OF REPORTABLE SEGMENTS&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 80%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20230101__20231231__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zz4RZo8QEyGh" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;EWCP&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_493_20230101__20231231__srt--ProductOrServiceAxis__custom--BCPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zJwM9ZULJ2p4" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;BCPA&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49F_20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zKJVGd5ire59" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Consolidated&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zKihmIeUF8Rb" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%; text-align: justify"&gt;Sales&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;572,845&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;37,751,961&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;38,324,806&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--InterestExpense_zMKGecgwYOy3" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Interest expense&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;387&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;498,279&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;498,666&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--DepreciationNonproduction_zD1WwEHW9bZ3" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Depreciation&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;17,411&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,668,908&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,686,319&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_zme53CDMLVP1" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Current and deferred income tax recovery (expense)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(35,341&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;168,076&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;132,735&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--NetIncomeLoss_zEjRTG3wWeAa" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Segment profit&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(256,390&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,032,254&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,775,864&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_ecustom--SegmentAssets_zAjUkYu8f7B" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Segment assets&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;4,843,123&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;50,627,932&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;55,471,055&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zvZ1QQo6f0d1" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Expenditures for segment assets&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1710"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;4,990,675&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;4,990,675&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Year
ended December 31, 2022:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 80%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_494_20220101__20221231__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zTRnyC6o5D5e" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;EWCP&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49A_20220101__20221231__srt--ProductOrServiceAxis__custom--BCPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zt9kSuCFWpKh" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;BCPA&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zjtnBmrK6Su6" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Consolidated&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zl0TD0OvNMU8" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%; text-align: justify"&gt;Sales&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;528,462&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;45,312,007&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;45,840,469&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--InterestExpense_ztUCU98H7LXa" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Interest expense&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1718"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;292,949&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;292,949&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--DepreciationNonproduction_zrRFvC6jytj9" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Depreciation&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;33,876&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,243,555&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,277,431&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_zHuOPguDhmcf" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Current and deferred income tax expense&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;18,898&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;126,958&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;145,856&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--NetIncomeLoss_zoW5VU1vWzYa" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Segment profit&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(334,525&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;8,047,754&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;7,713,229&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_ecustom--SegmentAssets_zD4jWpaAEgvg" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Segment assets&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,810,091&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;48,777,101&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;51,587,192&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_z7uF1yacUQg" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Expenditures for segment assets&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1738"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;1,981,307&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;1,981,307&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A7_zXgnscUEjIIl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_893_eus-gaap--ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_zp2QbVKGSbia" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Sales
by territory are shown below:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8BE_zxAQwrJDYMO1" style="display: none"&gt;SCHEDULE
OF REVENUE GENERATED IN UNITED STATES AND CANADA&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 80%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20230101__20231231_zARgVo60GNM4" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49B_20220101__20221231_zAV9pmSbF4Q2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&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 colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__country--CA_zSRI6s6oDU46" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%"&gt;Canada&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;755,844&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;552,123&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__custom--UnitedStatesandAbroadMember_zBJg9tzwWVwk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;United States and abroad&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;37,568,962&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;45,288,346&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zvM5ZCSIlZaj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;38,324,806&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;45,840,469&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A3_z4f9ZYW2ay84" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89C_eus-gaap--ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock_zB044KFQcNxb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s long-lived assets (property, equipment, leaseholds, right of use assets, intangibles, and goodwill) are located in Canada
and the United States as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B7_zseiyHibndUe" style="display: none"&gt;SCHEDULE
OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 80%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49E_20231231_zBRm5jHTd6di" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_498_20221231_zfzSFgjHgw1c" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&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 colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--CA_zXVHM0eFdOHl" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%"&gt;Canada&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;142,577&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;150,890&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--US_z7CFYYUTfW82" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;United States&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;17,958,778&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;14,699,896&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--NoncurrentAssets_iI_zVqNCNZk0c28" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;18,101,355&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;14,850,786&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A1_z0KlznVRexbf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Three
customers accounted for $&lt;span id="xdx_903_eus-gaap--AccountsReceivableNet_iI_c20231231__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__srt--MajorCustomersAxis__custom--ThreeCustomersMember_zpqBMlnQj9lj" title="Accounts receivable, after allowance for credit loss"&gt;20,482,798&lt;/span&gt; (&lt;span id="xdx_904_ecustom--StockOptionExercisePercent_pid_dp_uPure_c20230101__20231231__srt--MajorCustomersAxis__custom--ThreeCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zqapqDPjOXKj" title="Stock option exercise percent"&gt;53&lt;/span&gt;%) of sales made in 2023 (2022 - $&lt;span id="xdx_904_eus-gaap--AccountsReceivableNet_iI_c20221231__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__srt--MajorCustomersAxis__custom--ThreeCustomersMember_zYTxTJ6jzm8" title="Accounts receivable, after allowance for credit loss"&gt;27,775,616&lt;/span&gt; or &lt;span id="xdx_90B_ecustom--StockOptionExercisePercent_pid_dp_uPure_c20220101__20221231__srt--MajorCustomersAxis__custom--ThreeCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_z7WrkLEYrv7j" title="Stock option exercise percent"&gt;61&lt;/span&gt;%).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:NumberOfOperatingSegments
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="Fact001682"
      unitRef="Segments">2</us-gaap:NumberOfOperatingSegments>
    <us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001684">&lt;p id="xdx_89A_eus-gaap--ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock_zWZe7s71UT32" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B1_zoA5dWvmVHLb" style="display: none"&gt;SCHEDULE
OF REPORTABLE SEGMENTS&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 80%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20230101__20231231__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zz4RZo8QEyGh" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;EWCP&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_493_20230101__20231231__srt--ProductOrServiceAxis__custom--BCPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zJwM9ZULJ2p4" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;BCPA&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49F_20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zKJVGd5ire59" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Consolidated&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zKihmIeUF8Rb" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%; text-align: justify"&gt;Sales&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;572,845&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;37,751,961&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;38,324,806&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--InterestExpense_zMKGecgwYOy3" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Interest expense&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;387&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;498,279&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;498,666&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--DepreciationNonproduction_zD1WwEHW9bZ3" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Depreciation&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;17,411&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,668,908&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,686,319&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_zme53CDMLVP1" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Current and deferred income tax recovery (expense)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(35,341&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;168,076&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;132,735&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--NetIncomeLoss_zEjRTG3wWeAa" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Segment profit&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(256,390&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,032,254&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,775,864&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_ecustom--SegmentAssets_zAjUkYu8f7B" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Segment assets&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;4,843,123&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;50,627,932&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;55,471,055&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zvZ1QQo6f0d1" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Expenditures for segment assets&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1710"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;4,990,675&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;4,990,675&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Year
ended December 31, 2022:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 80%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_494_20220101__20221231__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zTRnyC6o5D5e" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;EWCP&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49A_20220101__20221231__srt--ProductOrServiceAxis__custom--BCPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zt9kSuCFWpKh" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;BCPA&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zjtnBmrK6Su6" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Consolidated&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zl0TD0OvNMU8" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%; text-align: justify"&gt;Sales&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;528,462&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;45,312,007&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;45,840,469&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--InterestExpense_ztUCU98H7LXa" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Interest expense&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1718"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;292,949&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;292,949&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--DepreciationNonproduction_zrRFvC6jytj9" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Depreciation&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;33,876&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,243,555&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,277,431&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_zHuOPguDhmcf" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Current and deferred income tax expense&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;18,898&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;126,958&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;145,856&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--NetIncomeLoss_zoW5VU1vWzYa" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Segment profit&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(334,525&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;8,047,754&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;7,713,229&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_ecustom--SegmentAssets_zD4jWpaAEgvg" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Segment assets&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,810,091&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;48,777,101&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;51,587,192&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_z7uF1yacUQg" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Expenditures for segment assets&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1738"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;1,981,307&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;1,981,307&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001686"
      unitRef="USD">572845</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001687"
      unitRef="USD">37751961</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_SegmentMember"
      decimals="0"
      id="Fact001688"
      unitRef="USD">38324806</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:InterestExpense
      contextRef="From2023-01-012023-12-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001690"
      unitRef="USD">387</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="From2023-01-012023-12-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001691"
      unitRef="USD">498279</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="From2023-01-012023-12-31_custom_SegmentMember"
      decimals="0"
      id="Fact001692"
      unitRef="USD">498666</us-gaap:InterestExpense>
    <us-gaap:DepreciationNonproduction
      contextRef="From2023-01-012023-12-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001694"
      unitRef="USD">17411</us-gaap:DepreciationNonproduction>
    <us-gaap:DepreciationNonproduction
      contextRef="From2023-01-012023-12-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001695"
      unitRef="USD">1668908</us-gaap:DepreciationNonproduction>
    <us-gaap:DepreciationNonproduction
      contextRef="From2023-01-012023-12-31_custom_SegmentMember"
      decimals="0"
      id="Fact001696"
      unitRef="USD">1686319</us-gaap:DepreciationNonproduction>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-01-012023-12-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001698"
      unitRef="USD">-35341</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-01-012023-12-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001699"
      unitRef="USD">168076</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-01-012023-12-31_custom_SegmentMember"
      decimals="0"
      id="Fact001700"
      unitRef="USD">132735</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-12-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001702"
      unitRef="USD">-256390</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-12-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001703"
      unitRef="USD">3032254</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-12-31_custom_SegmentMember"
      decimals="0"
      id="Fact001704"
      unitRef="USD">2775864</us-gaap:NetIncomeLoss>
    <FSI:SegmentAssets
      contextRef="From2023-01-012023-12-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001706"
      unitRef="USD">4843123</FSI:SegmentAssets>
    <FSI:SegmentAssets
      contextRef="From2023-01-012023-12-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001707"
      unitRef="USD">50627932</FSI:SegmentAssets>
    <FSI:SegmentAssets
      contextRef="From2023-01-012023-12-31_custom_SegmentMember"
      decimals="0"
      id="Fact001708"
      unitRef="USD">55471055</FSI:SegmentAssets>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2023-01-012023-12-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001711"
      unitRef="USD">-4990675</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2023-01-012023-12-31_custom_SegmentMember"
      decimals="0"
      id="Fact001712"
      unitRef="USD">-4990675</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001714"
      unitRef="USD">528462</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001715"
      unitRef="USD">45312007</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_SegmentMember"
      decimals="0"
      id="Fact001716"
      unitRef="USD">45840469</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:InterestExpense
      contextRef="From2022-01-012022-12-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001719"
      unitRef="USD">292949</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="From2022-01-012022-12-31_custom_SegmentMember"
      decimals="0"
      id="Fact001720"
      unitRef="USD">292949</us-gaap:InterestExpense>
    <us-gaap:DepreciationNonproduction
      contextRef="From2022-01-012022-12-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001722"
      unitRef="USD">33876</us-gaap:DepreciationNonproduction>
    <us-gaap:DepreciationNonproduction
      contextRef="From2022-01-012022-12-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001723"
      unitRef="USD">1243555</us-gaap:DepreciationNonproduction>
    <us-gaap:DepreciationNonproduction
      contextRef="From2022-01-012022-12-31_custom_SegmentMember"
      decimals="0"
      id="Fact001724"
      unitRef="USD">1277431</us-gaap:DepreciationNonproduction>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2022-01-012022-12-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001726"
      unitRef="USD">18898</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2022-01-012022-12-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001727"
      unitRef="USD">126958</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2022-01-012022-12-31_custom_SegmentMember"
      decimals="0"
      id="Fact001728"
      unitRef="USD">145856</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-12-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001730"
      unitRef="USD">-334525</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-12-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001731"
      unitRef="USD">8047754</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-12-31_custom_SegmentMember"
      decimals="0"
      id="Fact001732"
      unitRef="USD">7713229</us-gaap:NetIncomeLoss>
    <FSI:SegmentAssets
      contextRef="From2022-01-012022-12-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001734"
      unitRef="USD">2810091</FSI:SegmentAssets>
    <FSI:SegmentAssets
      contextRef="From2022-01-012022-12-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001735"
      unitRef="USD">48777101</FSI:SegmentAssets>
    <FSI:SegmentAssets
      contextRef="From2022-01-012022-12-31_custom_SegmentMember"
      decimals="0"
      id="Fact001736"
      unitRef="USD">51587192</FSI:SegmentAssets>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2022-01-012022-12-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001739"
      unitRef="USD">-1981307</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2022-01-012022-12-31_custom_SegmentMember"
      decimals="0"
      id="Fact001740"
      unitRef="USD">-1981307</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001742">&lt;p id="xdx_893_eus-gaap--ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_zp2QbVKGSbia" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Sales
by territory are shown below:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8BE_zxAQwrJDYMO1" style="display: none"&gt;SCHEDULE
OF REVENUE GENERATED IN UNITED STATES AND CANADA&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 80%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20230101__20231231_zARgVo60GNM4" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49B_20220101__20221231_zAV9pmSbF4Q2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&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 colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__country--CA_zSRI6s6oDU46" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%"&gt;Canada&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;755,844&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;552,123&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__custom--UnitedStatesandAbroadMember_zBJg9tzwWVwk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;United States and abroad&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;37,568,962&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;45,288,346&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zvM5ZCSIlZaj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;38,324,806&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;45,840,469&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_country_CA"
      decimals="0"
      id="Fact001744"
      unitRef="USD">755844</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_country_CA"
      decimals="0"
      id="Fact001745"
      unitRef="USD">552123</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_UnitedStatesandAbroadMember"
      decimals="0"
      id="Fact001747"
      unitRef="USD">37568962</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_UnitedStatesandAbroadMember"
      decimals="0"
      id="Fact001748"
      unitRef="USD">45288346</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001750"
      unitRef="USD">38324806</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001751"
      unitRef="USD">45840469</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001753">&lt;p id="xdx_89C_eus-gaap--ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock_zB044KFQcNxb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s long-lived assets (property, equipment, leaseholds, right of use assets, intangibles, and goodwill) are located in Canada
and the United States as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B7_zseiyHibndUe" style="display: none"&gt;SCHEDULE
OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 80%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49E_20231231_zBRm5jHTd6di" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_498_20221231_zfzSFgjHgw1c" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&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 colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--CA_zXVHM0eFdOHl" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%"&gt;Canada&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;142,577&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;150,890&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--US_z7CFYYUTfW82" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;United States&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;17,958,778&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;14,699,896&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--NoncurrentAssets_iI_zVqNCNZk0c28" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;18,101,355&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;14,850,786&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock>
    <us-gaap:NoncurrentAssets
      contextRef="AsOf2023-12-31_country_CA"
      decimals="0"
      id="Fact001755"
      unitRef="USD">142577</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="AsOf2022-12-31_country_CA"
      decimals="0"
      id="Fact001756"
      unitRef="USD">150890</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="AsOf2023-12-31_country_US"
      decimals="0"
      id="Fact001758"
      unitRef="USD">17958778</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="AsOf2022-12-31_country_US"
      decimals="0"
      id="Fact001759"
      unitRef="USD">14699896</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001761"
      unitRef="USD">18101355</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001762"
      unitRef="USD">14850786</us-gaap:NoncurrentAssets>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2023-12-31_us-gaap_AccountsReceivableMember_custom_ThreeCustomersMember"
      decimals="0"
      id="Fact001764"
      unitRef="USD">20482798</us-gaap:AccountsReceivableNet>
    <FSI:StockOptionExercisePercent
      contextRef="From2023-01-012023-12-31_custom_ThreeCustomersMember_us-gaap_AccountsReceivableMember"
      decimals="INF"
      id="Fact001766"
      unitRef="Pure">0.53</FSI:StockOptionExercisePercent>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2022-12-31_us-gaap_AccountsReceivableMember_custom_ThreeCustomersMember"
      decimals="0"
      id="Fact001768"
      unitRef="USD">27775616</us-gaap:AccountsReceivableNet>
    <FSI:StockOptionExercisePercent
      contextRef="From2022-01-012022-12-31_custom_ThreeCustomersMember_us-gaap_AccountsReceivableMember"
      decimals="INF"
      id="Fact001770"
      unitRef="Pure">0.61</FSI:StockOptionExercisePercent>
    <us-gaap:SubsequentEventsTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001772">&lt;p id="xdx_80F_eus-gaap--SubsequentEventsTextBlock_zdE9DlRpL492" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;19.
&lt;span id="xdx_82A_zaLOd6ycYe54"&gt;SUBSEQUENT EVENTS&lt;/span&gt; &lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;In January 2024, the Company issued
&lt;span id="xdx_907_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_pid_c20240101__20240131__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zh4y7X1nQnfl" title="Stock option issued upon exercise"&gt;15,000&lt;/span&gt; shares upon the exercise of consultant stock options.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;In January 2024, the Company granted
&lt;span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20240101__20240131__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember__srt--TitleOfIndividualAxis__custom--EmployeesMember_zTkZ88YURyZ5" title="Stock option granted"&gt;494,000&lt;/span&gt; stock options to employees and &lt;span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20240101__20240131__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zXLjxNtcVil7" title="Stock option granted"&gt;56,000&lt;/span&gt; stock options to consultants.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;


&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
March 2024, the Company terminated its lease in Naperville, IL. All operations are now consolidated in the Peru, IL locations.&lt;/span&gt;&lt;/p&gt;

</us-gaap:SubsequentEventsTextBlock>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="From2024-01-012024-01-31_us-gaap_SubsequentEventMember_custom_ConsultantsMember"
      decimals="INF"
      id="Fact001774"
      unitRef="Shares">15000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2024-01-012024-01-31_us-gaap_SubsequentEventMember_custom_EmployeesMember"
      decimals="INF"
      id="Fact001776"
      unitRef="Shares">494000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2024-01-012024-01-31_us-gaap_SubsequentEventMember_custom_ConsultantsMember"
      decimals="INF"
      id="Fact001778"
      unitRef="Shares">56000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <ecd:Rule10b51ArrAdoptedFlag contextRef="From2023-01-01to2023-12-31" id="Fact001779">false</ecd:Rule10b51ArrAdoptedFlag>
    <ecd:NonRule10b51ArrAdoptedFlag contextRef="From2023-01-01to2023-12-31" id="Fact001780">false</ecd:NonRule10b51ArrAdoptedFlag>
    <ecd:Rule10b51ArrTrmntdFlag contextRef="From2023-01-01to2023-12-31" id="Fact001781">false</ecd:Rule10b51ArrTrmntdFlag>
    <ecd:NonRule10b51ArrTrmntdFlag contextRef="From2023-01-01to2023-12-31" id="Fact001782">false</ecd:NonRule10b51ArrTrmntdFlag>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
