0001493152-24-012435.txt : 20240401 0001493152-24-012435.hdr.sgml : 20240401 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 10-K 1 form10-k.htm
false FY 0001069394 A0 0001069394 2023-01-01 2023-12-31 0001069394 2023-06-30 0001069394 2024-03-29 0001069394 2023-12-31 0001069394 2022-12-31 0001069394 2022-01-01 2022-12-31 0001069394 2021-12-31 0001069394 us-gaap:CommonStockMember 2021-12-31 0001069394 FSI:CapitalInExcessOfParValueMember 2021-12-31 0001069394 us-gaap:RetainedEarningsMember 2021-12-31 0001069394 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-12-31 0001069394 us-gaap:ParentMember 2021-12-31 0001069394 us-gaap:NoncontrollingInterestMember 2021-12-31 0001069394 us-gaap:CommonStockMember 2022-12-31 0001069394 FSI:CapitalInExcessOfParValueMember 2022-12-31 0001069394 us-gaap:RetainedEarningsMember 2022-12-31 0001069394 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-12-31 0001069394 us-gaap:ParentMember 2022-12-31 0001069394 us-gaap:NoncontrollingInterestMember 2022-12-31 0001069394 us-gaap:CommonStockMember 2022-01-01 2022-12-31 0001069394 FSI:CapitalInExcessOfParValueMember 2022-01-01 2022-12-31 0001069394 us-gaap:RetainedEarningsMember 2022-01-01 2022-12-31 0001069394 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-01-01 2022-12-31 0001069394 us-gaap:ParentMember 2022-01-01 2022-12-31 0001069394 us-gaap:NoncontrollingInterestMember 2022-01-01 2022-12-31 0001069394 us-gaap:CommonStockMember 2023-01-01 2023-12-31 0001069394 FSI:CapitalInExcessOfParValueMember 2023-01-01 2023-12-31 0001069394 us-gaap:RetainedEarningsMember 2023-01-01 2023-12-31 0001069394 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-12-31 0001069394 us-gaap:ParentMember 2023-01-01 2023-12-31 0001069394 us-gaap:NoncontrollingInterestMember 2023-01-01 2023-12-31 0001069394 us-gaap:CommonStockMember 2023-12-31 0001069394 FSI:CapitalInExcessOfParValueMember 2023-12-31 0001069394 us-gaap:RetainedEarningsMember 2023-12-31 0001069394 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-12-31 0001069394 us-gaap:ParentMember 2023-12-31 0001069394 us-gaap:NoncontrollingInterestMember 2023-12-31 0001069394 FSI:MendotaLLCMember 2023-01-01 2023-12-31 0001069394 FSI:ENPInvestmentsLLCAndENPMendotaMember 2023-01-01 2023-12-31 0001069394 FSI:ENPPeruMember FSI:UnrelatedPartyMember 2022-01-01 2022-12-31 0001069394 FSI:ENPPeruMember 2022-01-01 2022-12-31 0001069394 FSI:ENPInvestmentsAndENPMendotaMember 2022-01-01 2022-12-31 0001069394 FSI:ENPPeruMember 2023-01-01 2023-12-31 0001069394 FSI:MendotaLLCMember FSI:UnrelatedPartyMember 2023-12-31 0001069394 FSI:FirstTermMember 2023-12-31 0001069394 FSI:SecondTermMember 2023-12-31 0001069394 FSI:ThirdTermMember 2023-12-31 0001069394 FSI:FourthTermMember 2023-12-31 0001069394 us-gaap:ShippingAndHandlingMember 2023-01-01 2023-12-31 0001069394 us-gaap:ShippingAndHandlingMember 2022-01-01 2022-12-31 0001069394 FSI:ThreePrimaryCustomersMember us-gaap:RevenueFromContractWithCustomerMember 2023-01-01 2023-12-31 0001069394 FSI:ThreePrimaryCustomersMember us-gaap:RevenueFromContractWithCustomerMember 2022-01-01 2022-12-31 0001069394 FSI:ThreePrimaryCustomersMember us-gaap:AccountsReceivableMember 2023-01-01 2023-12-31 0001069394 FSI:ThreePrimaryCustomersMember us-gaap:AccountsReceivableMember 2022-01-01 2022-12-31 0001069394 FSI:InvestmentMember 2023-01-01 2023-12-31 0001069394 us-gaap:ComputerEquipmentMember 2023-01-01 2023-12-31 0001069394 us-gaap:MachineryAndEquipmentMember 2023-01-01 2023-12-31 0001069394 us-gaap:OfficeEquipmentMember 2023-01-01 2023-12-31 0001069394 FSI:BoatMember 2023-01-01 2023-12-31 0001069394 us-gaap:BuildingAndBuildingImprovementsMember 2023-01-01 2023-12-31 0001069394 FSI:TrailerMember 2023-01-01 2023-12-31 0001069394 us-gaap:AutomobilesMember 2023-01-01 2023-12-31 0001069394 us-gaap:PatentsMember 2023-01-01 2023-12-31 0001069394 us-gaap:TechnologyEquipmentMember 2023-01-01 2023-12-31 0001069394 us-gaap:LeaseholdImprovementsMember 2023-01-01 2023-12-31 0001069394 us-gaap:CustomerRelationshipsMember 2023-01-01 2023-12-31 0001069394 FSI:SoftwareMember 2023-01-01 2023-12-31 0001069394 us-gaap:BuildingAndBuildingImprovementsMember 2023-12-31 0001069394 us-gaap:AutomobilesMember 2023-12-31 0001069394 us-gaap:ComputerEquipmentMember 2023-12-31 0001069394 us-gaap:OfficeEquipmentMember 2023-12-31 0001069394 us-gaap:MachineryAndEquipmentMember 2023-12-31 0001069394 FSI:TrailerMember 2023-12-31 0001069394 us-gaap:LandMember 2023-12-31 0001069394 us-gaap:LeaseholdImprovementsMember 2023-12-31 0001069394 us-gaap:DevelopedTechnologyRightsMember 2023-12-31 0001069394 us-gaap:BuildingAndBuildingImprovementsMember 2022-12-31 0001069394 us-gaap:AutomobilesMember 2022-12-31 0001069394 us-gaap:ComputerEquipmentMember 2022-12-31 0001069394 us-gaap:OfficeEquipmentMember 2022-12-31 0001069394 us-gaap:MachineryAndEquipmentMember 2022-12-31 0001069394 FSI:TrailerMember 2022-12-31 0001069394 FSI:BoatMember 2022-12-31 0001069394 us-gaap:LeaseholdImprovementsMember 2022-12-31 0001069394 us-gaap:DevelopedTechnologyRightsMember 2022-12-31 0001069394 us-gaap:LandMember 2022-12-31 0001069394 us-gaap:PatentsMember 2023-01-01 2023-12-31 0001069394 us-gaap:PatentsMember 2022-01-01 2022-12-31 0001069394 FSI:EnPInvestmentsCorporationLLCMember 2021-12-31 0001069394 FSI:EnPInvestmentsCorporationLLCMember 2022-01-01 2022-12-31 0001069394 FSI:EnPInvestmentsCorporationLLCMember 2022-12-31 0001069394 FSI:EnPInvestmentsCorporationLLCMember 2023-01-01 2023-12-31 0001069394 FSI:EnPInvestmentsCorporationLLCMember 2023-12-31 0001069394 us-gaap:FiniteLivedIntangibleAssetsMember 2023-12-31 0001069394 FSI:EnpPeruInvestmentsLlcMember 2016-12-31 0001069394 FSI:NanoChemMember 2016-12-31 0001069394 FSI:ENPInvestmentsLLCMember 2016-12-31 0001069394 FSI:NanoChemMember 2022-06-30 0001069394 FSI:ENPPeruMember 2022-06-01 2022-06-30 0001069394 FSI:ENPPeruMember 2022-06-30 0001069394 FSI:EnpnvestmentsLlcMember 2023-12-31 0001069394 FSI:ENPInvestmentsLLCMember 2023-12-31 0001069394 FSI:ENPInvestmentsLLCMember 2023-06-30 0001069394 FSI:AppliedHoldingCorpMember 2018-12-31 0001069394 2021-01-01 2021-12-31 0001069394 2023-10-31 0001069394 FSI:TrioOpportunityCorpMember 2018-12-31 0001069394 FSI:TrioOpportunityCorpMember 2023-04-30 0001069394 us-gaap:CommonClassBMember FSI:TrioOpportunityCorpMember 2018-12-01 2018-12-31 0001069394 us-gaap:CommonClassBMember FSI:TrioOpportunityCorpMember 2018-12-31 0001069394 FSI:FloridaBasedLLCMember 2019-01-31 0001069394 FSI:FloridaBasedLLCMember 2023-01-01 2023-12-31 0001069394 FSI:FloridaBasedLLCMember 2022-01-01 2022-12-31 0001069394 FSI:FloridaBasedLLCMember 2023-12-31 0001069394 FSI:FloridaBasedLLCMember 2022-12-31 0001069394 FSI:LygosIncMember 2020-12-01 2020-12-31 0001069394 FSI:LygosIncMember 2021-01-01 2021-12-31 0001069394 FSI:LygosIncMember 2021-12-31 0001069394 FSI:EnpPeruInvestmentsLlcMember 2023-01-01 2023-12-31 0001069394 FSI:EnpPeruInvestmentsLlcMember 2021-12-31 0001069394 FSI:EnpPeruInvestmentsLlcMember 2022-01-01 2022-12-31 0001069394 FSI:EnpPeruInvestmentsLlcMember 2022-12-31 0001069394 FSI:EnpPeruInvestmentsLlcMember 2023-12-31 0001069394 FSI:FloridaBasedLLCMember 2021-12-31 0001069394 FSI:StockYardAndBankMember FSI:MidlandStatesBankMember FSI:NewAgreementMember 2023-06-30 0001069394 FSI:StockYardAndBankMember FSI:MidlandStatesBankMember FSI:NewAgreementMember 2023-06-01 2023-06-30 0001069394 FSI:StockYardAndBankMember FSI:MidlandStatesBankMember FSI:NewAgreementMember 2023-12-31 0001069394 FSI:StockYardAndBankMember FSI:MidlandStatesBankMember FSI:NewAgreementMember 2022-12-31 0001069394 FSI:NewAgreementMember FSI:NanoChemSolutionIncMember FSI:StockYardAndBankMember 2023-12-31 0001069394 us-gaap:NoncontrollingInterestMember FSI:StockYardAndBankMember 2023-12-31 0001069394 FSI:NewAgreementMember FSI:NanoChemSolutionIncMember FSI:StockYardAndBankMember 2022-12-31 0001069394 FSI:StockBankMember FSI:MidlandStatesBankMember FSI:NewAgreementMember 2023-06-30 0001069394 FSI:StockBankMember FSI:MidlandStatesBankMember FSI:NewAgreementMember 2023-06-01 2023-06-30 0001069394 FSI:StockBankMember FSI:MidlandStatesBankMember FSI:NewAgreementMember 2023-12-31 0001069394 FSI:StockBankMember FSI:MidlandStatesBankMember FSI:NewAgreementMember 2022-12-31 0001069394 FSI:NewAgreementMember FSI:NanoChemSolutionIncMember FSI:StockBankMember us-gaap:RevolvingCreditFacilityMember 2023-12-31 0001069394 FSI:NewAgreementMember FSI:NanoChemSolutionIncMember FSI:StockBankMember us-gaap:RevolvingCreditFacilityMember 2022-12-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:NanoChemSolutionsIncMember 2020-10-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember us-gaap:PrimeRateMember FSI:NanoChemSolutionsIncMember 2020-10-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:NanoChemSolutionsIncMember 2020-10-01 2020-10-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:NanoChemSolutionsIncMember 2023-01-01 2023-12-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:NanoChemSolutionsIncMember 2022-01-01 2022-12-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:NanoChemSolutionsIncMember 2023-12-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:NanoChemSolutionsIncMember 2022-12-31 0001069394 FSI:MidlandBankMember FSI:NanoChemSolutionsIncMember 2020-10-31 0001069394 FSI:MidlandBankMember us-gaap:PrimeRateMember FSI:NanoChemSolutionsIncMember 2020-10-31 0001069394 FSI:NanoChemSolutionsIncMember FSI:MidlandBankMember 2023-01-01 2023-12-31 0001069394 FSI:NanoChemSolutionsIncMember FSI:MidlandBankMember 2022-01-01 2022-12-31 0001069394 FSI:MidlandBankMember FSI:NanoChemSolutionsIncMember 2023-12-31 0001069394 FSI:MidlandBankMember FSI:NanoChemSolutionsIncMember 2022-12-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:ENPMendotaMember 2020-01-31 0001069394 FSI:StockYardsBankTrustMember FSI:EnpRealtyLLCMember 2020-01-01 2020-01-31 0001069394 FSI:StockYardsBankTrustMember us-gaap:PrimeRateMember FSI:EnpRealtyLLCMember 2020-01-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:ENPMendotaMember 2020-01-01 2020-01-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:ENPMendotaMember 2023-01-01 2023-12-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:ENPMendotaMember 2022-01-01 2022-12-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:ENPMendotaMember 2023-12-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:ENPMendotaMember 2022-12-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:NanoChemMember 2022-06-30 0001069394 FSI:StockYardsBankTrustMember FSI:EnpRealtyLLCMember 2022-06-01 2022-06-30 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:ENPPeruInvestmentsMember 2022-06-30 0001069394 FSI:NanoChemMember FSI:TermLoanMember FSI:MidlandBankMember 2023-01-01 2023-12-31 0001069394 FSI:NanoChemMember FSI:TermLoanMember FSI:MidlandBankMember 2022-01-01 2022-12-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:NanoChemMember 2023-12-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:NanoChemMember 2022-12-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:ENPPeruOneMember 2020-01-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember us-gaap:PrimeRateMember FSI:ENPPeruOneMember 2020-01-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:ENPPeruOneMember 2020-01-01 2020-01-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:ENPPeruOneMember 2022-06-30 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:ENPPeruOneMember 2023-01-01 2023-12-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:ENPPeruOneMember 2022-01-01 2022-12-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:ENPPeruOneMember 2023-12-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:ENPPeruOneMember 2022-12-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:ENPPeruInvestmentsMember 2022-06-01 2022-06-30 0001069394 FSI:TermLoanMember FSI:MidlandBankMember us-gaap:PrimeRateMember FSI:ENPPeruInvestmentsMember 2022-06-30 0001069394 FSI:ENPPeruInvestmentsMember FSI:TermLoanMember FSI:MidlandBankMember 2023-01-01 2023-12-31 0001069394 FSI:ENPPeruInvestmentsMember FSI:TermLoanMember FSI:MidlandBankMember 2022-01-01 2022-12-31 0001069394 FSI:ENPPeruInvestmentsMember FSI:TermLoanMember FSI:MidlandBankMember 2023-12-31 0001069394 FSI:ENPPeruInvestmentsMember FSI:TermLoanMember FSI:MidlandBankMember 2022-12-31 0001069394 FSI:TermLoanMember FSI:NanoChemMember 2022-12-31 0001069394 FSI:TermLoanMember FSI:NanoChemMember 2023-01-01 2023-12-31 0001069394 FSI:TermLoanMember FSI:NanoChemMember 2022-01-01 2022-12-31 0001069394 FSI:TermLoanMember FSI:NanoChemMember 2023-12-31 0001069394 FSI:TermLoanMember FSI:MendotaMember 2023-06-30 0001069394 FSI:MendotaMember FSI:TermLoanMember 2023-01-01 2023-12-31 0001069394 FSI:MendotaMember FSI:TermLoanMember 2022-01-01 2022-12-31 0001069394 FSI:TermLoanMember FSI:MendotaMember 2023-12-31 0001069394 FSI:TermLoanMember FSI:MendotaMember 2022-12-31 0001069394 FSI:MidlandStatesBankMember 2023-12-31 0001069394 FSI:MidlandStatesBankMember 2022-12-31 0001069394 FSI:MidlandStatesBankOneMember 2023-12-31 0001069394 FSI:MidlandStatesBankOneMember 2022-12-31 0001069394 FSI:StockYardsBankTrustMember 2023-12-31 0001069394 FSI:StockYardsBankTrustMember 2022-12-31 0001069394 FSI:StockYardsBankTrustOneMember 2023-12-31 0001069394 FSI:StockYardsBankTrustOneMember 2022-12-31 0001069394 FSI:StockYardsBankTrustTwoMember 2023-12-31 0001069394 FSI:StockYardsBankTrustTwoMember 2022-12-31 0001069394 FSI:StockYardsBankTrustThreeMember 2023-12-31 0001069394 FSI:StockYardsBankTrustThreeMember 2022-12-31 0001069394 FSI:StockYardsBankTrustFourMember 2023-12-31 0001069394 FSI:StockYardsBankTrustFourMember 2022-12-31 0001069394 FSI:StockYardsBankTrustFiveMember 2023-12-31 0001069394 FSI:StockYardsBankTrustFiveMember 2022-12-31 0001069394 us-gaap:CanadaRevenueAgencyMember 2023-12-31 0001069394 us-gaap:CanadaRevenueAgencyMember 2022-12-31 0001069394 us-gaap:InternalRevenueServiceIRSMember 2023-12-31 0001069394 us-gaap:InternalRevenueServiceIRSMember 2022-12-31 0001069394 FSI:TwoThousandThirtyTaxYearMember 2023-12-31 0001069394 FSI:TwoThousandThirtyOneYearMember 2023-12-31 0001069394 FSI:TwoThousandThirtyTwoYearMember 2023-12-31 0001069394 FSI:TwoThousandThirtySevenYearMember 2023-12-31 0001069394 FSI:TwoThousandThirtyNineYearMember 2023-12-31 0001069394 FSI:TwoThousandFourtyYearMember 2023-12-31 0001069394 FSI:ConsultantsMember 2023-01-01 2023-12-31 0001069394 FSI:ConsultantsMember 2022-01-01 2022-12-31 0001069394 FSI:EmployeesMember 2023-01-01 2023-12-31 0001069394 FSI:EmployeesMember 2022-01-01 2022-12-31 0001069394 us-gaap:CanadaRevenueAgencyMember 2023-01-01 2023-12-31 0001069394 us-gaap:CanadaRevenueAgencyMember 2022-01-01 2022-12-31 0001069394 srt:MinimumMember 2021-12-31 0001069394 srt:MaximumMember 2021-12-31 0001069394 srt:MinimumMember 2022-01-01 2022-12-31 0001069394 srt:MaximumMember 2022-01-01 2022-12-31 0001069394 srt:MinimumMember 2022-12-31 0001069394 srt:MaximumMember 2022-12-31 0001069394 srt:MinimumMember 2023-01-01 2023-12-31 0001069394 srt:MaximumMember 2023-01-01 2023-12-31 0001069394 srt:MinimumMember 2023-12-31 0001069394 srt:MaximumMember 2023-12-31 0001069394 us-gaap:EmployeeStockOptionMember 2023-01-01 2023-12-31 0001069394 us-gaap:EmployeeStockOptionMember 2022-01-01 2022-12-31 0001069394 FSI:ConsultantStockOptionMember 2022-01-01 2022-12-31 0001069394 FSI:ENPInvestmentsLLCMember 2023-01-01 2023-12-31 0001069394 FSI:ENPInvestmentsLLCMember 2023-12-31 0001069394 FSI:ENPInvestmentsLLCMember 2022-01-01 2022-12-31 0001069394 FSI:ENPInvestmentsLLCMember 2022-12-31 0001069394 FSI:MendotaLLCMember 2023-12-31 0001069394 FSI:ENPInvestmentsLLCMember FSI:OwnershipInterestPurchaseAgreementMember 2021-12-31 0001069394 FSI:ENPInvestmentsLLCMember FSI:OwnershipInterestPurchaseAgreementMember 2022-01-01 2022-12-31 0001069394 FSI:ENPInvestmentsLLCMember FSI:OwnershipInterestPurchaseAgreementMember 2022-12-31 0001069394 FSI:ENPInvestmentsLLCMember FSI:OwnershipInterestPurchaseAgreementMember 2023-01-01 2023-12-31 0001069394 FSI:ENPInvestmentsLLCMember FSI:OwnershipInterestPurchaseAgreementMember 2023-12-31 0001069394 FSI:MendotaLLCMember FSI:OwnershipInterestPurchaseAgreementMember 2022-12-31 0001069394 FSI:MendotaLLCMember FSI:OwnershipInterestPurchaseAgreementMember 2023-01-01 2023-12-31 0001069394 FSI:MendotaLLCMember FSI:OwnershipInterestPurchaseAgreementMember 2023-12-31 0001069394 us-gaap:AccountsReceivableMember FSI:ThreeCustomersMember 2023-12-31 0001069394 FSI:ThreeCustomersMember us-gaap:AccountsReceivableMember 2023-01-01 2023-12-31 0001069394 us-gaap:AccountsReceivableMember FSI:ThreeCustomersMember 2022-12-31 0001069394 FSI:ThreeCustomersMember us-gaap:AccountsReceivableMember 2022-01-01 2022-12-31 0001069394 FSI:EWCPMember FSI:SegmentMember 2023-01-01 2023-12-31 0001069394 FSI:BCPAMember FSI:SegmentMember 2023-01-01 2023-12-31 0001069394 FSI:SegmentMember 2023-01-01 2023-12-31 0001069394 FSI:EWCPMember FSI:SegmentMember 2022-01-01 2022-12-31 0001069394 FSI:BCPAMember FSI:SegmentMember 2022-01-01 2022-12-31 0001069394 FSI:SegmentMember 2022-01-01 2022-12-31 0001069394 country:CA 2023-01-01 2023-12-31 0001069394 country:CA 2022-01-01 2022-12-31 0001069394 FSI:UnitedStatesandAbroadMember 2023-01-01 2023-12-31 0001069394 FSI:UnitedStatesandAbroadMember 2022-01-01 2022-12-31 0001069394 country:CA 2023-12-31 0001069394 country:CA 2022-12-31 0001069394 country:US 2023-12-31 0001069394 country:US 2022-12-31 0001069394 us-gaap:SubsequentEventMember FSI:ConsultantsMember 2024-01-01 2024-01-31 0001069394 us-gaap:SubsequentEventMember FSI:EmployeesMember 2024-01-01 2024-01-31 iso4217:USD xbrli:shares iso4217:USD xbrli:shares xbrli:pure FSI:Segments iso4217:CAD utr:sqft

 

 

 

united states

SECURITIES AND EXCHANGE COMMISSION

WASHINGTON, D.C. 20549

 

FORM 10-K

 

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

 

For the Fiscal Year Ended December 31, 2023

 

OR

 

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

 

Commission File No. 001-31540

 

FLEXIBLE SOLUTIONS INTERNATIONAL, INC.

(Exact name of registrant as specified in its charter)

 

Alberta   71-1630889
(State or other jurisdiction of incorporation or organization)   (Employer Identification No.)
     
6001 54 Ave.    
Taber, Alberta, Canada   T1G 1X4
(Address of Principal Executive Office)   Zip Code

 

Registrant’s telephone number, including Area Code: (403) 223-2995

 

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

 

Title of each class   Trading Symbol   Name of each exchange on which registered
Common Stock, $0.001 par value   FSI   NYSE American

 

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

 

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

Yes ☐ No

 

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

Yes ☐ No

 

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

 

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

 

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’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. ☒

 

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 “large accelerated filer,” “accelerated filer”, “smaller reporting company” and “emerging growth company” in Rule 12b-2 of the Exchange Act.

 

Large accelerated filer ☐ Accelerated filer ☐
   
Non-accelerated filer Smaller reporting company
   
  Emerging growth company

 

If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act. ☐

 

Indicate by check mark whether the registrant has filed a report on and attestation to its management’s assessment of the effectiveness of its internal control over financial reporting under Section 404(b) of the Sarbanes-Oxley Act by the registered public accounting firm that prepared or issued its audit report. ☐ Yes ☒ No

 

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

 

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

 

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

 

As of June 30, 2023 the aggregate market value of the Company’s common stock held by non-affiliates was $19,343,103 based on the closing price for shares of the Company’s common stock on the NYSE American for that date.

 

As of March 29, 2024, the Company had 12,450,532 issued and outstanding shares of common stock.

 

Documents incorporated by reference: None

 

The terms “Flexible”, “Company”, “we”, “us”, and “our” are used to refer to Flexible Solutions International, Inc. and its subsidiaries, unless the context otherwise requires.

 

 

 

 
 

 

CAUTIONARY NOTE REGARDING FORWARD-LOOKING STATEMENTS

 

This Annual Report on Form 10-K for the year ended December 31, 2023 (“Annual Report”), 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 “may,” “will,” “should,” “expect,” “anticipate,” “estimate,” “continue,” “plans,” “intends,” 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.

 

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.

 

 
 

 

PART I

 

Item 1. Description of Business

 

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.

 

In June 2004 we purchased 52 U.S. and 139 International Patents (“IP”), as well as a 56,780 sq. ft. manufacturing plant near Chicago, Illinois from the bankruptcy estate of Donlar Corporation (“Donlar”) for $6.15 million. The IP we acquired from Donlar relates to water-soluble chemicals (“TPAs”) 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. (“NanoChem”), which has become our largest revenue generator.

 

In October 2018, we purchased 65% of ENP Investments, LLC, a manufacturing and distribution company active in the areas of golf, turf and ornamental agriculture products.

 

In January 2019, we 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.

 

In 2019, we changed our corporate domicile from Nevada to Alberta, Canada.

 

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.

 

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

 

 2 
 

 

In June 2023, 317 Mendota LLC (“317 Mendota”) 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’s ownership interest in 317 Mendota is recorded in non-controlling interests in these consolidated financial statements.

 

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.

 

Our website is www.flexiblesolutions.com

 

Our Products

 

Thermal Polyaspartates (“TPAs”)

 

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.

 

TPAs for Oilfields. TPAs are used to reduce scale and corrosion in various “topside” 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.

 

TPAs for the Agricultural Industry. 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.

 

TPAs for Irrigation. 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 “fertigation” program. Our TPAs for drip irrigation scale prevention are marketed and sold through the same channels as TPAs used by the agricultural industry.

 

TPAs in Cleaning Products. 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.

 

Nitrogen Conservation Products for Agriculture. 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’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.

 

 3 
 

 

Food and Nutritional Materials

 

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.

 

HEATSAVR®

 

Our studies indicate that approximately 70% of the energy lost from a swimming pool occurs through water evaporation. HEATSAVR® is a chemical product for use in swimming pools and spas that forms a thin, transparent layer on the water’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®.

 

In outdoor pools, the HEATSAVR® 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® eliminates the need to install, remove and store the blanket and works 24 hours a day. In addition, the use of HEATSAVR® 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® into commercial size swimming pools or spas at the rate of one ounce per 400 sq. ft. of water surface per day.

 

WATERSAVR®

 

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.

 

WATERSAVR® is sold in granulated form and can be applied by hand, by fully automated scheduled metering, or by an automatic dispenser.

 

Tests have indicated that WATERSAVR®:

 

  Reduces daily water evaporation as much as 54%;
  Reduces monthly water evaporation as much as 37%;
  Is odorless;
  Has no effect on invertebrates or vertebrates;
  Has no anticipated effect on any current drinking water treatment processes; and
  Is biodegradable.

 

We have one part-time employee involved in the sales and marketing of WATERSAVR®.

 

Principal Customers

 

The table below presents our revenue resulting from purchases by our major customers for the periods presented.

 

   Year Ended December 31, 
   2023   2022 
         
Company A  $6,811,083   $6,677,815 
Company B  $10,260,870   $12,938,735 
Company C  $3,410,845   $8,159,066 

 

 4 
 

 

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:

 

   Year Ended December 31, 
   2023   2022 
         
Company A  $4,225,028   $3,634,083 
Company B  $2,073,813    2,423,285 

 

Competition

 

TPAs: Our TPA products have direct competition with Lanxess AG (spun out of Bayer AG) (“Lanxess”), a German manufacturer of TPAs, which uses a patented process different from ours. We have cross-licensed each other’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.

 

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:

 

  Biodegradability compared to competing oil field chemicals;
  Cost-effectiveness for crop enhancement compared to increased fertilizer use; and
  Environmental considerations, ease of formulation and increased crop yield opportunities in irrigation scale markets.

 

HEATSAVR®: Although we are aware of two other companies that manufacture products that compete with HEATSAVR®, 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® also competes with plastic pool blanket products. However, we believe that HEATSAVR® is more effective and convenient than pool blankets.

 

WATERSAVR®: WATERSAVR® competes with solid and floating covers. We believe our WATERSAVR® 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.

 

Manufacturing

 

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.

 

Our HEATSAVR® 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.

 

 5 
 

 

Our WATERSAVR® products are manufactured by a third party. We are not required to purchase any minimum quantity of this product.

 

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.

 

Government Regulations

 

TPAs: In the industrial oil field and agricultural markets, we have received government approval for all TPAs currently sold.

 

Nitrogen Conservation Products: We have obtained all government approvals for the markets in which we sell these products.

 

HEATSAVR®: 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.

 

WATERSAVR®: Our WATERSAVR® 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® because the components in WATERSAVR® 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® in the United States for agricultural and drinking water uses. We have received National Sanitation Foundation approval for the use of WATERSAVR® in drinking water in the United States.

 

Proprietary Rights

 

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.

 

Research and Development

 

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.

 

Employees

 

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.

 

Item 1A. Risk Factors

 

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.

 

 6 
 

 

We have in the past incurred significant operating losses and may not sustain profitability in the future.

 

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.

 

Fluctuations in our operating results may cause our stock price to decline.

 

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:

 

  Demand for and market acceptance of our products;
     
  Competitive pressures resulting in lower selling prices;
     
  Adverse changes in the level of economic activity in regions in which we do business;
     
  Adverse changes in the oil and gas industry on which we are particularly dependent;

 

  Changes in the portions of our revenue represented by various products and customers;
     
  Delays or problems in the introduction of new products;
     
  The announcement or introduction of new products, services or technological innovations by our competitors;
     
  Variations in our product mix;
     
  The timing and amount of our expenditures in anticipation of future sales;
     
  Increased costs of raw materials or supplies; and
     
  Changes in the volume or timing of product orders.

 

Our operations are subject to seasonal fluctuation.

 

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® 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.

 

 7 
 

 

Interruptions in our ability to purchase raw materials and components may adversely affect our profitability.

 

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.

 

Our WATERSAVR® product has not proven to be a revenue producing product and we may never recoup the cost associated with its development.

 

The marketing efforts of our WATERSAVR® product may result in continued losses. We introduced our WATERSAVR® 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® 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® product in fiscal 2024.

 

If we do not introduce new products in a timely manner, our products could become obsolete and our operating results would suffer.

 

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:

 

  Accurately anticipate customer needs;
     
  Innovate and develop new products and applications;
     
  Successfully commercialize new products in a timely manner;
     
  Price our products competitively and manufacture and deliver our products in sufficient volumes and on time; and
     
  Differentiate our products from our competitors’ products.

 

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’ needs and future activities, we may invest heavily in research and development of products that do not lead to significant revenues.

 

We are dependent upon certain customers.

 

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 “Principal Customers” in Item 1 of this report for further details.

 

Economic, political and other risks associated with international sales and operations could adversely affect our sales.

 

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:

 

  Changes in foreign currency exchange rates;

 

 8 
 

 

  Changes in a country’s or region’s political or economic conditions, particularly in developing or emerging markets;
     
  Longer payment cycles of foreign customers and difficulty of collecting receivables in foreign jurisdictions;
     
  Trade protection measures and import or export licensing requirements;
     
  Differing tax laws and changes in those laws;
     
  Difficulty in staffing and managing widespread operations;
     
  Differing laws regarding protection of intellectual property; and
     
  Differing regulatory requirements and changes in those requirements.

 

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.

 

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.

 

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.

 

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’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.

 

Our failure to comply with environmental regulations may create significant environmental liabilities and force us to modify our manufacturing processes.

 

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.

 

Our failure to protect our intellectual property could impair our competitive position.

 

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

 

 9 
 

 

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.

 

Third parties may seek to claim that our products and operations infringe on their patents 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.

 

A product liability claim for damages could materially and adversely affect our financial condition and results of operations.

 

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.

 

Our ongoing success is dependent upon the continued availability of certain key employees.

 

Our business would be adversely affected if the services of Daniel B. O’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’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.

 

Item 1B. Unresolved Staff Comments.

 

Not applicable.

 

Item 1C. Cybersecurity.

 

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.

 

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.

 

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.

 

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.

 

Item 2. Properties.

 

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.

 

Item 3. Legal Proceedings.

 

None.

 

Item 4. Mine Safety Disclosures.

 

Not applicable.

 

 10 
 

 

PART II

 

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

 

Our common stock is traded on the NYSE American under the symbol “FSI”. The following is the range of high and low closing prices for our common stock for the periods indicated:

 

   High   Low 
         
Year Ended December 31, 2023          
First Quarter  $3.35   $2.86 
Second Quarter   3.32    2.60 
Third Quarter   2.96    3.51 
Fourth Quarter   2.69    1.37 

 

   High   Low 
         
Year Ended December 31, 2022          
First Quarter  $4.44   $3.01 
Second Quarter   3.96    2.23 
Third Quarter   2.68    1.56 
Fourth Quarter   3.24    2.38 

 

As of March 29, 2024, we had approximately 3,400 shareholders.

 

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.

 

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.

 

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:

 

   Number   Note 
   Of Shares   Reference 
Shares issuable upon exercise of options granted to our officers, directors, employees, consultants, and third parties   1,649,000    A 

 

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.

 

Item 6. Selected Financial Data.

 

Not applicable.

 

 11 
 

 

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

 

Results of Operations

 

We have three product lines.

 

The first is a chemical (“EWCP”) used in swimming pools and spas. The product forms a thin, transparent layer on the water’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.

 

The second product, biodegradable polymers (“TPAs”), 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.

 

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’s TPA division.

 

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:

 

Item   Increase (I) or Decrease (D)   Reason
         
Sales        
TPA products   D   Decreased customer orders along with decrease in pricing.
         
Cost of goods sold, as a percentage of sales   I   Increased raw material costs and increased wages to add and retain manufacturing employees along with added costs associated with obtaining new certifications.
         
Wages   I   Increased wages for employee retention.
         
Administrative salaries   I   Increased wages for employee retention.
         
Insurance   I   Prior year increase in assets and in sales resulted in higher insurance costs.
         
Interest expense   I   Increased debt resulted in increased interest expense.
         
Office and miscellaneous   I   Increase in property tax associated with more properties along with various other one time costs.
         
Travel   I   Travel has resumed as COVID-19 has become an endemic.
         
Professional fees   D   Decreased due to one time costs associated with the planned merger with Lygos in 2022.
         
Lease expense   D   Purchases of ENP Mendota and ENP Peru, the businesses we were renting from, reduced our lease expense.

 

The factors that will most significantly affect future operating results will be:

 

  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;
     
  Activity in the oil and gas industry, as we sell our TPA product to oil and gas companies; and
     
  Drought conditions, since we also sell our TPA product to farmers.

 

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.

 

 12 
 

 

Capital Resources and Liquidity

 

Our sources and (uses) of cash for the years ended December 31, 2023 and 2022 are shown below:

 

   2023   2022 
Cash provided by operations  $6,989,966   $1,476,903 
Purchase of investments   (470,000)   - 
Redemption of investments   200,000      
Distributions from equity investments   201,034    265,001 
Acquisition of ENP Peru, LLC   -    (499,329)
Non-Controlling Interest of 317 Mendota LLC   200,000    - 
Long-term deposits   815,714    - 
Sale of property and equipment   5,411    - 
Purchases of property and equipment   (4,990,675)   (1,981,307)
Advances (repayment) of short term line of credit   (1,008,112)   517,772 
Repayment of long term debt   (725,824)   (2,292,819)
Proceeds of long term debt   2,686,682    3,230,798 
Dividends paid   (626,777)   - 
Lease payments   (58,080)   (58,611)
Distributions to non-controlling interests   (719,439)   (689,434)
Sale of common stock   13,600    140,620 
Impact of foreign exchange rates   10,653    (30,069)

 

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.

 

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.

 

Commitments for rent in the next two years are as follows:

 

2024  $70,440 
2025  $71,940 

 

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.

 

Other than as disclosed above, we do not know of any significant changes in our expected sources and uses of cash.

 

We do not have any commitments or arrangements from any person to provide us with any equity capital.

 

Critical Accounting Policies and Estimates

 

Allowances for Product Returns. 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.

 

Allowances for Doubtful Accounts Receivable. 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.

 

 13 
 

 

Provisions for Inventory Obsolescence. 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.

 

Valuation of Goodwill and Intangible Assets. 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.

 

Useful Lives of Property, Equipment and Leaseholds and Intangible Assets. 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.

 

Revenue Recognition. 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.

 

Stock Based Compensation 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.

 

Income Taxes 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.

 

Privately Held Equity Investments 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.

 

See Note 2 to the consolidated financial statements included as part of this report for a description of our significant accounting policies.

 

Recent Accounting Pronouncements

 

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.

 

Item 7A. Quantitative and Qualitative Disclosures About Market Risk.

 

Not applicable.

 

 14 
 

 

Item 8. Financial Statements and Supplementary Data.

 

FLEXIBLE SOLUTIONS INTERNATIONAL, INC. AND SUBSIDIARIES

INDEX TO CONSOLIDATED FINANCIAL STATEMENTS

 

  Page
   
Report of Independent Registered Public Accounting Firm, Smythe LLP (PCAOB ID NO: 995) F-1
Consolidated Balance Sheets as of December 31, 2023 and 2022 F-3
Consolidated Statements of Income and Comprehensive Income for the Years Ended December 31, 2023 and 2022 F-4
Consolidated Statements of Cash Flows for the Years Ended December 31, 2023 and 2022 F-5
Consolidated Statements of Stockholders’ Equity for the Years Ended December 31, 2023 and 2022 F-6
Notes to Consolidated Financial Statements F-7

 

 15 
 

 

Report of Independent Registered Public Accounting Firm

 

 

To the Stockholders and the Board of Directors of Flexible Solutions International, Inc.

 

Opinion on the Consolidated Financial Statements

 

We have audited the accompanying consolidated financial statements of Flexible Solutions International, Inc. and its subsidiaries (the “Company”) 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’ equity for the years then ended, and the related notes (collectively referred to as the “consolidated financial statements”).

 

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.

 

Basis for Opinion

 

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

 

We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether the consolidated financial statements are free of material misstatement, whether due to error or fraud. 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’s internal control over financial reporting. Accordingly, we express no such opinion.

 

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

 

Critical Audit Matter

 

The critical audit matter communicated below is a matter arising from the current period audit of the consolidated financial statements that was communicated or required to be communicated to the audit committee and that: (1) 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.

 

 F-1 
 

 

Valuation of inventory

 

At December 31, 2023, the Company’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.

 

We identified the assessment of valuation of inventory as a critical audit matter. Auditing management’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.

 

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

 

  Obtained an understanding and reviewed the appropriateness of the Company’s costing methodology of inventory, including the allocation of overhead costs to inventory.
  Performed substantive procedures over the inputs of costing of inventory, including overhead costs by agreeing inputs to third party source documentation.
  Tested management’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.
  Tested the reliability of reports used by management in inventory costing by agreeing the report inputs to underlying records.
  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.

 

Chartered Professional Accountants

 

Vancouver, Canada

April 1, 2024

 

We have served as the Company’s auditor since 2019.

 

 

 F-2 
 

 

FLEXIBLE SOLUTIONS INTERNATIONAL, INC.

Consolidated Balance Sheets

As at December 31

(U.S. Dollars)

 

  

December 31, 2023

  

December 31, 2022

 
Assets          
Current          
Cash  $5,017,583   $6,115,099 
Term deposits (Note 2)   2,690,241    700,000 
Accounts receivable, net (Note 4)   9,843,056    9,449,857 
Inventories (Note 5)   11,134,889    14,419,430 
Prepaid expenses and deposits   1,540,923    310,297 
Total current assets   30,226,692    30,994,683 
Property, equipment and leaseholds, net (Note 6)   13,171,787    9,709,288 
Right of use assets (Note 3)   115,293    167,222 
Intangible assets (Note 8)   2,280,000    2,440,000 
Long term deposits (Note 9)   824,254    8,540 
Investments (Note 10)   6,033,960    5,458,895 
Goodwill (Note 8)   2,534,275    2,534,275 
Deferred tax asset (Note 13)   284,794    274,289 
Total Assets  $55,471,055   $51,587,192 
           
Liabilities          
Current          
Accounts payable  $1,984,592   $873,904 
Accrued liabilities   284,131    959,856 
Deferred revenue   148,292    387,763 
Income taxes payable   4,485,213    4,486,350 
Short term line of credit (Note 11)   1,810,479    2,818,591 
Current portion of lease liability (Note 3)   59,520    58,080 
Current portion of long term debt (Note 12)   1,281,632    717,612 
Total current liabilities   10,053,859    10,302,156 
Lease liability (Note 3)   55,773    109,142 
Deferred income tax liability (Note 13)   260,047    500,459 
Long term debt (Note 12)   6,833,304    5,436,465 
Total Liabilities   17,202,983    16,348,222 
           
Stockholders’ Equity          
Capital stock (Note 16)          
Authorized: 50,000,000 common shares with a par value of $0.001 each; 1,000,000 preferred shares with a par value of $0.01 each          
Issued and outstanding:          
12,435,532 (December 31, 2022: 12,426,260) common shares   12,436    12,426 
           
Capital in excess of par value   17,932,015    17,523,345 
Other comprehensive loss   (795,146)   (805,799)
Accumulated earnings   18,053,051    15,903,964 
Total stockholders’ equity – controlling interest   35,202,356    32,633,936 
Non-controlling interests (Note 17)   3,065,716    2,605,034 
Total Stockholders’ Equity   38,268,072    35,238,970 
Total Liabilities and Stockholders’ Equity  $55,471,055   $51,587,192 

 

See Notes to Consolidated Financial Statements.

 

 F-3 
 

 

FLEXIBLE SOLUTIONS INTERNATIONAL, INC.

Consolidated Statements of Income and Comprehensive Income

For the Years Ended December 31

(U.S. Dollars)

 

   2023   2022 
Sales  $38,324,806   $45,840,469 
Cost of sales (Note 6, 7 & 8)   27,987,451    31,971,596 
           
Gross profit   10,337,355    13,868,873 
           
Operating expenses          
Wages   2,659,654    2,537,783 
Administrative salaries and benefits   1,205,007    1,032,394 
Insurance   861,501    683,272 
Office and miscellaneous   508,376    350,126 
Interest expense   498,666    292,949 
Consulting   324,327    312,171 
Travel   264,563    171,369 
Professional fees   238,466    660,821 
Investor relations and transfer agent fee   222,650    179,505 
Advertising and promotion   194,308    182,609 
Research   158,246    99,275 
Lease expense   97,806    149,446 
Telecommunications   55,093    42,098 
Commissions   35,623    30,732 
Utilities   26,854    29,517 
Shipping   24,060    23,469 
Currency exchange   (37,632)   23,091 
Bad debt expense   -    17,869 
Total operating expenses   7,337,568    6,818,496 
Operating income   2,999,787    7,050,377 
Gain on sale of asset (Note 6)   4,589    - 
Gain on investments (Note 10)   505,065    341,424 
Gain on previously held equity interest (Note 10)   -    335,051 
Interest income   113,809    132,233 
Income before income tax   3,623,250    7,859,085 
Income taxes (Note 13)          
Deferred income tax recovery   250,917    71,295 
Current income tax expense   (118,182)   (217,151)
Net income for the year   3,755,985    7,713,229 
Net income attributable to non-controlling interests   (980,121)   (691,625)
Net income attributable to controlling interest  $2,775,864   $7,021,604 
           
Income per share (basic) (Note 14)  $0.22   $0.57 
Income per share (diluted) (Note 14)  $0.22   $0.56 
Weighted average number of common shares (basic)   12,434,886    12,379,316 
Weighted average number of common shares (diluted)   12,489,467    12,466,415 
           
Other comprehensive income:          
Net income  $3,755,985   $7,713,229 
Unrealized gain (loss) on foreign currency transactions   10,653    (30,069)
Total comprehensive income   3,766,638    7,683,160 
Comprehensive income – non-controlling interest   (980,121)   (691,625)
Comprehensive income attributable to controlling interests  $2,786,517   $6,991,535 

 

See Notes to Consolidated Financial Statements.

 

 F-4 
 

 

FLEXIBLE SOLUTIONS INTERNATIONAL, INC.

Consolidated Statements of Cash Flows

For Years Ended December 31

(U.S. Dollars)

 

   2023   2022 
Operating activities          
Net income for the year  $3,755,985   $7,713,229 
Adjustments to reconcile net income to net cash:          
Stock based compensation   395,080    399,148 
Depreciation and amortization   1,686,319    1,277,431 
Lease right of use financing   6,151    8,566 
Lease right of use amortization   51,929    50,045 
Gain on investments   (505,065)   (341,424)
Gain on sale of asset   (4,589)   - 
Bad debt expense   -    17,869 
Deferred income tax recovery   (250,917)   (71,295)
Gain on acquisition of ENP Peru, LLC   -    (335,051)
Changes in non-cash working capital items:          
Increase in accounts receivable   (393,199)   (2,338,397)
Decrease (increase) in inventories   3,284,541    (4,124,022)
Decrease (increase) in prepaid expenses and deposits   (1,230,626)   131,864 
Increase (decrease) in accounts payable and accrued liabilities   434,964    (700,191)
Decrease in income taxes payable   (1,137)   (249,628)
(Decrease) increase in deferred revenue   (239,471)   38,759 
Cash provided by operating activities   6,989,965    1,476,903 
           
Investing activities          
Purchase of investments   (470,000)   - 
Redemption of investments   200,000    - 
Distributions received from equity investments   201,034    265,001 
Non-controlling interest of 317 Mendota   200,000    - 
Long term deposits   (815,714)   - 
Proceeds from sale of asset   5,411    - 
Purchase of property and equipment   (4,990,675)   (1,981,307)
Acquisition of ENP Peru, LLC   -    (499,329)
Cash used in investing activities   (5,669,944)   (2,215,635)
           
Financing activities          
(Repayment) advance of short term line of credit   (1,008,112)   517,772 
Repayment of long term debt   (725,823)   (2,292,819)
Proceeds of long term debt   2,686,682    3,230,798 
Lease payments   (58,080)   (58,611)
Dividends paid   (626,777)   - 
Distribution to non-controlling interest   (719,439)   (689,434)
Common stock issued   13,600    140,620 
Cash provided by (used in) financing activities   (437,949)   848,326 
           
Effect of exchange rate changes on cash   10,653    (30,069)
           
Inflow of cash   892,725    79,525 
Cash resources, beginning   6,815,099    6,735,574 
           
Cash resources, ending  $7,707,824   $6,815,099 
Cash resources are comprised of:          
Cash  $5,017,583   $6,115,099 
Term deposits   2,690,241    700,000 
Cash resources  $7,707,824   $6,815,099 
Supplemental disclosure of cash flow information:          
Income taxes paid  $119,319   $158,966 
Interest paid   498,666    292,949 

 

See Notes to Consolidated Financial Statements.

 

 F-5 
 

 

FLEXIBLE SOLUTIONS INTERNATIONAL, INC.

Consolidated Statements of Stockholders’ Equity

For the Years Ended December 31, 2023 and 2022

(U.S. Dollars)

 

   Shares   Par Value  

Capital in

Excess of

Par Value

  

Accumulated

Earnings

  

Other

Comprehensive

Income

   Total  

Non-

Controlling

Interests

  

Total

Stockholders’

Equity

 
                                 
Balance December 31, 2021   12,355,246   $12,355   $16,983,648   $8,882,360   $(775,730)  $25,102,633   $2,602,843   $27,705,476 
Translation adjustment                   (30,069)   (30,069)       (30,069)
Net income               7,021,604        7,021,604    691,625    7,713,229 
Common stock issued   71,014    71    140,549            140,620        140,620 
Distributions to noncontrolling interests                           (689,434)   (689,434)
Stock-based compensation           399,148            399,148        399,148 
Balance December 31, 2022   12,426,260   $12,426   $17,523,345   $15,903,964   $(805,799)  $32,633,936   $2,605,034   $35,238,970 
Translation adjustment                   10,653    10,653        10,653 
Dividends paid               (626,777)       (626,777)       (626,777)
Non-controlling interest of 317 Mendota LLC                           200,000    200,000 
Net income               2,775,864        2,775,864    980,121    3,755,985 
Common stock issued   9,272    10    13,590            13,600        13,600 
Distributions to noncontrolling interests                           (719,439)   (719,439)
Stock-based compensation           395,080            395,080        395,080 
Balance December 31, 2023   12,435,532   $12,436   $17,932,015   $18,053,051   $(795,146)  $35,202,356   $3,065,716   $38,268,072 

 

See Notes to Consolidated Financial Statements.

 

 F-6 
 

 

FLEXIBLE SOLUTIONS INTERNATIONAL, INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS

December 31, 2023 and 2022

(U.S. Dollars)

 

1. BASIS OF PRESENTATION

 

These consolidated financial statements (“consolidated financial statements”) include the accounts of Flexible Solutions International, Inc. (the “Company”), its wholly-owned subsidiaries Flexible Fermentation Ltd., NanoChem Solutions Inc. (“NanoChem”), Flexible Solutions Ltd., Flexible Biomass LP, FS Biomass Inc., NCS Deferred Corp., Natural Chem SEZC Ltd., InnFlex Holdings Inc., ENP Peru Investments LLC (“ENP Peru”), its 80% controlling interest in 317 Mendota LLC (“317 Mendota”), and its 65% controlling interest in ENP Investments, LLC (“ENP Investments”) and ENP Mendota, LLC (“ENP Mendota”). 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.

 

In 2022, NanoChem purchased an additional 50% in ENP Peru, increasing its share to 91.67%. ENP Investments owns the remaining 8.33%, of which the Company has a 65% interest. 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, it is now consolidated into the financial statements from the date control was obtained.

 

In 2023, the Company purchased an 80% 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 20% non-controlling interest is held by unrelated parties.

 

The Company and its subsidiaries develop, manufacture and market specialty chemicals which slow the evaporation of water. One product, HEATSAVR®, 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®, 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 “TPAs”), 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.

 

 F-7 
 

 

2. SIGNIFICANT ACCOUNTING POLICIES

 

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.

 

(a) Cash and Cash Equivalents.

 

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.

 

(b) Term Deposits.

 

The Company has four term deposits that are maintained by commercials banks. The first term deposit is for $680,000 and matures in January 2024. This deposit pays 5.0% interest and if withdrawn before maturity, the greater of the loss of accrued interest or $150, plus 1% of the principal shall be levied. The second term deposit is for $300,000 and matures in February 2024. Paying 1.3% interest, it can be withdrawn by the Company at any point without prior notice or penalty. The third term deposit is for $710,241, matures in May 2024 and pays interest at a rate of 3.00%. If withdrawn before maturity, the greater of the loss of accrued interest or $150, plus 1% of the principal shall be levied. The fourth term deposit is for $1,000,000 and matures in May 2024. This deposit pays 3.85% and if withdrawn before maturity, the greater of the loss of accrued interest or $150, plus 1% of the principal shall be levied.

 

(c) Inventories and Cost of Sales.

 

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’s manufacturing and processing facilities. Shipping and handling charges billed to customers are included in revenue (2023 - $522,033; 2022 - $433,015). Shipping and handling costs incurred are included in cost of goods sold (2023 - $944,811; 2022 - $913,890).

 

(d) Allowance for Doubtful Accounts.

 

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.

 

(e) Property, Equipment, Leaseholds and Intangible Assets.

 

The following assets are recorded at cost and depreciated using the methods and annual rates shown below:

 

     
Computer hardware   30% Declining balance
Manufacturing equipment   20% Declining balance
Office equipment   20% Declining balance
Boat   20% Declining balance
Building and improvements   10% Declining balance
Trailer   30% Declining balance
Automobiles   Straight-line over 5 years
Patents   Straight-line over 17 years
Technology   Straight-line over 10 years
Leasehold improvements   Straight-line over lease term
Customer relationships   Straight-line over 15 years
Software   Straight-line over 3 years
     

 

 F-8 
 

 

(f) Impairment of Long-Lived Assets.

 

In accordance with FASB Codification Topic 360, Property, Plant and Equipment (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’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.

 

(g) Foreign Currency.

 

The functional currency of the Company is the U.S. dollar. The functional currency of three of the Company’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’s financial statements from the subsidiary’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.

 

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.

 

(h) Revenue Recognition.

 

The Company generates revenue primarily from energy and water conservation products and biodegradable polymers, as further discussed in Note 18.

 

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.

 

Since the Company’s inception, product returns have been insignificant; therefore, no provision has been established for estimated product returns.

 

Deferred revenues consist of products sold to distributors with payment terms greater than the Company’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.

 

(i) Stock Issued in Exchange for Services.

 

The Company’s common stock issued in exchange for services is valued at estimated fair market value based upon trading prices of the Company’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.

 

 F-9 
 

 

(j) Stock-based Compensation.

 

The Company recognizes compensation expense for all share-based payments in accordance with FASB Codification Topic 718, Compensation — Stock Compensation (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.

 

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.

 

(k) Other Comprehensive Income.

 

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’ equity. The Company’s other comprehensive income is comprised only of unrealized foreign exchange gains and losses related to the translation of subsidiaries’ functional currency into the reporting currency.

 

(l) Income Per Share.

 

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.

 

(m) Use of Estimates.

 

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.

 

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.

 

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.

 

(n) Fair Value of Financial Instruments.

 

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.

 

 F-10 
 

 

  Level 1 – Quoted prices in active markets for identical assets or liabilities.
  Level 2 – 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.
  Level 3 — Unobservable inputs that are supported by little or no market activity which is significant to the fair value of the assets or liabilities.

 

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.

 

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.

 

(o) Contingencies.

 

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’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’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.

 

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’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.

 

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.

 

(p) Income Taxes.

 

Income taxes are computed by multiplying the Company’s taxable net income by the Company’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.

 

In accordance with FASB Codification Topic 740, Income taxes (ASC 740) under the liability method, it is the Company’s policy to provide for uncertain tax positions and the related interest and penalties based upon management’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’s effective tax rate in a given financial statement period may be affected. Interest and penalties associated with the Company’s tax positions are recorded as interest expense in the consolidated statements of income and comprehensive income.

 

 F-11 
 

 

(q) Risk Management.

 

The Company’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’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’s three primary customers totaled $20,482,798 (53%) for the year ended December 31, 2023 (2022 - $27,775,616 or 61%). Accounts receivable for the Company’s three primary customers totaled $6,561,164 (67%) at December 31, 2023 (2022 - $6,124,424 or 65%).

 

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.

 

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.

 

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.

 

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.

 

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.

 

(r) Equity Method Investment.

 

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. Significant influence is generally deemed to exist if the Company’s ownership interest in the voting stock of the investee ranges between 20% and 50%, although other factors, such as representation on the investee’s board of directors, are considered in determining whether the equity method of accounting is appropriate. 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’s share of the investee’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).

 

(s) Goodwill and Intangible Assets.

 

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’s fair value, limited to the total amount of goodwill allocated to the reporting unit.

 

 F-12 
 

 

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.

 

In accordance with FASB Codification Topic 350, Intangibles – Goodwill and Other, (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.

 

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 “Impairment of Long Lived Assets” significant accounting policy.

 

(t) Recent Accounting Pronouncements.

 

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.

 

3. LEASES

 

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 (“ROU”) 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’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’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’s leases do not usually provide a readily determinable implicit rate; therefore, an estimate of the Company’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 5.5%.

 

 F-13 
 

 

The table below summarizes the right-of-use asset and lease liability for the years ended December 31, 2023 and 2022:

 

Right of Use Assets    
Balance at December 31, 2021  $217,267 
Depreciation   (50,045)
Balance at December 31, 2022  $167,222 
Depreciation   (51,929)
Balance at December 31, 2023  $115,293 
      
Lease Liability     
Balance at December 31, 2021  $217,267 
Lease interest expense   8,566 
Payments   (58,611)
Balance at December 31, 2022  $167,222 
Lease interest expense   6,151 
Payments   (58,080)
Balance at December 31, 2023  $115,293 
      
Short-term portion  $59,520 
Long-term portion   55,773 
Total  $115,293 

 

Undiscounted rent payments are as follows:

 

      
2024   59,520 
2025   61,020 
Total  $120,540 
Impact of discounting   (5,247)
Lease liability, December 31, 2023  $115,293 

 

4. ACCOUNTS RECEIVABLE

 

   2023   2022 
         
Accounts receivable  $10,133,249   $9,739,150 
Allowances for doubtful accounts   (290,193)   (289,293)
Total accounts receivable  $9,843,056   $9,449,857 

 

5. INVENTORIES

 

   2023   2022 
         
Completed goods  $2,682,158   $3,806,646 
Raw materials and supplies   8,452,731    10,612,784 
Total inventory  $11,134,889   $14,419,430 

 

6. PROPERTY, EQUIPMENT AND LEASEHOLDS

 

   2023   Accumulated   2023 
   Cost   Depreciation   Net 
Buildings and improvements  $12,341,605   $3,896,887   $8,444,718 
Automobiles   196,255    140,040    56,215 
Computer hardware   43,493    43,123    370 
Office equipment   134,130    121,925    12,205 
Manufacturing equipment   10,008,395    5,791,615    4,216,780 
Trailers   9,071    8,164    907 
Land   440,592        440,592 
Leasehold improvements   88,872    88,872     
Technology   103,292    103,292     
   $23,365,705   $10,193,918   $13,171,787 

 

 F-14 
 

 

   2022   Accumulated   2022 
   Cost   Depreciation   Net 
Buildings and improvements  $8,775,629   $3,310,920   $5,464,709 
Automobiles   196,255    107,055    89,200 
Computer hardware   43,432    42,663    769 
Office equipment   133,280    112,782    20,498 
Manufacturing equipment   8,634,063    4,891,736    3,742,327 
Trailers   8,857    7,592    1,265 
Boat   34,400    27,907    6,493 
Leasehold improvements   88,872    88,872     
Technology   100,860    100,860     
Land   384,027        384,027 
   $18,399,675   $8,690,387   $9,709,288 

 

Amount of depreciation expense for 2023 was: $1,526,319 (2022 - $1,103,732) and is included in cost of sales in the consolidated statements of income and comprehensive income.

 

In 2023, the Company sold the boat and $4,589 was recognized as a gain on sales of asset in the consolidated statements of income and comprehensive income.

 

7. PATENTS

 

  

2023

Cost

   Accumulated
Amortization
  

2023

Net

 
Patents  $200,444   $200,444   $- 

 

  

2022

Cost

   Accumulated
Amortization
  

2022

Net

 
Patents  $195,725   $195,725   $- 

 

The amount of amortization for 2023 was $nil (2022 - $13,699) 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.

 

8. GOODWILL AND INTANGIBLE ASSETS

 

Goodwill    
Balance as of December 31, 2022 and 2023  $2,534,275 
      
Indefinite Lived Intangible Assets     
Balance as of December 31, 2022 and 2023  $770,000 

 

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.

 

Definite Life Intangible Assets    
Balance as of December 31, 2021  $1,830,000 
Amortization   (160,000)
Balance as of December 31, 2022   1,670,000 
Amortization   (160,000)
Balances as of December 31, 2023  $1,510,000 

 

The amount of amortization for 2023 was $160,000 (2022 - $160,000) and was included in cost of sales in the consolidated statements of income and comprehensive income.

 

 F-15 
 

 

Definite lived intangible assets consist of customer relationships and software related to the acquisition of ENP Investments.

 

Estimated amortization expense over the next five years is as follows:

 

2024  $160,000 
2025   160,000 
2026   160,000 
2027   160,000 
2028   160,000 

 

9. LONG TERM DEPOSITS

 

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.

 

   2023   2022 
           
Long term deposits  $824,254   $8,540 

 

10. INVESTMENTS

 

 

(a)        The Company previously held a 50% ownership interest in ENP Peru, split between NanoChem (41.67%) and ENP Investments (8.33%), 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 50% ownership interest at a cost of $506,659 paid through a new $259,000 mortgage and cash on hand. The 35% non-controlling interest of the 8.33% owned by ENP Investments is included in non-controlling interest in these consolidated financial statements. The Company’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 8.33% of ENP Peru from ENP Investments to become full owner.

 

It was determined that ENP Peru did not meet the definition of a business in accordance with FASB Codification Topic 805, Business Combinations (ASC 805), 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’s equity method investment immediately prior to the acquisition date.

 

      
Purchase consideration  $506,659 
      
Assets acquired:     
Cash   7,330 
Building   3,750,000 
Land   150,000 
Liabilities assumed:     
Deferred tax liability   (174,582)
Long term debt   (2,849,500)
Total identifiable net assets:   883,248 
Excess of assets acquired over consideration   376,589 
Less investment eliminated upon consolidation   (41,538)
Gain on acquisition of ENP Peru  $335,051 

 

 F-16 
 

 

A summary of the Company’s investment follows:

 

Balance, December 31, 2021  $3,822 
Return of equity   (3,822)
Gain in equity method investment   22,642 
Balance, December 31, 2022   22,642 
Return of equity   (8,750)
Gain in equity method investment   27,646 
Investment eliminated upon consolidation   (41,538)
Balance, June 30 and December 31, 2023  $- 

 

(b)        In December 2018, the Company invested $200,000 in Applied Holding Corp. (“Applied”). 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 December 2023. In October 2023, the Company received the payment of $200,000 to settle the promissory note and the balance of this investment at December 31, 2023 is $nil (2022 - $200,000). In accordance with FASB Codification Topic 321, Investments – Equity Securities (ASC 321), the Company has elected to account for this investment at cost.

 

(c)        In December 2018, the Company invested $500,000 in Trio Opportunity Corp. (“Trio”), a privately held entity and a further $470,000 was invested in April 2023. Trio is a real estate investment vehicle and the Company received 97,000 non-voting Class B shares at $10.00/share. In accordance with ASC 321, the Company has elected to account for this investment at cost.

 

(d)        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 50% interest in the profit and loss of the Florida based LLC but does not have control. A summary of the Company’s investment follows:

 

Balance, December 31, 2021  $3,701,368 
Gain in equity method investment   307,527 
Return of equity   (250,000)
Balance, December 31, 2022   3,758,895 
Gain in equity method investment   505,065 
Return of equity   (200,000)
Balance, December 31, 2023  $4,063,960 

 

Summarized profit and loss information related to the equity accounted investment is as follows:

 

   2023   2022 
         
Net sales  $16,043,468   $18,103,070 
Gross profit   4,668,177    4,204,311 
Net income  $1,010,128   $615,055 

 

During the year ended December 31, 2023, the Company had sales of $10,260,870 (2022 - $12,938,735) to the Florida Based LLC, of which $2,073,813 is included within Accounts Receivable as at December 31, 2023 (2022 - $2,423,285).

 

(e)        In December 2020, the Company invested $500,000 in Lygos Inc. (“Lygos”), a privately held entity, under a Simple Agreement for Future Equity (“SAFE”) agreement. Lygos is a company developing a sustainable aspartic acid microbe strain. In 2021, the Company made a second SAFE investment of $500,000 for a total of $1,000,000. In accordance with ASC 321, the Company has elected to account for this investment at cost.

 

 F-17 
 

 

11. SHORT-TERM LINE OF CREDIT

 

(a)        In June 2023, ENP Investments renewed the line of credit with Stock Yards Bank and Trust (“Stock Yards”), increasing the limit by $500,000 from the previous line of credit. The revolving line of credit is for an aggregate amount of up to the lesser of (i) $4,500,000, or (ii) 50-80% of eligible domestic accounts receivable plus 50% of inventory, capped at $2,000,000. 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 8.5% (December 31, 2022 - 7.5%).

 

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’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 65% of all the principal and other loan costs not to exceed $2,925,000. The non-controlling interest is the guarantor of the remaining 35% of all the principal and other loan costs not to exceed $1,575,000. As of December 31, 2023, ENP Investments was in compliance with all loan covenants.

 

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.

 

Short-term borrowings outstanding under the revolving line as of December 31, 2023 were $1,810,479 (2022 - $2,477,794).

 

(b)        In June 2023, the Company renewed the line of credit with Stock Yards Bank and Trust (“Stock Yards”). The revolving line of credit is for an aggregate amount of up to the lesser of (i) $4,000,000, or (ii) 80% of eligible domestic accounts receivable and certain foreign accounts receivable plus 50% of inventory, capped at $2,000,000. 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 8.5% (2022 - 7.5%).

 

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.

 

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.

 

Short-term borrowings outstanding under the revolving line as of December 31, 2023 were $nil (2022 - $340,797). This amount was repaid in full during the year ended December 31, 2023.

 

12. LONG TERM DEBT

 

(a)        In October 2020, NanoChem signed a loan for $1,980,947 with Midland States Bank (“Midland”) with a rate of 3.85% to be repaid over 5 years with equal monthly payments including interest. The money was used to retire the debt at BMO Harris Bank (“Harris”) related to the loan to purchase a 65% 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 $nil (2022 - $30,334). The balance owing at December 31, 2023 was $nil (2022 - $nil).

 

(b)        In October 2020, NanoChem signed a loan for $894,253 with Midland with an interest rate 3.85% 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 $nil (2022 - $5,816). The balance owing at December 31, 2023 was $nil (2022 - $nil)

 

 F-18 
 

 

(c)        In January 2020, ENP Mendota refinanced its mortgage and signed a loan for $450,000 with Stock Yards to be repaid over 10 years with monthly installments plus interest. Interest for the first five years is at 4.35% and it will be adjusted for the last five years to the Cincinnati Federal Home Bank Loan 5 year fixed index plus 4.5%. Interest expense for the year ended December 31, 2023 was $17,911 (2022 - $17,107). The balance owing at December 31, 2023 was $399,269 (2022 - $415,430).

 

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.

 

(d)        In June 2022, NanoChem signed a loan for $1,935,000 with Stock Yards with an interest rate of 4.90% to be repaid over three years with equal monthly payments including interest. The funds were used to replace the loans at Midland for the purchase of the 65% interest in ENP Investments and the new manufacturing equipment. Interest expense for the year ended December 31, 2023 was $66,957 (2022 - $45,113). The balance owing at December 31, 2023 was $1,004,747 (2022 - $1,632,672).

 

(e)        In January 2020 ENP Peru signed a $3,000,000 loan with an interest rate 4.35% to be repaid over ten years 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 $2,849,500. Interest expense for the year ended December 31, 2023 was $122,544 (2022 - $62,679). The balance owing at December 31, 2023 was $2,737,232 (2022 - $2,813,015).

 

(f)        In June 2022, ENP Peru obtained a second mortgage for $259,000 with Stock Yards to be repaid over 10 years with monthly installments plus interest with an interest rate of 5.4%. Interest expense for the year ended December 31, 2023 was $13,877 (2022 - $7,077). The balance owing at December 31, 2023 was $250,207 (2022 - $256,162).

 

(g)        In December 2022, NanoChem signed a three year loan for up to $2,000,000 with Stock Yards with an interest rate of 6.5%. 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 $67,397 (2022 - $23,632). The balance owing at December 31, 2023 was $1,475,188 (2022 - $1,036,798).

 

(h)        In June 2023, 317 Mendota signed a five year loan for up to $3,240,000 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 $95,396 (2022 - $nil). The balance owing at December 31, 2023 was $2,248,292 (2022 - $nil).

 

As of December 31, 2023, Company was in compliance with all loan covenants.

 

 

Continuity  December 31, 2023   December 31, 2022 
Balance, January 1  $6,154,077   $2,366,598 
Plus: Proceeds from loans   2,686,682    3,230,798 
Plus: Loan acquired with acquisition of ENP Peru   -    2,849,500 
Less: Payments on loan   (725,823)   (2,292,819)
Balance, end of period  $8,114,936   $6,154,077 

 

 

Outstanding balance at December 31,  December 31, 2023   December 31, 2022 
a) Long term debt – Midland States Bank  $-   $- 
b) Long term debt – Midland States Bank   -    - 
c) Long term debt – Stock Yards Bank & Trust   399,269    415,430 
d) Long term debt – Stock Yards Bank & Trust   1,004,748    1,632,672 
e) Long term debt – Stock Yards Bank & Trust   2,737,232    2,813,015 
f) Long term debt – Stock Yards Bank & Trust   250,207    256,162 
g) Long term debt – Stock Yards Bank & Trust   1,475,188    1,036,798 
h) Long term debt – Stock Yards Bank & Trust   2,248,292     
Long-term debt   8,114,936    6,154,077 
Less: current portion   (1,281,632)   (717,612)
Long-term debt non current  $6,833,304   $5,436,465 

 

 F-19 
 

 

13. INCOME TAXES

 

The provision for income tax expense (benefit) is comprised of the following:

 

   2023   2022 
Current tax, federal  $753,683   $1,017,059 
Current tax, state   340,952    460,098 
Current tax, foreign   151,236    216,082 
Current tax   1,245,871    1,693,239 
Income tax recovery   (1,127,689)   (1,476,088)
Current tax, total   118,182    217,151 
           
Deferred income tax, federal   (172,763)   (49,088 
Deferred income tax, state   (78,154)   (22,207 
Deferred income tax, foreign   -    - 
Deferred income tax, total   (250,917)   (71,295 
Total  $(132,735)  $145,856 

 

The following table reconciles the income tax expense at the U.S. Federal statutory rate to income tax expense at the Company’s effective tax rates.

 

   2023   2022 
Income before tax  $3,623,250   $7,859,085 
US statutory tax rates   30.50%   30.50%
Expected income tax   1,105,091    2,397,021 
Non-deductible items   362,554    (243,167)
Change in estimates and other   (1,585,427)   (2,004,041)
Foreign tax rate difference   (92,379)   (226,611)
Change in valuation allowance   77,426    (222,654)
Total income taxes   (132,735)   145,856 
           
Current income tax expense   118,182    217,151 
Deferred tax recovery   (250,917)   (71,295)
Total income tax expense (recovery)  $(132,735)  $145,856 

 

Included in current income tax expense for the year ended December 31, 2023 is a recovery of $1,127,689 (2022 - $1,476,088) for a revision of estimated current taxes payable for previous years.

 

 20 
 

 

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:

 

   2023   2022 
Canada          
Non capital loss carryforwards  $855,176   $891,954 
Intangible assets   -    - 
Property, equipment and leaseholds   30,916    47,279 
    886,092    939,233 
Valuation allowance   (886,092)   (939,233)
Net deferred tax asset  $-   $- 
           
US          
    2023    2022 
Net operating loss carryforwards  $-   $- 
Intangible assets   (11,346)   (6,070)
Investments   -    (7,676)
Property, equipment and leaseholds   (248,701)   (486,713)
Property, equipment and leaseholds   284,794    274,289 
Financial instruments   -    - 
Deferred tax asset not recognized   -    - 
Net deferred tax asset (liability)  $24,747   $(226,170)

 

The Company has non-capital loss carryforwards of approximately $3,718,155 (2022 - $3,878,060) 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:

 

   Loss 
2030   407,947 
2031   941,856 
2032   615,878 
2037   1,692,555 
2039   48,048 
2040   11,871 
Total   3,718,155 

 

As at December 31, 2023, the Company has no net operating loss carryforwards available for US tax purposes.

 

Accounting for Uncertainty for Income Tax

 

As at December 31, 2023 and 2022, the Company’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.

 

14. INCOME PER SHARE

  

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:

 

   2023   2022 
         
Net income attributable to controlling interest  $2,775,864   $7,021,604 
Weighted average common shares outstanding:          
Basic   12,434,886    12,379,316 
Diluted   12,489,467    12,466,415 
Net income per common share attributable to controlling interest:          
Basic  $0.22   $0.57 
Diluted  $0.22   $0.56 

 

 F-21 
 

 

Certain stock options whose terms and conditions are described in Note 15, “Stock Options” 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.

 

   2023   2022 
           
Anti-dilutive options   740,000    1,304,000 

 

There were no preferred shares issued and outstanding during the years ended December 31, 2023 and 2022.

 

15. STOCK OPTIONS

 

The Company has a stock option plan (“Plan”). 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’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 100% 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 5 years. The maximum term of options granted is 5 years and the exercise price for all options are issued for not less than fair market value at the date of the grant.

 

The following table summarizes the Company’s stock option activities for the years ended December 31, 2023 and 2022:

 

  

Number of

shares

   Exercise
price per share
   Weighted
average
exercise price
 
             
Balance, December 31, 2021   789,500   $ 1.424.13   $2.78 
Granted   981,000   $3.553.61   $3.55 
Cancelled or expired   (13,486)  $1.703.61   $2.32 
Exercised   (71,014)  $1.422.44   $1.98 
Balance, December 31, 2022   1,686,000   $1.704.13   $3.26 
Cancelled or expired   (564,000)  $3.464.13   $3.55 
Exercised   (8,000)  $1.70   $1.70 
Balance, December 31, 2023   1,114,000   $1.753.61   $3.13 
Exercisable, December 31, 2023   754,000   $1.753.61   $2.93 

 

The weighted-average remaining contractual life of outstanding options is 2.90 years.

 

The fair value of each option grant is calculated using the following weighted average assumptions:

 

   2022 
Expected life – years   3.0 
Interest rate   1.763.64 %
Volatility   66.01 - 69.66 %
Weighted average fair value of options granted  $ 1.461.65 

 

During the year ended December 31, 2023, the Company granted nil (2022 – 46,000) stock options to consultants and has applied ASC 718 using the Black-Scholes option-pricing model, which resulted in expenses of $nil (2022 - $14,850). Options granted in other years resulted in additional expenses of $62,241 (2022 – $62,187). During the year ended December 31, 2023, employees were granted nil (2022 – 935,000) stock options, which resulted in expenses of $nil (2022 – $172,731). Options granted in other years resulted in additional expenses in the amount of $328,769 for employees during the year ended December 31, 2023 (2022 - $149,380). There were 8,000 employee and nil consultant stock options exercised during the year ended December 31, 2023 (2022 – 54,500 employee; 16,514 consultant).

 

 F-22 
 

 

As of December 31, 2023, there was approximately $375,351 of compensation expense related to non-vested awards. This expense is expected to be recognized over a weighted average period of 2.5 years.

 

The aggregate intrinsic value of vested options outstanding at December 31, 2023 is $nil (2022 – $69,190). The intrinsic value of options exercised during the year ended December 31, 2023 was $11,520 (2022 - $96,989).

 

16. CAPITAL STOCK

 

During the year ended December 31, 2023, 8,000 shares were issued upon the exercise of employee stock options (2022 – 54,500) and nil shares were issued upon the exercise of consultant stock options (2022 – 16,514).

 

During the year ended December 31, 2023, the Company issued 1,272 shares to a consultant for services rendered, resulting in an expense of $4,070 on the consolidated statements of income and comprehensive income for the year ended December 31, 2023 (2022 - $nil).

 

In the year ended December 31, 2023, the Company announced a special dividend of $0.05 per share that was paid on May 16, 2023 to shareholders (2022 - $nil).

 

17. NON-CONTROLLING INTERESTS

 

(a) ENP Investments is a limited liability corporation (“LLC”) that manufactures and distributes golf, turf and ornamental agriculture products in Mendota, Illinois. The Company owns a 65% interest in ENP Investments through its wholly-owned subsidiary NanoChem. An unrelated party (“NCI”) owns the remaining 35% 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’s are consolidated into these financial statements. The NCI’s ownership interest in ENP Investments is recorded in non-controlling interests in these consolidated financial statements. The non-controlling interest represents NCI’s interest in the earnings and equity of ENP Investments. ENP Investments is allocated to the TPA segment.

 

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.

 

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 $3,225,957.

 

Balance, December 31, 2021  $2,602,843 
Distribution   (689,434)
Non-controlling interest share of income   691,625 
Balance, December 31, 2022   2,605,034 
Distribution   (719,439)
Non-controlling interest share of income   1,015,604 
Balance, December 31, 2023  $2,901,199 

 

During the year ended December 31, 2023, the Company had sales of $6,811,083 (2022 - $6,667,815) to the NCI, of which $4,225,028 is included within Accounts Receivable as of December 31, 2023 (2022 – $3,634,083).

 

 F-23 
 

 

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 80% interest in 317 Mendota and an unrelated party (“317 NCI”) owns the remaining 20% 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’s ownership interest in 317 Mendota is recorded in non-controlling interests in these consolidated financial statements. The non-controlling interest represents 317 NCI’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.

 

Balance, December 31, 2022  $- 
Acquisition   200,000 
Non-controlling interest share of loss   (35,483)
Balance, December 31, 2023  $164,517 

 

18. SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY

 

The Company operates in two segments:

 

(a) Energy and water conservation products (as shown under the column heading “EWCP” 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.

 

(b) Biodegradable polymers, also known as TPA’s (as shown under the column heading “BCPA” 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.

 

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’s TPA division.

 

The accounting policies of the segments are the same as those described in Note 2, Significant Accounting Policies. 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

 

The Company’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.

 

Year ended December 31, 2023:

 

   EWCP   BCPA   Consolidated 
             
Sales  $572,845   $37,751,961   $38,324,806 
Interest expense   387    498,279    498,666 
Depreciation   17,411    1,668,908    1,686,319 
Current and deferred income tax recovery (expense)   (35,341)   168,076    132,735 
Segment profit   (256,390)   3,032,254    2,775,864 
Segment assets   4,843,123    50,627,932    55,471,055 
Expenditures for segment assets   -    4,990,675    4,990,675 

 

 F-24 
 

 

Year ended December 31, 2022:

 

   EWCP   BCPA   Consolidated 
             
Sales  $528,462   $45,312,007   $45,840,469 
Interest expense   -    292,949    292,949 
Depreciation   33,876    1,243,555    1,277,431 
Current and deferred income tax expense   18,898    126,958    145,856 
Segment profit   (334,525)   8,047,754    7,713,229 
Segment assets   2,810,091    48,777,101    51,587,192 
Expenditures for segment assets   -    1,981,307    1,981,307 

 

Sales by territory are shown below:

 

   2023   2022 
         
Canada  $755,844   $552,123 
United States and abroad   37,568,962    45,288,346 
Total  $38,324,806   $45,840,469 

 

The Company’s long-lived assets (property, equipment, leaseholds, right of use assets, intangibles, and goodwill) are located in Canada and the United States as follows:

 

   2023   2022 
         
Canada  $142,577   $150,890 
United States   17,958,778    14,699,896 
Total  $18,101,355   $14,850,786 

 

Three customers accounted for $20,482,798 (53%) of sales made in 2023 (2022 - $27,775,616 or 61%).

 

19. SUBSEQUENT EVENTS

 

In January 2024, the Company issued 15,000 shares upon the exercise of consultant stock options.

 

In January 2024, the Company granted 494,000 stock options to employees and 56,000 stock options to consultants.

 

In March 2024, the Company terminated its lease in Naperville, IL. All operations are now consolidated in the Peru, IL locations.

 

 F-25 
 

 

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

 

None.

 

Item 9A. Controls and Procedures.

 

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’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.

 

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.

 

Management’s Report on Internal Control Over Financial Reporting

 

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.

 

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.

 

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.

 

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’s assessment included an evaluation of the design of our internal control over financial reporting and testing of the operational effectiveness of those controls.

 

Based on this evaluation, management has concluded that our internal control over financial reporting was effective as of December 31, 2023.

 

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.

 

Item 9B. Other Information.

 

None of our directors or officers adopted or terminated 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.

 

Item 9C.Disclosures Regarding Foreign Jurisdictions That Prevent Inspections.

 

Not applicable.

 

Item 10. Directors, Executive Officers and Corporate Governance.

 

Name   Age   Position
         
Daniel B. O’Brien   67   President, Chief Executive Officer, Principal Financial and Accounting Officer and a Director
John H. Bientjes   71   Director
Robert Helina   58   Director
Tom Fyles   72   Director
Ben Seaman   43   Director
David Fynn   66   Director

 

Daniel B. O’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’Brien was also a teacher at Brentwood College where he was in charge of outdoor education.

 

 16 
 

 

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 & 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.

 

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.

 

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 – 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.

 

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’s a strong believer in the triple bottom line approach to business, giving consideration to social and environmental issues in addition to financial performance.

 

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 & Young in the United Kingdom and Saudi Arabia. Since 1996 he has been the principal of D.A. Fynn & Associates Inc., an accounting firm.

 

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’s discretion.

 

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.

 

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’s definition of an audit committee financial expert. Each member of the Audit Committee is “independent” as that term is defined in Section 803 of the listing standards of the NYSE American.

 

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.

 

 17 
 

 

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.

 

We believe our directors benefit us for the following reasons:

 

Name   Reason
     
Daniel B. O’Brien   Long standing relationship with us.
John J. Bientjes   Long standing relationship with us.
Robert Helina   Corporate finance experience.
Dr. Thomas Fyles   Scientific expertise.
Ben Seaman   Younger generation businessman increases our awareness of internet sales and adds value to our audit and compensation committees
David Fynn   Experienced accountant adds value to our audit and compensation committees

 

Item 11. Executive Compensation.

 

Summary Compensation Table

 

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.

 

Name and Principal Position  Fiscal Year   Salary (1)   Bonus (2)   Restricted Stock Awards (3)   Options Awards (4)   All Other Annual Compensation (5)   Total 
                             
Daniel B. O’Brien   2023   $785,368           $(660,000)      $125,368 
President, Chief Executive Financial and Accounting Officer   2022   $769,293           $660,000       $1,429,293 

 

(1) The dollar value of base salary (cash and non-cash) earned.
   
(2) The dollar value of bonus (cash and non-cash) earned.
   
(3) 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.
   
(4) The value of all stock options granted during the periods covered by the table. The options granted to Daniel O’Brien in 2022 were cancelled in 2023.
   
(5) All other compensation received that we could not properly report in any other column of the table.

 

During the year ended December 31, 2012, the Company determined that Daniel B. O’Brien, the Company’s President and Chief Executive Officer, was underpaid. Accordingly, the Company increased Mr. O’Brien’s annual salary to twice that which was paid to the highest paid employee of the Company. Mr. O’Brien requested his salary be dropped by $100,000/year during 2019 and the Compensation committee agreed. The Company expects that Mr. O’Brien’s salary for the year ending December 31, 2023 will again be twice the annual salary, less $100,000, paid to the Company’s highest paid employee, excluding Mr. O’Brien.

 

 18 
 

 

In the fall of 2023, Daniel O’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’Brien’s request.

 

Non-Qualified Stock Option Plan

 

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.

 

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.

 

During the fiscal year ended December 31, 2023 we issued nil options pursuant to the Non-Qualified Plan (2022 – 5,000).

 

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.

 

Stock Option Plans

 

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.

 

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.

 

During the fiscal year ended December 31, 2023 we issued nil options pursuant to the Stock Incentive Plan (2022 – 976,000).

 

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.

 

 19 
 

 

Summary

 

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.

 

Plan Category  Number of Securities
to be Issued Upon
Exercise of
Outstanding Options,
Warrants and Rights
   Weighted-Average
Exercise Price of
Outstanding Options,
Warrants and Rights
   Number of Securities
Remaining Available for
Future Issuance Under
Equity Compensation
Plans (Excluding
Securities Reflected
in Column (a))
 
   (a)   (b)   (c) 
Non-Qualified Stock Option Plan   542,000   $2.40    57,000 
Stock Incentive Plan   572,000   $3.55    524,000 

 

Both our Non-Qualified Stock Option Plan and Stock Incentive Plan have been approved by our shareholders.

 

No options were exercised by our executive officers during the fiscal year ended December 31, 2023.

 

Director Compensation

 

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 -

 

Our directors received the following compensation in 2023:

 

Name  Paid in Cash   Stock Awards (1)   Option Awards (2) 
             
John H. Bientjes  $10,000         
Robert Helina  $6,000           
Tom Fyles  $6,000         
Ben Seaman  $6,000         
David Fynn  $6,000         

 

(1) The fair value of stock issued for services computed in accordance with ASC 718 on the date of grant.
   
(2) The fair value of options granted computed in accordance with ASC 718 on the date of grant.

 

Daniel B. O’Brien was not compensated for serving as a director during 2023.

 

 20 
 

 

Insider Trading Arrangements and Policies

 

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.

 

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

 

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.

 

   Shares (1)   Percentage Ownership 
         
Daniel B. O’Brien   4,270,156    34.3%
6001 54 Ave.          
Taber, AB          
Canada T1G 1X4          
           
John Bientjes   0    0%
46081 Greenwood Dr.          
Chilliwack, BC          
Canada V2R 4C9          
           
Robert Helina   25,000    0.2%
6001 54 Ave.          
Taber, AB          
Canada T1G 1X4          
           
Dr. Thomas Fyles   20,000    0.2%
Box 3065          
Victoria, BC          
Canada V8W 3V6          
           
Ben Seaman   0    0%
Unit 605 5 E. Cordova St.          
Vancouver BC          
Canada V6A 0A5          
           
David Fynn   0    0%
202-2526 Yale Court,          
Abbotsford, BC          
Canada V2S 8G9          
           
All officers and directors          
as a group (6 persons)   4,315,156    34.7%
           
Other Principal Shareholders          
Comprehensive Financial Planning, Inc.   1,351,221    10.9%

 

(1) 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.

 

Name  No. of Options   Exercise Price   Expiration Date
            
Robert Helina   5,000   $2.44   December 31, 2024
    5,000   $2.44   December 31, 2025
    5,000   $3.61   December 31, 2026
    5,000   $3.55   December 31, 2027

 

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

 

Not applicable.

 

Item 14. Principal Accountant Fees and Services.

 

Smythe LLP examined our consolidated financial statements for the years ended December 31, 2023 and 2022.

 

Audit Fees

 

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.

 

 21 
 

 

Tax Fees

 

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.

 

All Other Fees

 

Smythe LLP was not paid any other fees for professional services during the fiscal years ended December 31, 2023 and 2022.

 

Audit Committee Pre-Approval Policies

 

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’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.

 

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.

 

Item 15. Exhibits, Financial Statement Schedules.

 

Number   Description
     
3.1   Articles of Incorporation of the Registrant. (1)
3.2   Bylaws of the Registrant. (1)
19   Insider Trading Policy and Procedures
21.1   Subsidiaries. (2)
23.1   Consent of Independent Accountants.
31.1   Certification of Principal Executive Officer Pursuant to §302 of the Sarbanes-Oxley Act of 2002.
31.2   Certification of Principal Financial Officer Pursuant to §302 of the Sarbanes-Oxley Act of 2002.
32.1   Certification of Principal Executive and Financial Officer Pursuant to 18 U.S.C. §1350 and §906 of the Sarbanes-Oxley Act of 2002.
101.INS   Inline XBRL Instance Document
101.SCH   Inline XBRL Taxonomy Extension Schema Document
101.CAL   Inline XBRL Taxonomy Extension Calculation Linkbase Document
101.DEF   Inline XBRL Taxonomy Extension Definition Linkbase Document
101.LAB   Inline XBRL Taxonomy Extension Label Linkbase Document
101.PRE   Inline XBRL Taxonomy Extension Presentation Linkbase Document
104   Cover Page Interactive Data File (embedded within the Inline XBRL document)

 

(1) 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.
   
(2) 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.

 

 22 
 

 

SIGNATURES

 

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.

 

March 29, 2024 Flexible Solutions International, Inc.
     
  By: /s/ Daniel B. O’Brien
  Name: Daniel B. O’Brien
  Title: President and Chief Executive Officer

 

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:

 

Signature   Title   Date
         
/s/ Daniel B. O’Brien   President, Principal Executive Officer, Principal Financial and Accounting Officer and a Director   March 29, 2024
Daniel B. O’Brien        
         
/s/ John H. Bientjes   Director   March 29, 2024
John H. Bientjes        
         
/s/ Robert T. Helina   Director   March 29, 2024
Robert T. Helina        
         
/s/ Thomas Fyles   Director   March 29, 2024
Thomas Fyles        
         
/s/ Ben Seaman   Director   March 29, 2024
Ben Seaman        
         
/s/ David Fynn   Director   March 29, 2024
David Fynn        

 

 23 

 

EX-19 2 ex19.htm

 

EXHIBIT 19

 

Flexible Solutions International, Inc.

Insider Trading Policy

 

 

I.PURPOSE

 

Flexible Solutions International, Inc. (the “Company”) has adopted this Insider Trading Policy (this “Policy”) 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’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.

 

II.SCOPE

 

A.This Policy applies to all directors and officers of the Company, the Company’s Comptroller and Operations Director and their respective family members and others in their households (collectively referred to as “Insiders”), and any other individuals the Compliance Officer (defined below) may designate as Insiders because they have access to material nonpublic information concerning the Company.

 

B.Except as set forth explicitly below, this Policy applies to any and all transactions in the Company’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.

 

III.SPECIFIC GUIDANCE

 

A.Generally Prohibited Activities. The prohibitions below apply to actions an Insider may take directly or indirectly through family members or other persons or entities.

 

  1. Trading in Company Securities.

 

a.No Insider may buy, sell, donate or otherwise transact in Company securities while aware of material nonpublic information concerning the Company.

 

b.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.

 

2.Tipping. Providing material nonpublic information to another person who may trade or advise others to trade on the basis of that information is known as “tipping” and is illegal. Therefore, no Insider may “tip” 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’s regular duties for the Company and authorized by the Compliance Officer.

 

3.Giving Trading Advice. 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.

 

4.Engaging in Short Sales. 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.

 

1

 

 

5.Engaging in Derivative Transactions. 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’s stock price and therefore create the appearance that the transaction is based on nonpublic information.

 

6.Hedging. 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.

 

7.Trading on Margin or Pledging. No Insider may place the Company’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.

 

8.Trading in Securities of Other Companies. 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) “tip” 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.

 

B.Additional Restrictions Applicable to Insiders, Section 16 Individuals and Key Employees.

 

1.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.

 

2.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.

 

C.Exceptions.

 

The prohibited activities above do not apply to:

 

1.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’s trading window is closed.

 

2.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’s trading window is closed.

 

3.Acquisitions or dispositions of Company securities under the Company’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’s trading window is open.

 

2

 

 

4.Other purchases of securities from the Company or sales of securities to the Company that do not involve a market transaction.

 

5.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).

 

IV.DETERMINING WHETHER INFORMATION IS MATERIAL AND NONPUBLIC

 

A.Definition of “Material” Information.

 

  1. 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.

 

2.In general, information about the Company should be considered “material” if:

 

A reasonable investor would consider the information significant when deciding whether to buy or sell Company securities; or

 

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.

 

Put simply, if the information could reasonably be expected to affect the price of the Company’s stock, it should be considered material.

 

3.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’s stock changed as a result of the information having been made public, it will likely be considered material by enforcement authorities.

 

4.While it is not possible to identify every type of information that could be deemed “material,” the following matters ordinarily should be considered material:

 

Projections of future earnings or losses, or other earnings guidance, or changes in projections or guidance.

 

Financial performance, especially quarterly and year-end earnings or significant changes in financial performance or liquidity.

 

Potential significant mergers and acquisitions or the sale of significant assets or subsidiaries.

 

New major contracts, orders, suppliers, customers, or finance sources, or the loss thereof.

 

Major discoveries or significant changes or developments in products or product lines, research or technologies.

 

Significant changes or developments in supplies or inventory, including significant product defects, recalls or product returns.

 

Stock splits, public or private securities/debt offerings, or changes in dividend policies or amounts.

 

Significant changes in senior management.

 

3

 

 

Actual or threatened major litigation, or the resolution of such litigation.

 

An imminent change in the Company’s credit rating by a rating agency.

 

The contents of forthcoming publications that may affect the market price of Company securities.

 

Significant breaches of information technology systems or other events impacting cybersecurity.

 

B.Definition of “Nonpublic” Information.

 

Information is “nonpublic” 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 “SEC”). 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’s widespread public release of the information.

 

C.Consult the Compliance Officer for Guidance.

 

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.

 

V.ADDITIONAL PROVISIONS FOR SECTION 16 INDIVIDUALS AND KEY EMPLOYEES

 

A.Definitions of Section 16 Individuals and Key Employees.

 

1.“Section 16 Individual” – Each member of the Company’s Board of Directors (“Board”), those officers of the Company designated by the Board as “Section 16 officers” of the Company, and their respective family members and others in their households.

 

2.“Key Employees” – Persons designated from time to time by the Compliance Officer or the Board as a Key Employee.

 

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.

 

B.The Trading Window.

 

1.Trading Only While Trading Window is Open. Insiders, Section 16 Individuals and Key Employees may buy, sell, donate or otherwise transact in Company securities only while the Company’s trading window is open. In general, the Company’s trading window opens after the close of trading on the first full trading day following the Company’s public announcement of annual or quarterly earnings, and remains open until fifteen trading days prior to the Company’s planned public announcement of annual or quarterly earnings.

 

2.No Trading While Aware of Material Nonpublic Information. 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’s widespread public release of such information.

 

4

 

 

3.Exceptions for Hardship Cases. 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.

 

C.Procedures for approving trades by Insiders, Section 16 Individuals and Key Employees and Hardship Cases.

 

1.Insiders, Section 16 Individuals and Key Employee Trades. No Insider, Section 16 Individual or Key Employee may trade in Company securities until:

 

a.the individual has notified the Compliance Officer in writing of the amount and nature of the proposed trade(s);
   
b.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
   
c.the Compliance Officer has approved the proposed trade(s).

 

The notice and certification required by this Section V.C.1, and the Compliance Officer’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.

 

2.Hardship Trades. 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:

 

a.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

 

  b. 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.

 

3.Compliance Officer Trades. 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.

 

4.No Obligation to Approve Trades. 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.

 

VI.COMPLIANCE OFFICER

 

The Company has designated Daniel O’Brien as the individual responsible for administration of this Policy (the “Compliance Officer”). The duties of the Compliance Officer include the following:

 

A.Administering this Policy and monitoring and enforcing compliance with this Policy.

 

5

 

 

  B. 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.

 

C.After discussing with the blackout assessment team, designating and announcing special trading blackout periods during which certain Insiders may not trade in Company securities.

 

D.Providing copies of this Policy to all new Section 16 Individuals, Key Employees and Insider.

 

The Compliance Officer may designate one or more individuals who may perform the Compliance Officer’s duties in the event that the Compliance Officer is unable or unavailable to perform such duties.

 

VII.RULE 10b5-1 TRADING PLANS

 

A.General Information.

 

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.

 

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.

 

B.Specific Requirements.

 

1.Pre-Approval. 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.

 

2.Material Nonpublic Information and Special Blackouts. 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

 

3.Trading Window. Section 16 Individuals and Key Employees may establish a Rule 10b5-1 plan only when the Company’s trading window is open.

 

4.Limitations on Number of Rule 10b5-1 Plans. 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.

 

5.Cooling-Off Periods.

 

a.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’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).

 

6

 

 

b.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.

 

VIII.POST-TERMINATION TRANSACTIONS

 

This Policy continues to apply to transactions in the Company’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’s trading window is closed at the time of termination, that individual may not trade in the Company’s securities until any such material nonpublic information has become public or is no longer material and/or the Company’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’s securities upon the opening of the Company’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.

 

IX.POTENTIAL PENALTIES AND DISCIPLINARY SANCTIONS

 

A.Civil and Criminal Penalties.

 

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.

 

B.Company Discipline.

 

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.

 

C.Reporting of Violations.

 

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’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.

 

X.MISCELLANEOUS

 

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.

 

7

 

 

Receipt and Acknowledgment

 

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 “Section 16 Individual” and each individual meeting the definition of a “Key Employee” must sign and return to the Company’s Compliance Officer the following receipt and acknowledgement.

 

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.

 

       
Signature   Date  
       
       
(Print Name)      

 

8

 

 

EXHIBIT A

Flexible Solutions International, Inc.

INSIDER TRADING POLICY

 

Notice and Certification for Insiders, Section 16 Individuals and Key Employees

 

To the Compliance Officer:

 

I hereby notify you of my intent to trade in securities of Flexible Solutions International, Inc. (the “Company”). The amount and nature of the proposed trade is as follows:

 

Exercise_________ non-qualified stock options granted under the Company’s Equity Incentive Plan on __________;
   
Sell in the open market shares of Company Common Stock currently held at (example: Fidelity; another broker; in certificated form);
   
Purchase in the open market ____ shares of Company Common Stock;
   
Gift shares of Company Common Stock to __________;
   
Adopt a Rule 10b5-1 plan to sell shares granted on _____;
   
Other (explain) ______________________________________________________

__________________________________________________________________________________

__________________________________________________

 

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.

 

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.

 

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.

 

Date:     Signature:  
         
      Print Name:  

 

 

To be completed by Compliance Officer or his/her Designee

 

Approved by:      

 

Date: _______________   Authorization Period Begins:
       
    Authorization Period Ends:
      (up to 45 business days after period begins)

 

9

 

EX-23.1 3 ex23-1.htm

 

Exhibit 23.1

 

CONSENT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM

 

We have issued our Independent Auditors’ Report, dated April 1, 2024, relating to the consolidated financial statements of Flexible Solutions International, Inc. (the “Company”) for the years ended December 31, 2023 and 2022 appearing in the Company’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’s registration statements on Form S-8 (File No’s. 333-270291, 333-205566 and 333-205375).

 

Smythe LLP

Chartered Professional Accountants

 

Vancouver, Canada  
April 1, 2024  

  

 

 

EX-31.1 4 ex31-1.htm

 

EXHIBIT 31.1

 

CERTIFICATIONS

 

I, Daniel B. O’Brien, certify that:

 

1. I have reviewed this annual report on Form 10-K of Flexible Solutions International, Inc.;
   
2. Based on my knowledge, this report, does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by the report;
   
3. Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;
   
4. The registrant’s other certifying officer(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:

 

  a) Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;
     
  b) Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;
     
  c) Evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and
     
  d) Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and

 

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

 

  a) All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize and report financial information; and
     
  b) Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.

 

Date: March 29, 2024 /s/ Daniel B. O’Brien
  Daniel B. O’Brien
  Principal Executive Officer

 

   

 

EX-31.2 5 ex31-2.htm

 

EXHIBIT 31.2

 

CERTIFICATIONS

 

I, Daniel B. O’Brien, certify that:

 

1. I have reviewed this annual report on Form 10-K of Flexible Solutions International, Inc.;
   
2. Based on my knowledge, this report, does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by the report;
   
3. Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;
   
4. The registrant’s other certifying officer(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:

 

  a) Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;
     
  b) Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;
     
  c) Evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and
     
  d) Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and

 

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

 

  a) All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize and report financial information; and
     
  b) Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.

 

Date: March 29, 2024 /s/ Daniel B. O’Brien
  Daniel B. O’Brien
  Principal Financial Officer

 

 

 

EX-32.1 6 ex32-1.htm

 

EXHIBIT 32.1

 

CertificatION of Principal Executive Officer
Pursuant to 18 U.S.C. Section 1350,
as Adopted Pursuant to Section 906 of

the Sarbanes-Oxley Act of 2002

 

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 “Company”), 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 “Report”) 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.

 

Date: March 29, 2024 /s/ Daniel B. O’Brien
  Daniel B. O’Brien
  Principal Executive and Principal Financial Officer

 

   

 

GRAPHIC 7 form10-k_001.jpg 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<*#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\<_ M\B3K'_7LU>"Z7X*\1ZO&DEII4YB< B1\(I![@L1D5]+S0QSQ-%*BR(W56&0? MPKFO%?C73?""PI'KS@N6"NV<6)H0F^>;LD>*7WP M_P#%.GJS2Z1,Z#DM"1)^BDFN<=&C=D=2KJ<%6&"/J*]UTSXN>'[Z41727%D6 M. \JAD_-]-G9V MKBY'[V2YCVL50CY5W#USG\O6N^E7JN:A M.)Y]6A24'.$CS"BBBNXX@HHHH ^@OA/_ ,B';?\ 763_ -"-=O7$?"?_ )$. MV_ZZR?\ H1KMZ^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> /\ MZ]9&Q]4Q>)] GD\N+6].=]VW:MTA)/IUK45E8 J00>017RM=_"CQK9V_GOHC MR*!DB&5)&'MM!R?PS6E\,;[Q;%XSM-'LKJYC@1\W5M<9*1Q@_,2IZ'MQCDB@ M#Z4EGAAQYLJ1YZ;V S21W,$Q(BFCD(Z[&!Q^5>-_M!<66@_]=)OY)7FGA'QG M<^$;/5Q919O;Z)(HI<\18W9;'<\C H$?4.I>(M%T<@:EJMG:,?X9IE4_D3FI M[#5M.U6+S=/OK:ZCXRT$H<#ZXZ5\I3>#O%]W;OJL^BZG,DG[QIGC9G;WP?F/ MUQ6-IVI7NCWJ7=AU 'VCN &2:Q;OQCX:L9_)N=>TZ*7N MC7"Y'UYXKP7Q?\3]7\96MCI6F0SVP>-1<1P$EKB4@9 YVYZ#OW[5RM]X*\3 M:79_:[S0[V&WQDN8CA1C/..GXT#/K>TOK2_A$UG=0W$1XWPR!Q^8I\MS!"P6 M6:.,D9 9@*^0?"WB>_\ "FM0:A93.$5QYT(;"RIGE2/\XKU_XR:9'XC\':7X MIT]/,6%59F4<^3( 03]#C_OHT >OQW$$Q(BFCD(Z[6!Q4M?,WP9UX:3XYCM) M& AU&,P')X#]5/Y@C_@5?3- #7=8U+.P50,DDX J(7MHS!5N82Q. !(#FN"^ M,VMC2O 1U1?LLG+' [5 MF?$&WUW4/$NIZ[?:/J-M9O-LBEN+=T4(/E09(&,@"N6L-.OM4N1;:?:3W4^" MWE01EVP.^ * /LU;VT8A5NH23P )!S7@_P ?_P#D8])_Z]&_]#-); M?Q=HL\WA_5(X8[Z!W=[20*JB12221P!75?'_ /Y&+2?^O1O_ $,T ;?[/QQI M.MY_Y[1?^@M7IVH>*= TJ7RK_6;&VDS@I).H8?AG-?,6@>,+_0_#.H:/I/FI M>ZA.F9HOO*@!X7'.XDX^GUJO<^!_%=O9M?7&@Z@L(&YG:(D@=R1U'XT ?6-C MJFGZG%YMA?6UT@ZM!*K@?D:MU\8:3K%_H>HQ7VG7,EO/&V>G[Q/[CCAA],@_A0!MU0U#6]*TE=VH:C:VHQD>=,J$_@3 M7G_Q5^)!\,P'1]+?_B:SIEI ?^/=3W_WCV';KZ9\/TGPYXD\97*?#= MK]LU+2988%/,T;K(%^I4G'XUZ!\)?B51U51U+' %Q'<<5 M-XY./!.L'TMFKQ?0OB7XAT2)(/.2\@4 !+D%BH]B"#_.NJA1G-<\'JCDKUH1 M?)-:,T-8^$>NV*O)8R0W\2]E^1\?[IX_6N#GMY;6=X)XGBE0X9'!# ^X->\> M%/B?I_B&\BT^XMWL[R3A 6W(Y] >"#UX(_&JWQ:\/V]YX<;5E0+=697+ #YD M)P0?Q(/YUV4\34C-0JHXJF'IR@YTF>&4445Z1YH4444 ?07PG_Y$.V_ZZR?^ MA&NWKB/A/_R(=M_UUD_]"-=O7SE;^)+U/I*'\./H<;\4],N=6^'FIV]HADE4 M++L R6",&./? -?.'A#Q-/X2\10:M;PI.4!1XF.-RD8(SV-?8! (P>E>9^*/ M@MHFN7,][I]Q)IMU*=S*B!HB>YV\$9]CCVK(V+>A_&+PKK CCGN7TZ=N-ETN M%S_OC(_/%=Q;+8SL+^V^SR-,@ N(]IWKU W#J.:^:?$/PA\4:# ]RD,=_;)D ML]H264>I4@'\LU1\!^.M0\(:O!MF=],DD N+64=F'ZT"/1?V@_^/+0 M?^NDW\DKF/@EX>M-8\57%[=IY@TZ-9(D/3S"< GZ8)^N*Z;]H!E?3_#[J059 MYB".XPE4?V??^0GKG_7&+_T)J /=\<8KYD^,NDVNE?$"4VL:QK=VZ7#*JX < MD@G\=N?Q-?3E?./QW_Y'R#_L'Q_^AO0,WO@'HMM(-3UF6(/<1NMO"Q'W!C+8 M^N1_G->W,@*D$9!'.:\E^ /_ "+.J?\ 7Y_[(M>N=J /DKXB:1!H?C[5K&V4 M) LHD1%Z*'4/@?3=BO?_ (H?"G2K:Z!EAFMI(G5CU0LRX_+BO$?B_P#\ ME0U;Z0_^B4KW3X6?\DST7_KD_P#Z,:@#YJUG3KKPIXJN;,LRW%C<9C?H3@Y5 MOQUCX=UB+7_#UCJL/"W,*N1_=;^(?@,-_8^((E^2=?LT_' 9 M+_P!"KRSX(?\ )0U_Z])?Z5ZG\:O^2<7/_7>+_P!"KRSX(?\ )0U_ MZ])?Z4 ?2U> ?'__ )&/2?\ KT;_ -#->_UX!\?_ /D8])_Z]&_]#- $OP%T M*UN]0U+6+B-));4)%!N&=A;)9A[X /N:]Y(R,5XY^S]_P @K6_^N\7_ *"U M>R4 ?,_QIT>UTKQWOM(Q&MY;+<.JC #EF4D?7;G\Z]$^"5UY/PZO))"QC@NY M6P.N BDX_6N+^/G_ ".MA_V#D_\ 1DE=9\&H6N?ACJL" EI+B9 !W)C44"/" M]1O[C6M7N+Z\EWSW4I=W<\#)_0 <>P%?2_AWQ'X(\.Z%::7:Z_IBI @#$3K\ M[=V/N3S7RZ%'F!6.WG!/IVKUN'X"ZC/ DT6O63QR*&5A$V"#T- 'J]QXX\&7 M4$D$^O:9)%(I1T:=2&!Z@U\O:Y!;:9XDO8M,NEFMH;@FWGB?(*YRI!'?I^-> MG?\ #/\ JG_0UA6(R*,!L=Q10!I7$<4T#Q3JC1.-K*XR"# MV.:X+5OA'H%\QDLGFL')R1&=R?D>GX&NA\<_\B3K&/\ GV:O"=*\=^)-(B$5 MMJDK1 @A)@) /8;LD#Z5V8>E4DG*F['#BJM.,DJD;GJ_AKX6Z?H&K1ZC+>RW MI])0_AQ]#A/BMXEOO#GA"1]/BF%QQQP/<^U>=>'/CKJ%C" MD&NV0OPO'VB)A')CW7&#^E>^S0QSQ-%*BO&X*LKC((/8BO-=:^!_AO4I7FLI MKG3I&YVQ$-&#_NGG\B*R-BI>?'KP\MDS6>GZA+=8^6.1%5<^Y#'C\*\/TK3K MOQ1XEAL[>/,]Y/EO+7A 3EFQV SFO7H_V>X Z^;XED9,_,%LPI(]CO.*]%\) M^!M%\'6S1Z;"S32?ZRXE(:1_;/8>PXH \X^/L:PZ9X=B3[J-,H^@""J?[/O_ M "$]<_ZXQ?\ H35Z7XW\!6?CB*SCN[R>V%JSLOD@'=NQUS]*A\$?#JR\#W-Y M-:7UQ&[;3% MN2]O9HW[Z8A>,EB3V'7]* *_C70%\3>$]0TL@>9)'NB/]V1>5/YC]:^2%EN; M,W$"N\1D7RIE!QD!@=I_%0?P%?8$_BK0+:!YI=:T\1H-S'[2AX^@-?*/BJ_L M]5\5ZG?:=$4M;BX:2-3P3D\G';)R<=LT"9Z+\"- ^U:U>:Y*@,=HGE1$_P#/ M1NI_!<_]]5] 5R'PS\/MX<\$65K*A2YF'VB=6&"&;M^ P/PKKZ!G#?%ZPN-0 M^'.H+;1F1XF29E'7:K L?P&3^%?/7@WQ3+X/\1PZM% EP%1HWB9L;E/7![&O MKUE#J5(!!X((ZUYCJWP-\.:A>O"/ MIX'M[R&TO)[E;EU=C, -N 1QCZUU= M 'SO\?/^1UL/^PH7-N M\4 @"1!2" S-GG_>K7\&>$+;P7I$FG6MU-<1O,9MTH () &./I0!XG\6_ ,N M@ZO)K6GPDZ9=ON<("1!(>H/HIZC\O2IO OQDF\.Z=%I6KVLE[:0C;#+$P\R- M?[I!X8#MR/QKZ%G@BN8'AGC62*12KHXR&!Z@BO*]:^!&B7UPTVF:A/IVXY,1 M02H/H"01^)- #;_X^:#%;DV&FW]Q,1PLH6-?SR?Y5R_A#XI>+-6\A_#[X.RZ1J<6K>(F@DEA(>"UC.Y58=&8]"1V R.^:] EDHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@#_V0$! end GRAPHIC 8 form10-k_002.jpg 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<*#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(WUG1?#FA:G+HQABL+@7)O%N%9I M1(0<%>HR,#K71"C"3E]R.:=><5'[V>C^+/'D/A34;.VGLFF2X70Z M,#_,&L-8+W1O&?A_P[=[GBLKUI+2M2:R6@AOU5H+@J2I'!ZX_#\*T/'%Y!XK\#W/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/ MQB[75GK^1'MIJ]G=:?F=YJ7BM=/\6Z=H)M"[7J%Q-OP$QGMCGI MZTNC>*!JFMZKI4MH;:?3W Y?<)%.<,.!CL?QKD)[^U\3?%71KG2)1+O[9B5MFH:?);DKU\P#Y3G_OC\C4*C%VAU:_&_\ MD4Z\E>=]$SHE\?J_A[5]:33F-O83^2G[W_7?,%R#CC[P/>KGAWQ-J>N>5++H M#VEE-'YB7)N5<'T&T<\US.JZ4=&^",MJZ[9?*CDEXQ\S2*3GZ9Q^%5?AQ);) MW*C2V#[8SC)QDXX ]*;I0=.4DMF+VM13BF^AIK\3[E]/N-27P MY,VGVTWDS3KQKP6UT_49/"> MHWT<\LVE17Y%Y81MLWJ IW9Y]NW& :]P\-7FGWOAZRFTM52S,0$:#^#'&T^X MI8FG""]U=2L+5G.5I,UJ***XCO"BBB@ HHHH **** "BBB@ HHHH *#10: . M?\+_ .OUW_L*2?\ H"5T%<_X7_U^N_\ 84D_] 2N@H HZS?G2M$O=06,2-;0 M/*$)P&VC.,TS1-3;5M#L]0:(1M<0K(4!SMR,XS5;Q?\ \B=K/_7G+_Z":YCP M=XWT!=&TG2#>$7JP+$4,3@!@.?FQBMXT^:FVEK>0JZJG*[1W_ (?Q%:%QJO\ :OP.GW']];".WD!/ M(*R(!^F*Z)48KE\FDSE5>;YO-:'2P^/H[KP/D6%U-;O-=7R*8+:(Y+$@'KZ9('XUPOC;3+C1=-?4K)";'5;6. M&[C7@)(-I5_QQ^OO5OQ;:W5M'X3UY+62XM+&*)IQ&,E0"C?KR*?L:;::V=_R MV^\3KU4FNJM_PYU^EZQXJFO[==0\/0V]I,3ND2Y#-#\N1N'?GCBIM'\42:GX MJU?1VM4C6PQB0/DOGVQQ7!?VXM]X_P!)?1M?U&ZMKNXWSVQ=PD*Y^[MZ8ZU8 MT_Q'I?ASXC^)9=3N#"LS*J81FR1] :F5'1Z:V_4J->S5WI?]#L/$GB>_TK6M M-TO3]/BNKB^5RHDF\L#:,]<'M4.M>*-;T+PVFJ76C0F19=LT27&0B=FR!_G- M2WTUMI\T,C_:800ZJ0,$#&>N.U==X1CTG4/"DMG97T^HVF MYXI)+I3N)(!(Y [&I<(QA&37J-5)3G**?H.7QE]M\0:7IFEVZ7"W5O\ :9Y2 M_$,?;C'7_$5U8.0#7F?PAL8ELM3O"6>87'V8,W.$4 @#\_T%>FCI6->,8SY8 M]#HP\I2AS2ZA1116)T!1110 4444 %%%% !1110 4444 %%%% !1110 5RWB M3_D;_"/_ %]S_P#I.]=37+>)/^1O\(_]?<__ *3O0!U-(>!FEI&Z&@#A+[XC M+IOC631+JS5+2-U1KH.?E+*""1C@9..M:P\4R'QS_P (\+9/+^S^=Y^_GZ8K MCAI4.N?$[Q1IUQ]R:S"@XSM.(\-]0>:H^$7OH/B0+;5OEN+*R>!W8_>5<8;/ MTQS7H.E3<=-TCS/;55+79LZSQ;\03X(-8L+.VG@O]]JKW,FT MJG&-N!Z ?E3FU$W?P5O+.4G[183+!(IZ@"0%?T./PH]A!<^)=$N-(T*#7]/R;>]L$M[Z(#IE _YX_P FIM6NI9OAQX9T&T&ZYU+8 MH&<#:I[_ (X_6AT*;LX[-_<$:]17YNB.Q\'^-3XEDN+>YM$M+N)4D$0DW;HV M (/ZC\Q1IGBW4;[QI>Z#)IL4<=J"SS";)V\;3C'?(^E<9.^J^'/B#I.J:K:6 MUK#=*+5A;/N0J!MYX[94_05J^']0M9/C!KVR9298O+3KRRA=P_#!_*B5*"YI M):6O^(XUINR;UO\ H7O"?Q(;Q!K9TVZT];5G1FA<2$[]IY'('H?RJ=?'SR^. ME\/PV(:W,K0FY+D?,J[F &.QXZUY_:6LMCX7TSQ1; E].U"03*!RT;-Z_7(_ MX%6OH]A)9Z_X.EG_ ./F\-Q=2^I+C(S^&*N5&E=M?TS.%>J[1?\ 2.KU+QIJ M#^(9M$T#2/M]Q;C]_*\FR.,GMFKGAGQ=+J^I7>D:E8&PU2U&YH2^X,OJ#^(_ M,5RNG:M;^!O&NOIK2RQ6^HS>?!<+&64C+'' _P!K'U%7?#+GQ%\1-0\1VD3K MIBV_V>.5E*^:WR]CUZ']*QE3BHO32V_F;1JR$@ QLH*X'3@U/11<+(J#3;,20N+:#= -L1\L90>B^@^E/ELK:>>.>6")Y8N M8W9 67Z'M5BBB[%RHK75A:WJJMU;PSJ#D"6,-@_C2VUE;6<7E6L$4$><[8T" MC/T%6**+NU@Y5>Y3BTK3X;CSXK*VCFY_>)$H;GKSBIY;>.>)HIHTDC;AD=<@ M_45+13NQ\J[%:UT^TLE9;6VA@#&<*X65K$,]M#=0&">*.6)OO(ZAE/U!JM!HVG6LPEMK&UAE'1XX54C\0*OT47 M>PG%/6Q5AT^TMX7ABMH8XI,ET2, -G@Y ZT^VL[:RC\NU@BA0G.V- HS]!4] M%%V-12"BBBD,**** "BBB@ HHHH **** "BBB@ H-%!H Y_PO_K]=_["DG_H M"5T%<_X7_P!?KO\ V%)/_0$KH* $90ZE6 (/4&H19VZG*PQ ^H05/13NQ-)[ MC$B2--J*JKZ*,"F_9H0A3RTV,%.TJA1C\J4P(65 MBJY7[IQT^E244!9$N!ZGBI*Y#Q-I-K_PE'A[5F5VN_MRVZEG)5$\J8G:O0$GJ>^!0 M!OS:[I%M,T,^J644J'#1R7"*P/N":E;4[&-H%>\MU:<9B!E4>8/]GGGJ.E+>6L4:V5N MEM;.Z9\F)+<2(R]QAF8\>GM0!Z#<:E96*;K6XXWN)8H8'>4+F*,6<3Y&?N_-)(WU^E;FB>*1'X=TL7%AJTT MQLH&>6*QD=68QJ20P&#UH ZJ6>.!=TKJBY W,P R3@#GWJI/KFDVLS0W&IV< 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\.=&8M3\-?V= -?LR)OMZ39;<<#:HS MZ\^U=!>>(]>73=9U^W>P73M+GG06;1,TDR0,5@U4DU73XKP6)7,#0>:@P5?8Q)7(.,9/(-<]:6Z^&-9EBUG3(+BT MOM2::VU*Q?'ES/:^"]2:W61I)46#$9 ;$CJAP3P#ACSVKC-O-O%]E::1J5S%8-%917FD""Y$*A J M"XBC5CCOLED&?;VJ[)3AGBD# M 'ZBD@U*RNH'GM[N":%,[Y(Y595QR6WL%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#*,=C)\6>(([[28+"[N;*$KIRR*\N?:M-CTN\GAMV^RQ$.C1KO42[Q@$DDC& 0%6@#J[F_M++9]JN88-YVIYL@7 M*X)]0\8:C#IVF6^J7":+Y4T=PX M06^]W*E,@AF;#9' ^1VAL M4#2R#:<(N&)&3C&#W/3K7$^#]72/Q;#J;K=HWB3S/M EMI8TCD4EH &90I_= M97@]A0!ZU17$V_BJ_>2#37$/]J1ZC-!=@(<"",>89%&@T444 %%%% !1110 M4444 %%%% !1110 5RWB3_D;_"/_ %]S_P#I.]=37+>)/^1O\(_]?<__ *3O M0!U-%%(>E %:34;**Z2UDNH%N'^[$T@#M]!U-++J%I!'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?>\CBXM2=K"1Y.S!5&U0=W3H.:-62^T#Q%JOB&ZTJVU#2Y$MUW^GT5Q5WJWB32M4L].N)["[EU."86\D5LT8@F1-PW#;3^+O$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-Q%7]PH PM1\(Z9J=Y)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!0!0U;1+#6TM4U"#SEM;E+J$;V7;*ARK<$9 MQZ'BL^Y\&:3=7LL\BW(CGD$T]JEPZP32 @[FC!P3P,]CCD&N@-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 2,=^2* )=/T]-.LUMTFGF ))>XF:1V)ZDLQ)_#H.P%9:^#]._M07TL MU_/ME\]+>>]ED@CDSG3@)%&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>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^XZ0)+=2W: M':OX4T_6+P7E7MN)Y5U218X(E4>9N( M)8,">-H5MW/&TT 6X]!L(MPF6 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-;-S1Q5C<* ,&7PAIDMW<7(DU*&2X? MS)!;:G<0J6P!G:C@#@#M2WWA.PU.Z66\FO9X5V$VKWWEN6NH M?L\SWES+<,T?]S,C,0OL*NZYJ\.A:1-J,\4TL<6T>7 H9V+,% )'.2.]9]A MXQTVZM;Z:Z2ZTUK!!)A/3% $VF>%M/TN[%TC75S<(IC MBDN[AYFA0_PIN)P/U/% %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" [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--)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#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%".&) 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+-?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)59EY!Z,"#GIR.] 'EDD.CO?^*8_#=LJV3 MQBO1-%T!M-O+G4+R^EO]1N42.2XD1$PB9*JJJ 68]SSU-;6T>E 'FNHZ?< M6^O2>%]K2VVO217@:??VVHP/+:$M%'+) 25*_,C M%&QGL"I&>^*I6NAF+7KC5[F]ENIFC,,",JJMO$3N*K@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%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[%+)/^1O\(_]?<__ *3O74URWB3_ )&_PC_U]S_^D[T =30>E%% 'E\&@7>H M^,?&ES;HUO?07=K<:=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!,@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;ZC8W8N9GN[>"X,5I?21>6UU'M!WE<#N2N0,';D=:M:I&Y\6:%(L;%$6X MW,!P,JN,FMW %+B@#B=-T.^NM5UZ=-N^P*7% %>P!73K8$$$1*"#]** ML44 %%%% !11FB@ HHS10 449HS0 4444 %%%&: "BBB@ HHHH **** "BBB M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M.3\;?Z_PO_V'(/\ T"2NL'2N3\;?Z_PO_P!AR#_T"2NL'2@ /3BN-UK4?$MG MXKTG3+;4=.6#4VGV&2P9VA$:;L9$HW9Z9P*[*N>UC2+N]\6^'=1A53;V!N3, M2V#\\>U<#OS0!JV-V\ZRQ2QRK+ _EO(\1C64A02R D_+SZ]CZ5R;>*VN_$TU MH=>L=,@M[L6T5O)&'DNF! ;))&T$DHH'.1G)'%=;:R7,# R#FM+6_$ M]Q:Z]I^FZM-AHHIG+R*4V\L"S@U "74UO94=8"%^;D@F/)V M@ $G@ 4 ;WBK7AX>T&:_ 0REDBA$G">8[!5W'LN3DGT!K ?Q//;>%-4U*TU M^QU>:V:/S)$@VI:J6 =F56R5527 ZD+U.:VO%VA3:_H#6<+)Y\ M-PX5L \';@X'?-@IFB:9JD.L:SK$]E;V37D421 M6B2A]S1AOG<@ GM6&O:-% MHFFW5VMO*S$M*Y*2-@#&% V#GDG/:H/%U]KND6-UJUIJ-I%!;( M/)LWM]YN7/\ 6W @L>%"]\=>E:FO:;<:A6%8 MFIVFNS>*WO)-%&HV-J4;3T^VK&J/M.Z0J1RV6(!.< <8R: $\9:]J6C(L^GZ MI:?;BJ&VT5X0\MTQ."O#;OH0,#!SD=-+Q%J.LZ?/ISV:VBV4EU;Q3O(2TA\R M4(551P.#G<3[8[UF^,='U/Q)87.E)H5DWGQ*L6H3W _<'KNP%W94Y(QP3CD9 M-;.J:5=W.C:;:1R>=-;75I))(YP6$UG6YM#.LZE/#>0[I$ M%K8:>PE)64H""9&STSC'?KQ78'I7.Z%8:GH?A1;5;:*>\CDF<1&;:K;I68?- M@XX;TH E\6>(!X=T(W@>!)9)4@A-PVV,.[8!8^@Y)]@:QF\3RVWAI[BTURSU M>]GO8;."00A$BDE9$ 95.<#<6YYQ@9[UK>+-$FUO2K=88HI+FSNH;R**5L)( MT; [2<<9&1G'!(-8-WX6U;56U357@AM+Z6YL[FVM#+N0M;-N!=@.K\KQG V_ M2@#1L=?NM+U35M-UZ^BG6PM8[T7:P^63&Y<$,HR-P*'&.N1WZR^"O$.HZ_%K M#ZG;1VKVNH-;Q1*#N6/RT=0^?X_GYQQFLV?P?>^)-6N-6U66;2I&-NL4%M)' M+E82[ ON4J?G?(&.-BFK_A#P]J6AWFO2WU[+7WG0EQ'DKY:+N.Q5PQ(QC MIA1P,F@!/%=]KND03:I;:A:K!$T:P6)M]S7+$@%2Q8'<22%V^V)?&.H: M9K6IP?VI::>;2&)[*TF@\QK]F'3.<@;OD&WD'DYR!6E?VNNR>*I;Z71!J%K; M,ITX?;5C6([,,Y0C[Y)89.<#IC)S6U+P_K'G>)88=)L]0CUL#;//: -#Q/J&N:9I4NM6]];01V\ <6,EOO,\A_Y9E\Y!)(5=HZ MGOTKI;HSFRD-O+'#-L)625-RJ<=2,C(_$5Q#:1XA@U6T^UZ:-9M-.@A6S+7B MQ+YRIAYF4@DOGH23@=.237:7,EV-.:2"U26ZV9$#R[06_NEL'\\4 +KB MRLM?NI;^#6K'3X4DAN[9 HDE.[,.5)4D'9R.F_GI20>+VL] U75)==LM8N+6 MW61K.SB"".0DA0#DDJ20,GT)SVJ"X\'7VM+X@>2RM](CU&P2U2VB=7#R*6(D 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)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)O0UI6KW: .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 S+CTVAE_/-W[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,# QR#VG\,Z7>VM]K.I7UM#:2ZC<+(+:&3>%"H%W M,V "QQDXXZU6_$>DW>IZAX=GME7;8ZA]IFW-@A/*D7 MCU.6%+XHTF[U630FM54_8M4CNI=S8PBHZG'JAKAY+FWT*=9M%UB"XMYKH*^FLX?YGDP_ED?,I!).#D=>E7"*9C4D MXV.@M_$%M<>)+O0PKKO-R.4B\B01K^"X)]R:U<(K7R_$R52;T\_P-8^)K5=(NKYHY5>VE,#VY WF M3=@*/=LKCZBJ^H^*KK39TCDT"^9995AB=7BP['H!\^?SJGA1 M6E\UG*8;HB58U[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: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_<BPK LHU&_6S)+8V QN^[W^YC'O3;/2;O^V4U+4;R.XECA:&)8 M8#$B!B"3RS$D[1WK,\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 ?0EQJGM7&Z%;I\1[ M+Q?XHOHIWL[FT6SM( [+_JT5VQ@@G,BK]<$$=JX:\72U_9PM_L+YN_[37[8&#P/EV\"@#Z;L+Z.^LX9U(#/&CLF[)3< <'\ZG$T9D,8D4NH!*YY M/3BO$=#T]_#/Q0LK;1I)WDU#PU]KF2:8OY\_S8)STY4?3G%(C?O]NCN;R;[7.,MOC:';M "@XQQ[]@ ?2+SQ1LJO(BLYPH8X+'T' MK2O+'&NYW51D#+'')X%>&1-H.H_%36O^$ZO;BWU.VOHX]%A9W1!$'S&R;>"3 MQUXY/?IA^*F\.2^-/B##XCU"XB9(XWTZ!9'"M.(N#M'!8' &>/F;Z@ ^D'D2 M-&=W5449+,< "E5E8 J00>017SQ)JAD^&/@S2/%-DD[WLLS137]U+;PQQID) MYK+\QRK84=,8-='\*_&%IH7P^OYM>@Z] M* /899XH4+RRHBCJS-@42310H7ED1$'5F.!7BWC^32[WXJ0V/CB[GMO#:6'F M6:J62*67(W;F7G(Y_P"^5]>8?&/]B7'CC2].\57MQ!X/31UDT]P[JDTO RS+ MR6"\_@/7D ]RW#UIAN(5#DRH!']\EA\O&>?3BOFJ2]OV^!?B#9<3OI4.K+'I MDLI(H'3Y='6\N%-TQ:>;Y?G<]_F.[ M'3/;'% 'O0((R#FEKS+X$7]U?_#:'[7.\I@N9(8RYR0@VD#_ ,>->FT %%%% M !1110 4444 %%%% !1110!R?C;_ %_A?_L.0?\ H$E=8.E4WUI87OQ5UJ._P##M[JP LA'+ 04M3CKBJ]H;PI*+SR,^:WE>5G_ %>?EW9_BQUQQ7F] ME+:2ZL/$6N:'-<.VKO:6^HO(,VY$S11*D>6'2;8^'X?&.]X]?-^LANRYW%3<;/)(SC9L.T#VSUJ>\\1V6 ML^,]"ODU6UCL+347MX8_M"@S,8)@\C#.0H8*JYZY)[B@#TPD#K3%GB="ZRHR M@D$AL@$=:X_XBZM=6-AI=A:I(YU:_CLI/*DV.4(9BJMV+;=N>P8FN=OH[&TT M"XT&Q\.O8W+:E;K-I<J*Z.H96#*1D$'@BA M)$D0/&RLI&05.0:\:O(Y4\(W&BI!+8ROK<<<.@^:26CV!_LXD!P%15 M+$*-QQDGM]:\B\?>([?5=2TPPZG!%9:;K=K&4%PH::3S )&(SD(@RO(');L! M5K4KZVU'6]$?#NKZM8VEO8*+_5I3U-\0:);6GB&Z MUG6]$%]HMO;V\4$J3X:S1-Q9BF06&6!/4X'0T >ET4BG*@^HI: "BBB@ HHH MH **** "BBB@ HHHH **** "@T4&@#G_ O_ *_7?^PI)_Z E=!7/^%_]?KO M_84D_P#0$KH* #I29%8/CABO@37F 8D6$W"G!^X>E9/AFU6UL+D>'_#4VA2M M-$9%U(?+*N?F*[';D+G'3DB@#M<@4Q)HI$WI(K)S\P.1QUYKD/']]E:= M!#-,-3OUMI8X)A$[IL=RN[^$'9@DCA4';J0: /3TD25 \;JZD9#*<@TX$'I7F4&L6O@G4=>T*Q2*" SP M?V;#-)MB226,EQD_=C7;O/IG Y(!U/A?*C:-JT7]H_;WBU:Y#3F0,7&_ACC@ M9Z^E ';>;'Y@CWKO(SMSSCUQ3LCUKSGQ?I=E9^(;'6$TV6TN#>P-/KN\%8UW M!3&1NW , $^Z%&[.:CUO1[73?$>I^(-:\.OJ%H;F*9+V&?+6T:Q1KDQY' =6 M8XSUZ4 >E9&,YHR!7GGC#PKH6JZ[86JZ7=LUU9201W,ULSKM$T.-Z>XW C/U% $P=#G# X.#@]*2.6.5%>-U=&& M0RG((KA?"^FV\OA?Q#I]Q!/J$ U2\C,3RYDG ?A2[$9)P!DD>YQ47AC1-*O8 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 %)/^1O\ "/\ U]S_ M /I.] '4T44'I0 F11D8S7CL-K8W_P 5O%$>H>';_5MMU:K%<0D;+8&)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)PL^*G1D+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*FPR3Q1%1)* MB%SM7J1.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,%L4(,'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^-[-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&,$\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!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 %LB!FB*MSD@_N M\G)SGG//6K"^&H3JL=]2E[)'=L >@ XK8HH HZ5I%IHUM)!9IM22>2= MLX^\[EST'3+$#T&!69+X/T^74);GSKI89KE;N:S60"&29<$.1C.2 0#SZT7?@72[N>Y) MN+Z*TNY5EN;&*8""9ACDKC(S@9 (!QS73T4 ^"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%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 EX-101.SCH 9 fsi-20231231.xsd INLINE XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT 00000001 - Document - Cover link:presentationLink link:calculationLink link:definitionLink 00000002 - Statement - Consolidated Balance Sheets link:presentationLink link:calculationLink link:definitionLink 00000003 - Statement - Consolidated Balance Sheets (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 00000004 - Statement - Consolidated Statements of Income and Comprehensive Income link:presentationLink link:calculationLink link:definitionLink 00000005 - Statement - Consolidated Statements of Cash Flows link:presentationLink link:calculationLink link:definitionLink 00000006 - Statement - Consolidated Statements of Stockholders' Equity link:presentationLink link:calculationLink link:definitionLink 995512 - Disclosure - BASIS OF PRESENTATION link:presentationLink link:calculationLink link:definitionLink 995513 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES link:presentationLink link:calculationLink link:definitionLink 995514 - Disclosure - LEASES link:presentationLink link:calculationLink link:definitionLink 995515 - Disclosure - ACCOUNTS RECEIVABLE link:presentationLink link:calculationLink link:definitionLink 995516 - Disclosure - INVENTORIES link:presentationLink link:calculationLink link:definitionLink 995517 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS link:presentationLink link:calculationLink link:definitionLink 995518 - Disclosure - PATENTS link:presentationLink link:calculationLink link:definitionLink 995519 - Disclosure - GOODWILL AND INTANGIBLE ASSETS link:presentationLink link:calculationLink link:definitionLink 995520 - Disclosure - LONG TERM DEPOSITS link:presentationLink link:calculationLink link:definitionLink 995521 - Disclosure - INVESTMENTS link:presentationLink link:calculationLink link:definitionLink 995522 - Disclosure - SHORT-TERM LINE OF CREDIT link:presentationLink link:calculationLink link:definitionLink 995523 - Disclosure - LONG TERM DEBT link:presentationLink link:calculationLink link:definitionLink 995524 - Disclosure - INCOME TAXES link:presentationLink link:calculationLink link:definitionLink 995525 - Disclosure - INCOME PER SHARE link:presentationLink link:calculationLink link:definitionLink 995526 - Disclosure - STOCK OPTIONS link:presentationLink link:calculationLink link:definitionLink 995527 - Disclosure - CAPITAL STOCK link:presentationLink link:calculationLink link:definitionLink 995528 - Disclosure - NON-CONTROLLING INTERESTS link:presentationLink link:calculationLink link:definitionLink 995529 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY link:presentationLink link:calculationLink link:definitionLink 995530 - Disclosure - SUBSEQUENT EVENTS link:presentationLink link:calculationLink link:definitionLink 995531 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies) link:presentationLink link:calculationLink link:definitionLink 995532 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables) link:presentationLink link:calculationLink link:definitionLink 995533 - Disclosure - LEASES (Tables) link:presentationLink link:calculationLink link:definitionLink 995534 - Disclosure - ACCOUNTS RECEIVABLE (Tables) link:presentationLink link:calculationLink link:definitionLink 995535 - Disclosure - INVENTORIES (Tables) link:presentationLink link:calculationLink link:definitionLink 995536 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Tables) link:presentationLink link:calculationLink link:definitionLink 995537 - Disclosure - PATENTS (Tables) link:presentationLink link:calculationLink link:definitionLink 995538 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Tables) link:presentationLink link:calculationLink link:definitionLink 995539 - Disclosure - LONG TERM DEPOSITS (Tables) link:presentationLink link:calculationLink link:definitionLink 995540 - Disclosure - INVESTMENTS (Tables) link:presentationLink link:calculationLink link:definitionLink 995541 - Disclosure - LONG TERM DEBT (Tables) link:presentationLink link:calculationLink link:definitionLink 995542 - Disclosure - INCOME TAXES (Tables) link:presentationLink link:calculationLink link:definitionLink 995543 - Disclosure - INCOME PER SHARE (Tables) link:presentationLink link:calculationLink link:definitionLink 995544 - Disclosure - STOCK OPTIONS (Tables) link:presentationLink link:calculationLink link:definitionLink 995545 - Disclosure - NON-CONTROLLING INTERESTS (Tables) link:presentationLink link:calculationLink link:definitionLink 995546 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Tables) link:presentationLink link:calculationLink link:definitionLink 995547 - Disclosure - BASIS OF PRESENTATION (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 995548 - Disclosure - SCHEDULE OF METHOD OF DEPRECIATION (Details) link:presentationLink link:calculationLink link:definitionLink 995549 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 995550 - Disclosure - SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (Details) link:presentationLink link:calculationLink link:definitionLink 995551 - Disclosure - SCHEDULE OF UNDISCOUNTED RENT PAYMENTS (Details) link:presentationLink link:calculationLink link:definitionLink 995552 - Disclosure - LEASES (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 995553 - Disclosure - SCHEDULE OF ACCOUNTS RECEIVABLE (Details) link:presentationLink link:calculationLink link:definitionLink 995554 - Disclosure - SCHEDULE OF INVENTORY (Details) link:presentationLink link:calculationLink link:definitionLink 995555 - Disclosure - SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (Details) link:presentationLink link:calculationLink link:definitionLink 995556 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 995557 - Disclosure - SCHEDULE OF PATENTS (Details) link:presentationLink link:calculationLink link:definitionLink 995558 - Disclosure - SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS (Details) link:presentationLink link:calculationLink link:definitionLink 995559 - Disclosure - PATENTS (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 995560 - Disclosure - SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (Details) link:presentationLink link:calculationLink link:definitionLink 995561 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 995562 - Disclosure - SCHEDULE OF LONG TERM DEPOSITS (Details) link:presentationLink link:calculationLink link:definitionLink 995563 - Disclosure - SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED (Details) link:presentationLink link:calculationLink link:definitionLink 995564 - Disclosure - SCHEDULE OF EQUITY METHOD INVESTMENT (Details) link:presentationLink link:calculationLink link:definitionLink 995565 - Disclosure - SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (Details) link:presentationLink link:calculationLink link:definitionLink 995566 - Disclosure - INVESTMENTS (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 995567 - Disclosure - SHORT-TERM LINE OF CREDIT (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 995568 - Disclosure - SCHEDULE OF LOAN COVENANTS (Details) link:presentationLink link:calculationLink link:definitionLink 995569 - Disclosure - SCHEDULE OF OUTSTANDING BALANCE LOAN (Details) link:presentationLink link:calculationLink link:definitionLink 995570 - Disclosure - LONG TERM DEBT (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 995571 - Disclosure - SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT) (Details) link:presentationLink link:calculationLink link:definitionLink 995572 - Disclosure - SCHEDULE OF RECONCILIATION OF INCOME TAXES (Details) link:presentationLink link:calculationLink link:definitionLink 995573 - Disclosure - SCHEDULE OF DEFERRED TAX ASSETS (LIABILITIES) (Details) link:presentationLink link:calculationLink link:definitionLink 995574 - Disclosure - SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS (Details) link:presentationLink link:calculationLink link:definitionLink 995575 - Disclosure - INCOME TAXES (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 995576 - Disclosure - SCHEDULE OF BASIC AND DILUTED LOSS PER SHARE (Details) link:presentationLink link:calculationLink link:definitionLink 995577 - Disclosure - SCHEDULE OF ANTI-DILUTIVE OPTIONS (Details) link:presentationLink link:calculationLink link:definitionLink 995578 - Disclosure - INCOME PER SHARE (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 995579 - Disclosure - SCHEDULE OF STOCK OPTION ACTIVITIES (Details) link:presentationLink link:calculationLink link:definitionLink 995580 - Disclosure - SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS (Details) link:presentationLink link:calculationLink link:definitionLink 995581 - Disclosure - STOCK OPTIONS (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 995582 - Disclosure - CAPITAL STOCK (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 995583 - Disclosure - SCHEDULE OF DISTRIBUTIONS (Details) link:presentationLink link:calculationLink link:definitionLink 995584 - Disclosure - SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (Details) link:presentationLink link:calculationLink link:definitionLink 995585 - Disclosure - NON-CONTROLLING INTERESTS (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 995586 - Disclosure - SCHEDULE OF REPORTABLE SEGMENTS (Details) link:presentationLink link:calculationLink link:definitionLink 995587 - Disclosure - SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (Details) link:presentationLink link:calculationLink link:definitionLink 995588 - Disclosure - SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE (Details) link:presentationLink link:calculationLink link:definitionLink 995589 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 995590 - Disclosure - SUBSEQUENT EVENTS (Details Narrative) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 10 fsi-20231231_cal.xml INLINE XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT EX-101.DEF 11 fsi-20231231_def.xml INLINE XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT EX-101.LAB 12 fsi-20231231_lab.xml INLINE XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT Equity Components [Axis] Common Stock [Member] Capital in Excess of Par Value [Member] Retained Earnings [Member] AOCI Attributable to Parent [Member] Parent [Member] Noncontrolling Interest [Member] Ownership [Axis] 317 Mendota LLC [Member] ENP Investments LLC and ENP Mendota [Member] ENP Peru [Member] Related Party, Type [Axis] Unrelated Party [Member] ENP Investments And 317 ENP Mendota [Member] Short-Term Debt, Type [Axis] First Term [Member] Second Term [Member] Third Term [Member] Fourth Term [Member] Product and Service [Axis] Shipping and Handling [Member] Concentration Risk Type [Axis] Three Primary Customers [Member] Concentration Risk Benchmark [Axis] Revenue from Contract with Customer Benchmark [Member] Accounts Receivable [Member] Investment, Name [Axis] Investment [Member] Long-Lived Tangible Asset [Axis] Computer Equipment [Member] Machinery and Equipment [Member] Office Equipment [Member] Boat [Member] Building and Building Improvements [Member] Trailer [Member] Automobiles [Member] Patents [Member] Technology Equipment [Member] Leasehold Improvements [Member] Customer Relationships [Member] Software [Member] Land [Member] Developed Technology Rights [Member] Finite-Lived Intangible Assets by Major Class [Axis] Legal Entity [Axis] ENP Investments Limited Liability Corporation (LLC) [Member] Asset Class [Axis] Finite-Lived Intangible Assets [Member] ENP Peru Investments LLC [Member] Nano Chem [Member] ENP Investments, LLC [Member] ENP Investments LLC [Member] Applied Holding Corp [Member] Trio Opportunity Corp [Member] Class of Stock [Axis] Common Class B [Member] Florida Based LLC [Member] Lygos Inc [Member] Lender Name [Axis] Stock Yard And Bank One [Member] Midland States Bank [Member] Collaborative Arrangement and Arrangement Other than Collaborative [Axis] New Agreement [Member] NanoChem Solutions Inc [Member] Stock Bank [Member] Credit Facility [Axis] Revolving Credit Facility [Member] Debt Instrument [Axis] Term Loan [Member] Midland Bank [Member] NanoChem Solutions Inc [Member] Variable Rate [Axis] Prime Rate [Member] ENP Mendota, LLC [Member] Stock Yards Bank & Trust [Member] ENP Realty LLC [Member] ENP Peru Investments [Member] ENP Peru One [Member] Mendota [Member] Midland States Bank One [Member] Stock Yards Bank Trust One [Member] Stock Yards Bank Trust Two [Member] Stock Yards Bank Trust Three [Member] Stock Yards Bank Trust Four [Member] Stock Yards Bank Trust Five [Member] Income Tax Authority, Name [Axis] Canada Revenue Agency [Member] Internal Revenue Service (IRS) [Member] Tax Period [Axis] 2030 [Member] 2031 [Member] 2032 [Member] 2037 [Member] 2039 [Member] 2040 [Member] Title of Individual [Axis] Consultants [Member] Employees [Member] Statistical Measurement [Axis] Minimum [Member] Maximum [Member] Award Type [Axis] Share-Based Payment Arrangement, Option [Member] Consultant Stock Option [Member] Ownership Interest Purchase Agreement [Member] Customer [Axis] Three Customers [Member] EWCP [Member] Segments [Axis] Segment [Member] BCPA [Member] Geographical [Axis] CANADA United States and Abroad [Member] UNITED STATES Subsequent Event Type [Axis] Subsequent Event [Member] Cover [Abstract] Document Type Amendment Flag Amendment Description Document Registration Statement Document Annual Report Document Quarterly Report Document Transition Report Document Shell Company Report Document Shell Company Event Date Document Period Start Date Document Period End Date Document Fiscal Period Focus Document Fiscal Year Focus Current Fiscal Year End Date Entity File Number Entity Registrant Name Entity Central Index Key Entity Primary SIC Number Entity Tax Identification Number Entity Incorporation, State or Country Code Entity Address, Address Line One Entity Address, Address Line Two Entity Address, Address Line Three Entity Address, City or Town Entity Address, State or Province Entity Address, Country Entity Address, Postal Zip Code Country Region City Area Code Local Phone Number Extension Written Communications Soliciting Material Pre-commencement Tender Offer Pre-commencement Issuer Tender Offer Title of 12(b) Security No Trading Symbol Flag Trading Symbol Security Exchange Name Title of 12(g) Security Security Reporting Obligation Annual Information Form Audited Annual Financial Statements Entity Well-known Seasoned Issuer Entity Voluntary Filers Entity Current Reporting Status Entity Interactive Data Current Entity Filer Category Entity Small Business Entity Emerging Growth Company Elected Not To Use the Extended Transition Period Document Accounting Standard Other Reporting Standard Item Number Entity Shell Company Entity Public Float Entity Bankruptcy Proceedings, Reporting Current Entity Common Stock, Shares Outstanding Documents Incorporated by Reference [Text Block] ICFR Auditor Attestation Flag Document Financial Statement Error Correction [Flag] Auditor Name Auditor Firm ID Auditor Location Statement of Financial Position [Abstract] Assets Current Cash Term deposits (Note 2) Accounts receivable, net (Note 4) Inventories (Note 5) Prepaid expenses and deposits Total current assets Property, equipment and leaseholds, net (Note 6) Right of use assets (Note 3) Intangible assets (Note 8) Long term deposits (Note 9) Investments (Note 10) Goodwill (Note 8) Deferred tax asset (Note 13) Total Assets Liabilities Current Accounts payable Accrued liabilities Deferred revenue Income taxes payable Short term line of credit (Note 11) Current portion of lease liability (Note 3) Current portion of long term debt (Note 12) Total current liabilities Lease liability (Note 3) Deferred income tax liability (Note 13) Long term debt (Note 12) Total Liabilities Stockholders’ Equity Common stock, value Capital in excess of par value Other comprehensive loss Accumulated earnings Total stockholders’ equity – controlling interest Non-controlling interests (Note 17) Total Stockholders’ Equity Total Liabilities and Stockholders’ Equity Common stock, shares authorized Common stock, par value Preferred stock, shares authorized Preferred stock, par value Common stock, shares issued Common stock, shares outstanding Income Statement [Abstract] Sales Cost of sales (Note 6, 7 & 8) Gross profit Operating expenses Wages Administrative salaries and benefits Insurance Office and miscellaneous Interest expense Consulting Travel Professional fees Investor relations and transfer agent fee Advertising and promotion Research Lease expense Telecommunications Commissions Utilities Shipping Currency exchange Bad debt expense Total operating expenses Operating income Gain on sale of asset (Note 6) Gain on investments (Note 10) Gain on previously held equity interest (Note 10) Interest income Income before income tax Income taxes (Note 13) Deferred income tax recovery Current income tax expense Net income for the year Net income attributable to non-controlling interests Net income attributable to controlling interest Income per share (basic) (Note 14) Income per share (diluted) (Note 14) Weighted average number of common shares (basic) Weighted average number of common shares (diluted) Other comprehensive income: Net income Unrealized gain (loss) on foreign currency transactions Total comprehensive income Comprehensive income – non-controlling interest Comprehensive income attributable to controlling interests Statement of Cash Flows [Abstract] Operating activities Net income for the year Adjustments to reconcile net income to net cash: Stock based compensation Depreciation and amortization Lease right of use financing Lease right of use amortization Gain on investments Gain on sale of asset Deferred income tax recovery Gain on acquisition of ENP Peru, LLC Changes in non-cash working capital items: Increase in accounts receivable Decrease (increase) in inventories Decrease (increase) in prepaid expenses and deposits Increase (decrease) in accounts payable and accrued liabilities Decrease in income taxes payable (Decrease) increase in deferred revenue Cash provided by operating activities Investing activities Purchase of investments Redemption of investments Distributions received from equity investments Non-controlling interest of 317 Mendota Long term deposits Proceeds from sale of asset Purchase of property and equipment Acquisition of ENP Peru, LLC Cash used in investing activities Financing activities (Repayment) advance of short term line of credit Repayment of long term debt Proceeds of long term debt Lease payments Dividends paid Distribution to non-controlling interest Common stock issued Cash provided by (used in) financing activities Effect of exchange rate changes on cash Inflow of cash Cash resources, beginning Cash resources Cash resources are comprised of: Cash Term deposits Supplemental disclosure of cash flow information: Income taxes paid Interest paid Statement [Table] Statement [Line Items] Balance Balance, shares Translation adjustment Common stock issued Common stock issued, shares Distributions to noncontrolling interests Stock-based compensation Dividends paid Non-controlling interest of 317 Mendota LLC Balance Balance, shares Pay vs Performance Disclosure [Table] Executive Category [Axis] Individual [Axis] Adjustment to Compensation [Axis] Measure [Axis] Pay vs Performance [Table Text Block] Company Selected Measure Name Named Executive Officers, Footnote [Text Block] Peer Group Issuers, Footnote [Text Block] Changed Peer Group, Footnote [Text Block] PEO Total Compensation Amount PEO Actually Paid Compensation Amount Adjustment To PEO Compensation, Footnote [Text Block] Non-PEO NEO Average Total Compensation Amount Non-PEO NEO Average Compensation Actually Paid Amount Adjustment to Non-PEO NEO Compensation Footnote [Text Block] Equity Valuation Assumption Difference, Footnote [Text Block] Compensation Actually Paid vs. Total Shareholder Return [Text Block] Compensation Actually Paid vs. Net Income [Text Block] Compensation Actually Paid vs. Company Selected Measure [Text Block] Total Shareholder Return Vs Peer Group [Text Block] Compensation Actually Paid vs. Other Measure [Text Block] Tabular List [Table Text Block] Total Shareholder Return Amount Peer Group Total Shareholder Return Amount Net Income (Loss) Attributable to Parent Company Selected Measure Amount Other Performance Measure Amount Adjustment to Compensation Amount PEO Name Measure Name Non-GAAP Measure Description [Text Block] Additional 402(v) Disclosure [Text Block] Erroneously Awarded Compensation Recovery [Table] Restatement Determination Date [Axis] Restatement Determination Date Aggregate Erroneous Compensation Amount Erroneous Compensation Analysis [Text Block] Stock Price or TSR Estimation Method [Text Block] Outstanding Aggregate Erroneous Compensation Amount Aggregate Erroneous Compensation Not Yet Determined [Text Block] Forgone Recovery, Individual Name Forgone Recovery due to Expense of Enforcement, Amount Forgone Recovery due to Violation of Home Country Law, Amount Forgone Recovery due to Disqualification of Tax Benefits, Amount Forgone Recovery, Explanation of Impracticability [Text Block] Outstanding Recovery, Individual Name Outstanding Recovery Compensation Amount Restatement Does Not Require Recovery [Text Block] Awards Close in Time to MNPI Disclosures [Table] Award Timing MNPI Disclosure [Text Block] Award Timing Method [Text Block] Award Timing Predetermined [Flag] Award Timing MNPI Considered [Flag] Award Timing, How MNPI Considered [Text Block] MNPI Disclosure Timed for Compensation Value [Flag] Awards Close in Time to MNPI Disclosures [Table Text Block] Awards Close in Time to MNPI Disclosures, Individual Name Award Underlying Securities Amount Award Exercise Price Award Grant Date Fair Value Underlying Security Market Price Change, Percent Insider Trading Arrangements [Line Items] Material Terms of Trading Arrangement Name Title Rule 10b5-1 Arrangement Adopted Non-Rule 10b5-1 Arrangement Adopted Adoption Date Rule 10b5-1 Arrangement Terminated Non-Rule 10b5-1 Arrangement Terminated Termination Date Arrangement Duration Aggregate Available Insider Trading Policies and Procedures [Line Items] Insider Trading Policies and Procedures Adopted [Flag] Insider Trading Policies and Procedures Not Adopted [Text Block] Accounting Policies [Abstract] BASIS OF PRESENTATION SIGNIFICANT ACCOUNTING POLICIES Leases LEASES Receivables [Abstract] ACCOUNTS RECEIVABLE Inventory Disclosure [Abstract] INVENTORIES Property, Plant and Equipment [Abstract] PROPERTY, EQUIPMENT AND LEASEHOLDS Goodwill and Intangible Assets Disclosure [Abstract] PATENTS GOODWILL AND INTANGIBLE ASSETS Long Term Deposits LONG TERM DEPOSITS Equity Method Investments and Joint Ventures [Abstract] INVESTMENTS Debt Disclosure [Abstract] SHORT-TERM LINE OF CREDIT LONG TERM DEBT Income Tax Disclosure [Abstract] INCOME TAXES Earnings Per Share [Abstract] INCOME PER SHARE Share-Based Payment Arrangement [Abstract] STOCK OPTIONS Equity [Abstract] CAPITAL STOCK Noncontrolling Interest [Abstract] NON-CONTROLLING INTERESTS Segment Reporting [Abstract] SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY Subsequent Events [Abstract] SUBSEQUENT EVENTS Cash and Cash Equivalents Term Deposits Inventories and Cost of Sales Allowance for Doubtful Accounts Property, Equipment, Leaseholds and Intangible Assets Impairment of Long-Lived Assets Foreign Currency Revenue Recognition Stock Issued in Exchange for Services Stock-based Compensation Other Comprehensive Income Income Per Share Use of Estimates Fair Value of Financial Instruments Contingencies Income Taxes Risk Management Equity Method Investment Goodwill and Intangible Assets Recent Accounting Pronouncements SCHEDULE OF METHOD OF DEPRECIATION SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY SCHEDULE OF UNDISCOUNTED RENT PAYMENTS SCHEDULE OF ACCOUNTS RECEIVABLE SCHEDULE OF INVENTORY SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS SCHEDULE OF PATENTS SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE SCHEDULE OF LONG TERM DEPOSITS SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED SCHEDULE OF EQUITY METHOD INVESTMENT SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT SCHEDULE OF LOAN COVENANTS SCHEDULE OF OUTSTANDING BALANCE LOAN SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT) SCHEDULE OF RECONCILIATION OF INCOME TAXES SCHEDULE OF DEFERRED TAX ASSETS (LIABILITIES) SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS SCHEDULE OF BASIC AND DILUTED LOSS PER SHARE SCHEDULE OF ANTI-DILUTIVE OPTIONS SCHEDULE OF STOCK OPTION ACTIVITIES SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS SCHEDULE OF DISTRIBUTIONS SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION SCHEDULE OF REPORTABLE SEGMENTS SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE Subsidiary company ownership interest rate Increase decrease in share percentage Remaining investment owned percentage Noncontrolling interest percentage Property, Plant and Equipment [Table] Property, Plant and Equipment [Line Items] Depreciation method used and annual rate Schedule of Product Information [Table] Product Information [Line Items] Deposits Debt Instrument, Interest Rate, Stated Percentage Minimum interest penalty Sale Cost of sales Accounts receivable, after allowance for credit loss, percentage Equity method investment, description Summary Of Right-of-use Asset And Lease Liability Right of use assets, beginning balance Depreciation Right of use assets, ending balance Lease liability, beginning balance Lease interest expense Payments Lease liability, ending balance Short-term portion Long-term portion Total Schedule Of Undiscounted Rent Payments 2024 2025 Total Impact of discounting Lease liability, December 31, 2023 Operating leases discount rate Accounts receivable Allowances for doubtful accounts Total accounts receivable Completed goods Raw materials and supplies Total inventory Cost Accumulated Depreciation Property, plant and equipment, net, total Depreciation Sale of assets Patents, cost Patents, Accumulated amortization Patents, net Goodwill Indefinite lived intangible assets Indefinite lived intangible assets, beginning balance Amortization Indefinite lived intangible assets, ending balance Schedule of Finite-Lived Intangible Assets [Table] Finite-Lived Intangible Assets [Line Items] Amount of amortization Impairment Effects on Earnings Per Share [Table] Impairment Effects on Earnings Per Share [Line Items] 2024 2025 2026 2027 2028 Amortization Schedule Of Long Term Deposits Long term deposits Purchase consideration Cash Building Land Deferred tax liability Long term debt Total identifiable net assets: Excess of assets acquired over consideration Less investment eliminated upon consolidation Gain on acquisition of ENP Peru Balance, Beginning Return of equity Gain in equity method investment Investment eliminated upon consolidation Balance, Ending Net sales Gross profit Net income Schedule of Equity Method Investments [Table] Schedule of Equity Method Investments [Line Items] Ownership percentage Additional equity method investment ownership percentage Non-controlling interest percentage Investment Debt maturity Share price Sales Accounts receivable related parties Payments to Acquire Investments Line of Credit Facility [Table] Line of Credit Facility [Line Items] Line of Credit Facility, Current Borrowing Capacity Aggregate amount of revolving line of credit Percentage of foreign accounts receivable of inventory Debt face amount Interest rate Loan guaranteed rate Line of credit Short term borrowings Eligible percentage of domestic accounts receivable Balance, beginning of period Plus: Proceeds from loans Plus: Loan acquired with acquisition of ENP Peru Less: Payments on loan Balance, end of period Schedule of Defined Benefit Plans Disclosures [Table] Defined Benefit Plan Disclosure [Line Items] Long-term debt Less: current portion Long-term debt non current Schedule of Short-Term Debt [Table] Short-Term Debt [Line Items] Debt instrument face amount Debt instrument interest rate stated percentage Debt instrument term Interest expense debt Debt Long term debt amount First mortgage Current tax, federal Current tax, state Current tax, foreign Current tax Income tax recovery Current tax, total Deferred income tax, federal Deferred income tax, state Deferred income tax, foreign Deferred income tax, total Total Income before tax US statutory tax rates Expected income tax Non-deductible items Change in estimates and other Foreign tax rate difference Change in valuation allowance Total income tax expense (recovery) Current income tax expense Deferred tax recovery Operating Loss Carryforwards [Table] Operating Loss Carryforwards [Line Items] Net operating loss carryforwards Intangible assets Property, equipment and leaseholds Deferred tax assets gross Valuation Allowance Net deferred tax asset Investments Property, equipment and leaseholds Financial instruments Deferred tax asset not recognized Net deferred tax liability Total Current income tax expense Operating loss carryforwards Net income attributable to controlling interest Basic Diluted Basic Diluted Anti-dilutive options Preferred stock, shares issued Preferred stock, shares outstanding Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table] Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items] Number of shares, Beginning Balance Exercise price per share, Beginning Balance Weighted average exercise price, Beginning Balance Number of shares, Granted Exercise price per share, Granted Weighted average exercise price, Granted Number of shares, Cancelled or expired Exercise price per share, Cancelled or expired Weighted average exercise price, Cancelled or expired Number of shares, Exercised Exercise price per share, Exercised Weighted average exercise price, Exercised Number of shares Exercisable, Ending Balance Exercise price per share, Ending Balance Weighted average exercise price, Ending Balance Number of shares Exercisable, Ending Balance Exercise price per share Exercisable, Ending Balance Weighted average exercise price, Exercisable, Ending Balance Expected life - years Interest rate Volatility Weighted average fair value of options granted 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] Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [Line Items] Options granted percentage Vested term Options maximum granted term Weighted-average remaining contractual life Stock options granted Stock option expense Additional expenses due to options granted Stock options exercised Stock vested compensation non vested Weighted average period expected to be recognized Aggregate intrinsic value of vested options Aggregate intrinsic value of vested options exercised Consultant for services, shares Consultant for services, value Dividends per share Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [Table] Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [Line Items] Distribution to noncontrolling interests, Beginning balance Distribution Non-controlling interest share of income Distribution to noncontrolling interests, Ending balance Distribution to noncontrolling interests, Acquisition Distribution to noncontrolling interests, Non-controlling interest share of loss Related party owner ship percentage Partnership distribution to non-controlling interest Accounts receivable Revenue from External Customers by Products and Services [Table] Revenue from External Customer [Line Items] Depreciation Current and deferred income tax expense Segment profit Segment assets Expenditures for segment assets Schedule of Revenues from External Customers and Long-Lived Assets [Table] Revenues from External Customers and Long-Lived Assets [Line Items] Total Total Schedule of Revenue by Major Customers, by Reporting Segments [Table] Revenue, Major Customer [Line Items] Number of operating segments Accounts receivable, after allowance for credit loss Stock option exercise percent Subsequent Event [Table] Subsequent Event [Line Items] Stock option issued upon exercise Stock option granted ENP Peru Investments LLC [Member] ENP Investments LLC and ENP Mendota [Member] ENP Peru [Member] Unrelated Party [Member] Increase decrease in share percentage. Remaining investment owned percentage. 317 Mendota LLC [Member] Term Deposits [Policy Text Block] Consulting. Investor relations aand transfer agent fee. Commissions. Shipping cost. Other term deposit. Second term deposit. Third term deposit. Schedule Of Method Of Depreciation [Table Text Block] Depreciation method used and annual rate. Boat [Member] Trailer [Member] Software [Member] Stock Issued In Exchange For Services [Policy Text Block] Three Primary Customers [Member] Concentration Risk Threshold Percentage. Investment [Member] Summary Of Right of use Asset And Lease Liability [Table Text Block] Gain on acquisition. Lease interest expense. Current income tax expense benefits. ENP Investments Limited Liability Corporation (LLC) [Member] Long term deposits [Text Block] Schedule Of Long Term Deposits [Table Text Block] Nano Chem [Member] ENP Investments LLC [Member] Additional equity method investment ownership percentage. Lease right of use financing. Payments to acquire long term deposits. Remainning share outstanding. ENP Investments LLC [Member] Gain on acquisition of subsidiary. Business combination recognized identifiable assets acquired and liabilities assumed long term debt. Business combination recognized identifiable assets acquired and liabilities assumed less purchase price. Investment eliminated upon consolidation. Return of equity. Applied Holding Corp [Member] Capital in Excess of Par Value [Member] Trio Opportunity Corp [Member] Florida Based LLC [Member] Net income. Lygos Inc [Member] Stock Yard And Bank One [Member] Midland States Bank [Member] New Agreement [Member] Percentage of foreign accounts receivable of inventory. Proceeds from redemption of investments. Loan guaranteed rate. NanoChem Solutions Inc [Member] Stock Bank [Member] Eligible percentage of domestic accounts receivable. Term Loan [Member] Midland Bank [Member] NanoChem Solutions Inc [Member] Employee [Member] ENP Mendota, LLC [Member] Stock Yards Bank Trust [Member] ENP Realty LLC [Member] Schedule of distributions [Table Text Block] Ownership Interest Purchase Agreement [Member] ENP Peru One [Member] ENP Peru Investments [Member] Mendota [Member] Schedule of loan covenants [Table Text Block] Proceeds from loan acquired from acquisition. Current tax. Income tax recovery. Consultant Stock Option [Member] Expected income tax recovery. Schedule of noncontrolling interest related to acquisition [Table Text Block] Deferred tax assets property plants and equipment. Deferred tax assets property plants and equipment. Deferred tax asset not recognized. Schedule of nonoperating loss carryforwards [Table Text Block] 2030 [Member] 2031 [Member] 2032 [Member] 2037 [Member] 2039 [Member] 2040 [Member] EWCP [Member] Segment [Member] BCPA [Member] Segment assets. Exercise price per share. Exercise price per share, Granted. Cancelled or expired, Exercise price per share. Exercised, Exercise price per share. Three Customers [Member] Exercise price per share. Stock option exercise percent Consultants [Member] Additional expenses due to options granted. Employees [Member] First Term [Member] Second Term [Member] Third Term [Member] Gain on previously held equity interest. United States and Abroad [Member] ENP Investments And 317 ENP Mendota [Member] NanoChem Solutions Inc [Member] [Default Label] Assets, Current Assets [Default Label] Liabilities, Current Liabilities [Default Label] Equity, Attributable to Parent Equity, Including Portion Attributable to Noncontrolling Interest Gross Profit Gain (Loss), Foreign Currency Transaction, before Tax Operating Expenses Operating Income (Loss) Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest Comprehensive Income (Loss), Net of Tax, Attributable to Noncontrolling Interest Comprehensive Income (Loss), Net of Tax, Attributable to Parent Gain (Loss) on Disposition of Property Plant Equipment Increase (Decrease) in Accounts Receivable Increase (Decrease) in Inventories Increase (Decrease) in Prepaid Expense Net Cash Provided by (Used in) Operating Activities PaymentsToAcquireLongTermDeposits Payments to Acquire Property, Plant, and Equipment Payments to Acquire Businesses, Net of Cash Acquired Net Cash Provided by (Used in) Investing Activities Repayments of Long-Term Debt Payments of Financing Costs Payments of Dividends Net Cash Provided by (Used in) Financing Activities Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations Short-Term Investments Shares, Outstanding Stock Issued During Period, Value, New Issues Noncontrolling Interest, Decrease from Distributions to Noncontrolling Interest Holders Dividends Operating Lease, Right-of-Use Asset, Periodic Reduction Operating Lease, Payments Lessee, Operating Lease, Liability, to be Paid Lessee, Operating Lease, Liability, Undiscounted Excess Amount Allowance for Doubtful Accounts, Premiums and Other Receivables Accounts and Financing Receivable, after Allowance for Credit Loss Finite-Lived Intangible Asset, Expected Amortization, Year One Finite-Lived Intangible Asset, Expected Amortization, Year Two Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Buildings Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Land Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Liabilities BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice RealizedInvestmentGainsLossesNet Revenues Payments for (Proceeds from) Deposit on Loan CurrentTax IncomeTaxRecovery Deferred Tax Assets, Valuation Allowance Deferred Tax Assets, Investments DeferredTaxAssetsPropertyPlantsAndEquipmentOne Deferred Tax Liabilities, Net Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price Noncontrolling Interest, Decrease from Deconsolidation Depreciation, Nonproduction Long-Lived Assets EX-101.PRE 13 fsi-20231231_pre.xml INLINE XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT XML 15 R1.htm IDEA: XBRL DOCUMENT v3.24.1
Cover - USD ($)
12 Months Ended
Dec. 31, 2023
Mar. 29, 2024
Jun. 30, 2023
Cover [Abstract]      
Document Type 10-K    
Amendment Flag false    
Document Annual Report true    
Document Transition Report false    
Document Period End Date Dec. 31, 2023    
Document Fiscal Period Focus FY    
Document Fiscal Year Focus 2023    
Current Fiscal Year End Date --12-31    
Entity File Number 001-31540    
Entity Registrant Name FLEXIBLE SOLUTIONS INTERNATIONAL, INC.    
Entity Central Index Key 0001069394    
Entity Tax Identification Number 71-1630889    
Entity Incorporation, State or Country Code A0    
Entity Address, Address Line One 6001 54 Ave.    
Entity Address, City or Town Taber    
Entity Address, State or Province AB    
Entity Address, Country CA    
Entity Address, Postal Zip Code T1G 1X4    
City Area Code (403)    
Local Phone Number 223-2995    
Title of 12(b) Security Common Stock, $0.001 par value    
Trading Symbol FSI    
Security Exchange Name NYSEAMER    
Entity Well-known Seasoned Issuer No    
Entity Voluntary Filers No    
Entity Current Reporting Status Yes    
Entity Interactive Data Current Yes    
Entity Filer Category Non-accelerated Filer    
Entity Small Business true    
Entity Emerging Growth Company false    
Entity Shell Company false    
Entity Public Float     $ 19,343,103
Entity Common Stock, Shares Outstanding   12,450,532  
Documents Incorporated by Reference [Text Block] None    
ICFR Auditor Attestation Flag false    
Document Financial Statement Error Correction [Flag] false    
Auditor Name Smythe LLP    
Auditor Firm ID 995    
Auditor Location Vancouver, Canada    
XML 16 R2.htm IDEA: XBRL DOCUMENT v3.24.1
Consolidated Balance Sheets - USD ($)
Dec. 31, 2023
Dec. 31, 2022
Current    
Cash $ 5,017,583 $ 6,115,099
Term deposits (Note 2) 2,690,241 700,000
Accounts receivable, net (Note 4) 9,843,056 9,449,857
Inventories (Note 5) 11,134,889 14,419,430
Prepaid expenses and deposits 1,540,923 310,297
Total current assets 30,226,692 30,994,683
Property, equipment and leaseholds, net (Note 6) 13,171,787 9,709,288
Right of use assets (Note 3) 115,293 167,222
Intangible assets (Note 8) 2,280,000 2,440,000
Long term deposits (Note 9) 824,254 8,540
Investments (Note 10) 6,033,960 5,458,895
Goodwill (Note 8) 2,534,275 2,534,275
Deferred tax asset (Note 13) 284,794 274,289
Total Assets 55,471,055 51,587,192
Current    
Accounts payable 1,984,592 873,904
Accrued liabilities 284,131 959,856
Deferred revenue 148,292 387,763
Income taxes payable 4,485,213 4,486,350
Short term line of credit (Note 11) 1,810,479 2,818,591
Current portion of lease liability (Note 3) 59,520 58,080
Current portion of long term debt (Note 12) 1,281,632 717,612
Total current liabilities 10,053,859 10,302,156
Lease liability (Note 3) 55,773 109,142
Deferred income tax liability (Note 13) 260,047 500,459
Long term debt (Note 12) 6,833,304 5,436,465
Total Liabilities 17,202,983 16,348,222
Stockholders’ Equity    
Common stock, value 12,436 12,426
Capital in excess of par value 17,932,015 17,523,345
Other comprehensive loss (795,146) (805,799)
Accumulated earnings 18,053,051 15,903,964
Total stockholders’ equity – controlling interest 35,202,356 32,633,936
Non-controlling interests (Note 17) 3,065,716 2,605,034
Total Stockholders’ Equity 38,268,072 35,238,970
Total Liabilities and Stockholders’ Equity $ 55,471,055 $ 51,587,192
XML 17 R3.htm IDEA: XBRL DOCUMENT v3.24.1
Consolidated Balance Sheets (Parenthetical) - $ / shares
Dec. 31, 2023
Dec. 31, 2022
Statement of Financial Position [Abstract]    
Common stock, shares authorized 50,000,000 50,000,000
Common stock, par value $ 0.001 $ 0.001
Preferred stock, shares authorized 1,000,000 1,000,000
Preferred stock, par value $ 0.01 $ 0.01
Common stock, shares issued 12,435,532 12,426,260
Common stock, shares outstanding 12,435,532 12,426,260
XML 18 R4.htm IDEA: XBRL DOCUMENT v3.24.1
Consolidated Statements of Income and Comprehensive Income - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Income Statement [Abstract]    
Sales $ 38,324,806 $ 45,840,469
Cost of sales (Note 6, 7 & 8) 27,987,451 31,971,596
Gross profit 10,337,355 13,868,873
Operating expenses    
Wages 2,659,654 2,537,783
Administrative salaries and benefits 1,205,007 1,032,394
Insurance 861,501 683,272
Office and miscellaneous 508,376 350,126
Interest expense 498,666 292,949
Consulting 324,327 312,171
Travel 264,563 171,369
Professional fees 238,466 660,821
Investor relations and transfer agent fee 222,650 179,505
Advertising and promotion 194,308 182,609
Research 158,246 99,275
Lease expense 97,806 149,446
Telecommunications 55,093 42,098
Commissions 35,623 30,732
Utilities 26,854 29,517
Shipping 24,060 23,469
Currency exchange (37,632) 23,091
Bad debt expense 17,869
Total operating expenses 7,337,568 6,818,496
Operating income 2,999,787 7,050,377
Gain on sale of asset (Note 6) 4,589
Gain on investments (Note 10) 505,065 341,424
Gain on previously held equity interest (Note 10) 335,051
Interest income 113,809 132,233
Income before income tax 3,623,250 7,859,085
Income taxes (Note 13)    
Deferred income tax recovery 250,917 71,295
Current income tax expense (118,182) (217,151)
Net income for the year 3,755,985 7,713,229
Net income attributable to non-controlling interests (980,121) (691,625)
Net income attributable to controlling interest $ 2,775,864 $ 7,021,604
Income per share (basic) (Note 14) $ 0.22 $ 0.57
Income per share (diluted) (Note 14) $ 0.22 $ 0.56
Weighted average number of common shares (basic) 12,434,886 12,379,316
Weighted average number of common shares (diluted) 12,489,467 12,466,415
Other comprehensive income:    
Net income $ 3,755,985 $ 7,713,229
Unrealized gain (loss) on foreign currency transactions 10,653 (30,069)
Total comprehensive income 3,766,638 7,683,160
Comprehensive income – non-controlling interest (980,121) (691,625)
Comprehensive income attributable to controlling interests $ 2,786,517 $ 6,991,535
XML 19 R5.htm IDEA: XBRL DOCUMENT v3.24.1
Consolidated Statements of Cash Flows - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Operating activities    
Net income for the year $ 3,755,985 $ 7,713,229
Adjustments to reconcile net income to net cash:    
Stock based compensation 395,080 399,148
Depreciation and amortization 1,686,319 1,277,431
Lease right of use financing 6,151 8,566
Lease right of use amortization 51,929 50,045
Gain on investments (505,065) (341,424)
Gain on sale of asset (4,589)
Bad debt expense 17,869
Deferred income tax recovery (250,917) (71,295)
Gain on acquisition of ENP Peru, LLC (335,051)
Changes in non-cash working capital items:    
Increase in accounts receivable (393,199) (2,338,397)
Decrease (increase) in inventories 3,284,541 (4,124,022)
Decrease (increase) in prepaid expenses and deposits (1,230,626) 131,864
Increase (decrease) in accounts payable and accrued liabilities 434,964 (700,191)
Decrease in income taxes payable (1,137) (249,628)
(Decrease) increase in deferred revenue (239,471) 38,759
Cash provided by operating activities 6,989,965 1,476,903
Investing activities    
Purchase of investments (470,000)
Redemption of investments 200,000
Distributions received from equity investments 201,034 265,001
Non-controlling interest of 317 Mendota 200,000
Long term deposits (815,714)
Proceeds from sale of asset 5,411
Purchase of property and equipment (4,990,675) (1,981,307)
Acquisition of ENP Peru, LLC (499,329)
Cash used in investing activities (5,669,944) (2,215,635)
Financing activities    
(Repayment) advance of short term line of credit (1,008,112) 517,772
Repayment of long term debt (725,823) (2,292,819)
Proceeds of long term debt 2,686,682 3,230,798
Lease payments (58,080) (58,611)
Dividends paid (626,777)
Distribution to non-controlling interest (719,439) (689,434)
Common stock issued 13,600 140,620
Cash provided by (used in) financing activities (437,949) 848,326
Effect of exchange rate changes on cash 10,653 (30,069)
Inflow of cash 892,725 79,525
Cash resources, beginning 6,815,099 6,735,574
Cash resources 7,707,824 6,815,099
Cash resources are comprised of:    
Cash 5,017,583 6,115,099
Term deposits 2,690,241 700,000
Supplemental disclosure of cash flow information:    
Income taxes paid 119,319 158,966
Interest paid $ 498,666 $ 292,949
XML 20 R6.htm IDEA: XBRL DOCUMENT v3.24.1
Consolidated Statements of Stockholders' Equity - USD ($)
Common Stock [Member]
Capital in Excess of Par Value [Member]
Retained Earnings [Member]
AOCI Attributable to Parent [Member]
Parent [Member]
Noncontrolling Interest [Member]
Total
Balance at Dec. 31, 2021 $ 12,355 $ 16,983,648 $ 8,882,360 $ (775,730) $ 25,102,633 $ 2,602,843 $ 27,705,476
Balance, shares at Dec. 31, 2021 12,355,246            
Translation adjustment (30,069) (30,069) (30,069)
Net income 7,021,604 7,021,604 691,625 7,713,229
Common stock issued $ 71 140,549 140,620 140,620
Common stock issued, shares 71,014            
Distributions to noncontrolling interests (689,434) (689,434)
Stock-based compensation 399,148 399,148 399,148
Balance at Dec. 31, 2022 $ 12,426 17,523,345 15,903,964 (805,799) 32,633,936 2,605,034 35,238,970
Balance, shares at Dec. 31, 2022 12,426,260            
Translation adjustment 10,653 10,653 10,653
Net income 2,775,864 2,775,864 980,121 3,755,985
Common stock issued $ 10 13,590 13,600 13,600
Common stock issued, shares 9,272            
Distributions to noncontrolling interests (719,439) (719,439)
Stock-based compensation 395,080 395,080 395,080
Dividends paid (626,777) (626,777) (626,777)
Non-controlling interest of 317 Mendota LLC 200,000 200,000
Balance at Dec. 31, 2023 $ 12,436 $ 17,932,015 $ 18,053,051 $ (795,146) $ 35,202,356 $ 3,065,716 $ 38,268,072
Balance, shares at Dec. 31, 2023 12,435,532            
XML 21 R7.htm IDEA: XBRL DOCUMENT v3.24.1
Pay vs Performance Disclosure - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Pay vs Performance Disclosure [Table]    
Net Income (Loss) Attributable to Parent $ 2,775,864 $ 7,021,604
XML 22 R8.htm IDEA: XBRL DOCUMENT v3.24.1
Insider Trading Arrangements
12 Months Ended
Dec. 31, 2023
Insider Trading Arrangements [Line Items]  
Rule 10b5-1 Arrangement Adopted false
Non-Rule 10b5-1 Arrangement Adopted false
Rule 10b5-1 Arrangement Terminated false
Non-Rule 10b5-1 Arrangement Terminated false
XML 23 R9.htm IDEA: XBRL DOCUMENT v3.24.1
BASIS OF PRESENTATION
12 Months Ended
Dec. 31, 2023
Accounting Policies [Abstract]  
BASIS OF PRESENTATION

1. BASIS OF PRESENTATION

 

These consolidated financial statements (“consolidated financial statements”) include the accounts of Flexible Solutions International, Inc. (the “Company”), its wholly-owned subsidiaries Flexible Fermentation Ltd., NanoChem Solutions Inc. (“NanoChem”), Flexible Solutions Ltd., Flexible Biomass LP, FS Biomass Inc., NCS Deferred Corp., Natural Chem SEZC Ltd., InnFlex Holdings Inc., ENP Peru Investments LLC (“ENP Peru”), its 80% controlling interest in 317 Mendota LLC (“317 Mendota”), and its 65% controlling interest in ENP Investments, LLC (“ENP Investments”) and ENP Mendota, LLC (“ENP Mendota”). 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.

 

In 2022, NanoChem purchased an additional 50% in ENP Peru, increasing its share to 91.67%. ENP Investments owns the remaining 8.33%, of which the Company has a 65% interest. 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, it is now consolidated into the financial statements from the date control was obtained.

 

In 2023, the Company purchased an 80% 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 20% non-controlling interest is held by unrelated parties.

 

The Company and its subsidiaries develop, manufacture and market specialty chemicals which slow the evaporation of water. One product, HEATSAVR®, 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®, 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 “TPAs”), 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.

 

 

XML 24 R10.htm IDEA: XBRL DOCUMENT v3.24.1
SIGNIFICANT ACCOUNTING POLICIES
12 Months Ended
Dec. 31, 2023
Accounting Policies [Abstract]  
SIGNIFICANT ACCOUNTING POLICIES

2. SIGNIFICANT ACCOUNTING POLICIES

 

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.

 

(a) Cash and Cash Equivalents.

 

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.

 

(b) Term Deposits.

 

The Company has four term deposits that are maintained by commercials banks. The first term deposit is for $680,000 and matures in January 2024. This deposit pays 5.0% interest and if withdrawn before maturity, the greater of the loss of accrued interest or $150, plus 1% of the principal shall be levied. The second term deposit is for $300,000 and matures in February 2024. Paying 1.3% interest, it can be withdrawn by the Company at any point without prior notice or penalty. The third term deposit is for $710,241, matures in May 2024 and pays interest at a rate of 3.00%. If withdrawn before maturity, the greater of the loss of accrued interest or $150, plus 1% of the principal shall be levied. The fourth term deposit is for $1,000,000 and matures in May 2024. This deposit pays 3.85% and if withdrawn before maturity, the greater of the loss of accrued interest or $150, plus 1% of the principal shall be levied.

 

(c) Inventories and Cost of Sales.

 

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’s manufacturing and processing facilities. Shipping and handling charges billed to customers are included in revenue (2023 - $522,033; 2022 - $433,015). Shipping and handling costs incurred are included in cost of goods sold (2023 - $944,811; 2022 - $913,890).

 

(d) Allowance for Doubtful Accounts.

 

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.

 

(e) Property, Equipment, Leaseholds and Intangible Assets.

 

The following assets are recorded at cost and depreciated using the methods and annual rates shown below:

 

     
Computer hardware   30% Declining balance
Manufacturing equipment   20% Declining balance
Office equipment   20% Declining balance
Boat   20% Declining balance
Building and improvements   10% Declining balance
Trailer   30% Declining balance
Automobiles   Straight-line over 5 years
Patents   Straight-line over 17 years
Technology   Straight-line over 10 years
Leasehold improvements   Straight-line over lease term
Customer relationships   Straight-line over 15 years
Software   Straight-line over 3 years
     

 

 

(f) Impairment of Long-Lived Assets.

 

In accordance with FASB Codification Topic 360, Property, Plant and Equipment (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’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.

 

(g) Foreign Currency.

 

The functional currency of the Company is the U.S. dollar. The functional currency of three of the Company’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’s financial statements from the subsidiary’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.

 

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.

 

(h) Revenue Recognition.

 

The Company generates revenue primarily from energy and water conservation products and biodegradable polymers, as further discussed in Note 18.

 

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.

 

Since the Company’s inception, product returns have been insignificant; therefore, no provision has been established for estimated product returns.

 

Deferred revenues consist of products sold to distributors with payment terms greater than the Company’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.

 

(i) Stock Issued in Exchange for Services.

 

The Company’s common stock issued in exchange for services is valued at estimated fair market value based upon trading prices of the Company’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.

 

 

(j) Stock-based Compensation.

 

The Company recognizes compensation expense for all share-based payments in accordance with FASB Codification Topic 718, Compensation — Stock Compensation (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.

 

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.

 

(k) Other Comprehensive Income.

 

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’ equity. The Company’s other comprehensive income is comprised only of unrealized foreign exchange gains and losses related to the translation of subsidiaries’ functional currency into the reporting currency.

 

(l) Income Per Share.

 

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.

 

(m) Use of Estimates.

 

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.

 

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.

 

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.

 

(n) Fair Value of Financial Instruments.

 

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.

 

 

  Level 1 – Quoted prices in active markets for identical assets or liabilities.
  Level 2 – 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.
  Level 3 — Unobservable inputs that are supported by little or no market activity which is significant to the fair value of the assets or liabilities.

 

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.

 

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.

 

(o) Contingencies.

 

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’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’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.

 

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’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.

 

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.

 

(p) Income Taxes.

 

Income taxes are computed by multiplying the Company’s taxable net income by the Company’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.

 

In accordance with FASB Codification Topic 740, Income taxes (ASC 740) under the liability method, it is the Company’s policy to provide for uncertain tax positions and the related interest and penalties based upon management’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’s effective tax rate in a given financial statement period may be affected. Interest and penalties associated with the Company’s tax positions are recorded as interest expense in the consolidated statements of income and comprehensive income.

 

 

(q) Risk Management.

 

The Company’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’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’s three primary customers totaled $20,482,798 (53%) for the year ended December 31, 2023 (2022 - $27,775,616 or 61%). Accounts receivable for the Company’s three primary customers totaled $6,561,164 (67%) at December 31, 2023 (2022 - $6,124,424 or 65%).

 

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.

 

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.

 

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.

 

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.

 

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.

 

(r) Equity Method Investment.

 

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. Significant influence is generally deemed to exist if the Company’s ownership interest in the voting stock of the investee ranges between 20% and 50%, although other factors, such as representation on the investee’s board of directors, are considered in determining whether the equity method of accounting is appropriate. 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’s share of the investee’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).

 

(s) Goodwill and Intangible Assets.

 

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’s fair value, limited to the total amount of goodwill allocated to the reporting unit.

 

 

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.

 

In accordance with FASB Codification Topic 350, Intangibles – Goodwill and Other, (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.

 

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 “Impairment of Long Lived Assets” significant accounting policy.

 

(t) Recent Accounting Pronouncements.

 

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.

 

XML 25 R11.htm IDEA: XBRL DOCUMENT v3.24.1
LEASES
12 Months Ended
Dec. 31, 2023
Leases  
LEASES

3. LEASES

 

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 (“ROU”) 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’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’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’s leases do not usually provide a readily determinable implicit rate; therefore, an estimate of the Company’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 5.5%.

 

 

The table below summarizes the right-of-use asset and lease liability for the years ended December 31, 2023 and 2022:

 

Right of Use Assets    
Balance at December 31, 2021  $217,267 
Depreciation   (50,045)
Balance at December 31, 2022  $167,222 
Depreciation   (51,929)
Balance at December 31, 2023  $115,293 
      
Lease Liability     
Balance at December 31, 2021  $217,267 
Lease interest expense   8,566 
Payments   (58,611)
Balance at December 31, 2022  $167,222 
Lease interest expense   6,151 
Payments   (58,080)
Balance at December 31, 2023  $115,293 
      
Short-term portion  $59,520 
Long-term portion   55,773 
Total  $115,293 

 

Undiscounted rent payments are as follows:

 

      
2024   59,520 
2025   61,020 
Total  $120,540 
Impact of discounting   (5,247)
Lease liability, December 31, 2023  $115,293 

 

XML 26 R12.htm IDEA: XBRL DOCUMENT v3.24.1
ACCOUNTS RECEIVABLE
12 Months Ended
Dec. 31, 2023
Receivables [Abstract]  
ACCOUNTS RECEIVABLE

4. ACCOUNTS RECEIVABLE

 

   2023   2022 
         
Accounts receivable  $10,133,249   $9,739,150 
Allowances for doubtful accounts   (290,193)   (289,293)
Total accounts receivable  $9,843,056   $9,449,857 

 

XML 27 R13.htm IDEA: XBRL DOCUMENT v3.24.1
INVENTORIES
12 Months Ended
Dec. 31, 2023
Inventory Disclosure [Abstract]  
INVENTORIES

5. INVENTORIES

 

   2023   2022 
         
Completed goods  $2,682,158   $3,806,646 
Raw materials and supplies   8,452,731    10,612,784 
Total inventory  $11,134,889   $14,419,430 

 

XML 28 R14.htm IDEA: XBRL DOCUMENT v3.24.1
PROPERTY, EQUIPMENT AND LEASEHOLDS
12 Months Ended
Dec. 31, 2023
Property, Plant and Equipment [Abstract]  
PROPERTY, EQUIPMENT AND LEASEHOLDS

6. PROPERTY, EQUIPMENT AND LEASEHOLDS

 

   2023   Accumulated   2023 
   Cost   Depreciation   Net 
Buildings and improvements  $12,341,605   $3,896,887   $8,444,718 
Automobiles   196,255    140,040    56,215 
Computer hardware   43,493    43,123    370 
Office equipment   134,130    121,925    12,205 
Manufacturing equipment   10,008,395    5,791,615    4,216,780 
Trailers   9,071    8,164    907 
Land   440,592        440,592 
Leasehold improvements   88,872    88,872     
Technology   103,292    103,292     
   $23,365,705   $10,193,918   $13,171,787 

 

 

   2022   Accumulated   2022 
   Cost   Depreciation   Net 
Buildings and improvements  $8,775,629   $3,310,920   $5,464,709 
Automobiles   196,255    107,055    89,200 
Computer hardware   43,432    42,663    769 
Office equipment   133,280    112,782    20,498 
Manufacturing equipment   8,634,063    4,891,736    3,742,327 
Trailers   8,857    7,592    1,265 
Boat   34,400    27,907    6,493 
Leasehold improvements   88,872    88,872     
Technology   100,860    100,860     
Land   384,027        384,027 
   $18,399,675   $8,690,387   $9,709,288 

 

Amount of depreciation expense for 2023 was: $1,526,319 (2022 - $1,103,732) and is included in cost of sales in the consolidated statements of income and comprehensive income.

 

In 2023, the Company sold the boat and $4,589 was recognized as a gain on sales of asset in the consolidated statements of income and comprehensive income.

 

XML 29 R15.htm IDEA: XBRL DOCUMENT v3.24.1
PATENTS
12 Months Ended
Dec. 31, 2023
Goodwill and Intangible Assets Disclosure [Abstract]  
PATENTS

7. PATENTS

 

  

2023

Cost

   Accumulated
Amortization
  

2023

Net

 
Patents  $200,444   $200,444   $- 

 

  

2022

Cost

   Accumulated
Amortization
  

2022

Net

 
Patents  $195,725   $195,725   $- 

 

The amount of amortization for 2023 was $nil (2022 - $13,699) 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.

 

XML 30 R16.htm IDEA: XBRL DOCUMENT v3.24.1
GOODWILL AND INTANGIBLE ASSETS
12 Months Ended
Dec. 31, 2023
Goodwill and Intangible Assets Disclosure [Abstract]  
GOODWILL AND INTANGIBLE ASSETS

8. GOODWILL AND INTANGIBLE ASSETS

 

Goodwill    
Balance as of December 31, 2022 and 2023  $2,534,275 
      
Indefinite Lived Intangible Assets     
Balance as of December 31, 2022 and 2023  $770,000 

 

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.

 

Definite Life Intangible Assets    
Balance as of December 31, 2021  $1,830,000 
Amortization   (160,000)
Balance as of December 31, 2022   1,670,000 
Amortization   (160,000)
Balances as of December 31, 2023  $1,510,000 

 

The amount of amortization for 2023 was $160,000 (2022 - $160,000) and was included in cost of sales in the consolidated statements of income and comprehensive income.

 

 

Definite lived intangible assets consist of customer relationships and software related to the acquisition of ENP Investments.

 

Estimated amortization expense over the next five years is as follows:

 

2024  $160,000 
2025   160,000 
2026   160,000 
2027   160,000 
2028   160,000 

 

XML 31 R17.htm IDEA: XBRL DOCUMENT v3.24.1
LONG TERM DEPOSITS
12 Months Ended
Dec. 31, 2023
Long Term Deposits  
LONG TERM DEPOSITS

9. LONG TERM DEPOSITS

 

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.

 

   2023   2022 
           
Long term deposits  $824,254   $8,540 

 

XML 32 R18.htm IDEA: XBRL DOCUMENT v3.24.1
INVESTMENTS
12 Months Ended
Dec. 31, 2023
Equity Method Investments and Joint Ventures [Abstract]  
INVESTMENTS

10. INVESTMENTS

 

 

(a)        The Company previously held a 50% ownership interest in ENP Peru, split between NanoChem (41.67%) and ENP Investments (8.33%), 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 50% ownership interest at a cost of $506,659 paid through a new $259,000 mortgage and cash on hand. The 35% non-controlling interest of the 8.33% owned by ENP Investments is included in non-controlling interest in these consolidated financial statements. The Company’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 8.33% of ENP Peru from ENP Investments to become full owner.

 

It was determined that ENP Peru did not meet the definition of a business in accordance with FASB Codification Topic 805, Business Combinations (ASC 805), 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’s equity method investment immediately prior to the acquisition date.

 

      
Purchase consideration  $506,659 
      
Assets acquired:     
Cash   7,330 
Building   3,750,000 
Land   150,000 
Liabilities assumed:     
Deferred tax liability   (174,582)
Long term debt   (2,849,500)
Total identifiable net assets:   883,248 
Excess of assets acquired over consideration   376,589 
Less investment eliminated upon consolidation   (41,538)
Gain on acquisition of ENP Peru  $335,051 

 

 

A summary of the Company’s investment follows:

 

Balance, December 31, 2021  $3,822 
Return of equity   (3,822)
Gain in equity method investment   22,642 
Balance, December 31, 2022   22,642 
Return of equity   (8,750)
Gain in equity method investment   27,646 
Investment eliminated upon consolidation   (41,538)
Balance, June 30 and December 31, 2023  $- 

 

(b)        In December 2018, the Company invested $200,000 in Applied Holding Corp. (“Applied”). 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 December 2023. In October 2023, the Company received the payment of $200,000 to settle the promissory note and the balance of this investment at December 31, 2023 is $nil (2022 - $200,000). In accordance with FASB Codification Topic 321, Investments – Equity Securities (ASC 321), the Company has elected to account for this investment at cost.

 

(c)        In December 2018, the Company invested $500,000 in Trio Opportunity Corp. (“Trio”), a privately held entity and a further $470,000 was invested in April 2023. Trio is a real estate investment vehicle and the Company received 97,000 non-voting Class B shares at $10.00/share. In accordance with ASC 321, the Company has elected to account for this investment at cost.

 

(d)        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 50% interest in the profit and loss of the Florida based LLC but does not have control. A summary of the Company’s investment follows:

 

Balance, December 31, 2021  $3,701,368 
Gain in equity method investment   307,527 
Return of equity   (250,000)
Balance, December 31, 2022   3,758,895 
Gain in equity method investment   505,065 
Return of equity   (200,000)
Balance, December 31, 2023  $4,063,960 

 

Summarized profit and loss information related to the equity accounted investment is as follows:

 

   2023   2022 
         
Net sales  $16,043,468   $18,103,070 
Gross profit   4,668,177    4,204,311 
Net income  $1,010,128   $615,055 

 

During the year ended December 31, 2023, the Company had sales of $10,260,870 (2022 - $12,938,735) to the Florida Based LLC, of which $2,073,813 is included within Accounts Receivable as at December 31, 2023 (2022 - $2,423,285).

 

(e)        In December 2020, the Company invested $500,000 in Lygos Inc. (“Lygos”), a privately held entity, under a Simple Agreement for Future Equity (“SAFE”) agreement. Lygos is a company developing a sustainable aspartic acid microbe strain. In 2021, the Company made a second SAFE investment of $500,000 for a total of $1,000,000. In accordance with ASC 321, the Company has elected to account for this investment at cost.

 

 

XML 33 R19.htm IDEA: XBRL DOCUMENT v3.24.1
SHORT-TERM LINE OF CREDIT
12 Months Ended
Dec. 31, 2023
Debt Disclosure [Abstract]  
SHORT-TERM LINE OF CREDIT

11. SHORT-TERM LINE OF CREDIT

 

(a)        In June 2023, ENP Investments renewed the line of credit with Stock Yards Bank and Trust (“Stock Yards”), increasing the limit by $500,000 from the previous line of credit. The revolving line of credit is for an aggregate amount of up to the lesser of (i) $4,500,000, or (ii) 50-80% of eligible domestic accounts receivable plus 50% of inventory, capped at $2,000,000. 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 8.5% (December 31, 2022 - 7.5%).

 

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’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 65% of all the principal and other loan costs not to exceed $2,925,000. The non-controlling interest is the guarantor of the remaining 35% of all the principal and other loan costs not to exceed $1,575,000. As of December 31, 2023, ENP Investments was in compliance with all loan covenants.

 

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.

 

Short-term borrowings outstanding under the revolving line as of December 31, 2023 were $1,810,479 (2022 - $2,477,794).

 

(b)        In June 2023, the Company renewed the line of credit with Stock Yards Bank and Trust (“Stock Yards”). The revolving line of credit is for an aggregate amount of up to the lesser of (i) $4,000,000, or (ii) 80% of eligible domestic accounts receivable and certain foreign accounts receivable plus 50% of inventory, capped at $2,000,000. 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 8.5% (2022 - 7.5%).

 

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.

 

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.

 

Short-term borrowings outstanding under the revolving line as of December 31, 2023 were $nil (2022 - $340,797). This amount was repaid in full during the year ended December 31, 2023.

 

XML 34 R20.htm IDEA: XBRL DOCUMENT v3.24.1
LONG TERM DEBT
12 Months Ended
Dec. 31, 2023
Debt Disclosure [Abstract]  
LONG TERM DEBT

12. LONG TERM DEBT

 

(a)        In October 2020, NanoChem signed a loan for $1,980,947 with Midland States Bank (“Midland”) with a rate of 3.85% to be repaid over 5 years with equal monthly payments including interest. The money was used to retire the debt at BMO Harris Bank (“Harris”) related to the loan to purchase a 65% 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 $nil (2022 - $30,334). The balance owing at December 31, 2023 was $nil (2022 - $nil).

 

(b)        In October 2020, NanoChem signed a loan for $894,253 with Midland with an interest rate 3.85% 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 $nil (2022 - $5,816). The balance owing at December 31, 2023 was $nil (2022 - $nil)

 

 

(c)        In January 2020, ENP Mendota refinanced its mortgage and signed a loan for $450,000 with Stock Yards to be repaid over 10 years with monthly installments plus interest. Interest for the first five years is at 4.35% and it will be adjusted for the last five years to the Cincinnati Federal Home Bank Loan 5 year fixed index plus 4.5%. Interest expense for the year ended December 31, 2023 was $17,911 (2022 - $17,107). The balance owing at December 31, 2023 was $399,269 (2022 - $415,430).

 

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.

 

(d)        In June 2022, NanoChem signed a loan for $1,935,000 with Stock Yards with an interest rate of 4.90% to be repaid over three years with equal monthly payments including interest. The funds were used to replace the loans at Midland for the purchase of the 65% interest in ENP Investments and the new manufacturing equipment. Interest expense for the year ended December 31, 2023 was $66,957 (2022 - $45,113). The balance owing at December 31, 2023 was $1,004,747 (2022 - $1,632,672).

 

(e)        In January 2020 ENP Peru signed a $3,000,000 loan with an interest rate 4.35% to be repaid over ten years 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 $2,849,500. Interest expense for the year ended December 31, 2023 was $122,544 (2022 - $62,679). The balance owing at December 31, 2023 was $2,737,232 (2022 - $2,813,015).

 

(f)        In June 2022, ENP Peru obtained a second mortgage for $259,000 with Stock Yards to be repaid over 10 years with monthly installments plus interest with an interest rate of 5.4%. Interest expense for the year ended December 31, 2023 was $13,877 (2022 - $7,077). The balance owing at December 31, 2023 was $250,207 (2022 - $256,162).

 

(g)        In December 2022, NanoChem signed a three year loan for up to $2,000,000 with Stock Yards with an interest rate of 6.5%. 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 $67,397 (2022 - $23,632). The balance owing at December 31, 2023 was $1,475,188 (2022 - $1,036,798).

 

(h)        In June 2023, 317 Mendota signed a five year loan for up to $3,240,000 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 $95,396 (2022 - $nil). The balance owing at December 31, 2023 was $2,248,292 (2022 - $nil).

 

As of December 31, 2023, Company was in compliance with all loan covenants.

 

 

Continuity  December 31, 2023   December 31, 2022 
Balance, January 1  $6,154,077   $2,366,598 
Plus: Proceeds from loans   2,686,682    3,230,798 
Plus: Loan acquired with acquisition of ENP Peru   -    2,849,500 
Less: Payments on loan   (725,823)   (2,292,819)
Balance, end of period  $8,114,936   $6,154,077 

 

 

Outstanding balance at December 31,  December 31, 2023   December 31, 2022 
a) Long term debt – Midland States Bank  $-   $- 
b) Long term debt – Midland States Bank   -    - 
c) Long term debt – Stock Yards Bank & Trust   399,269    415,430 
d) Long term debt – Stock Yards Bank & Trust   1,004,748    1,632,672 
e) Long term debt – Stock Yards Bank & Trust   2,737,232    2,813,015 
f) Long term debt – Stock Yards Bank & Trust   250,207    256,162 
g) Long term debt – Stock Yards Bank & Trust   1,475,188    1,036,798 
h) Long term debt – Stock Yards Bank & Trust   2,248,292     
Long-term debt   8,114,936    6,154,077 
Less: current portion   (1,281,632)   (717,612)
Long-term debt non current  $6,833,304   $5,436,465 

 

 

XML 35 R21.htm IDEA: XBRL DOCUMENT v3.24.1
INCOME TAXES
12 Months Ended
Dec. 31, 2023
Income Tax Disclosure [Abstract]  
INCOME TAXES

13. INCOME TAXES

 

The provision for income tax expense (benefit) is comprised of the following:

 

   2023   2022 
Current tax, federal  $753,683   $1,017,059 
Current tax, state   340,952    460,098 
Current tax, foreign   151,236    216,082 
Current tax   1,245,871    1,693,239 
Income tax recovery   (1,127,689)   (1,476,088)
Current tax, total   118,182    217,151 
           
Deferred income tax, federal   (172,763)   (49,088 
Deferred income tax, state   (78,154)   (22,207 
Deferred income tax, foreign   -    - 
Deferred income tax, total   (250,917)   (71,295 
Total  $(132,735)  $145,856 

 

The following table reconciles the income tax expense at the U.S. Federal statutory rate to income tax expense at the Company’s effective tax rates.

 

   2023   2022 
Income before tax  $3,623,250   $7,859,085 
US statutory tax rates   30.50%   30.50%
Expected income tax   1,105,091    2,397,021 
Non-deductible items   362,554    (243,167)
Change in estimates and other   (1,585,427)   (2,004,041)
Foreign tax rate difference   (92,379)   (226,611)
Change in valuation allowance   77,426    (222,654)
Total income taxes   (132,735)   145,856 
           
Current income tax expense   118,182    217,151 
Deferred tax recovery   (250,917)   (71,295)
Total income tax expense (recovery)  $(132,735)  $145,856 

 

Included in current income tax expense for the year ended December 31, 2023 is a recovery of $1,127,689 (2022 - $1,476,088) for a revision of estimated current taxes payable for previous years.

 

 

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:

 

   2023   2022 
Canada          
Non capital loss carryforwards  $855,176   $891,954 
Intangible assets   -    - 
Property, equipment and leaseholds   30,916    47,279 
    886,092    939,233 
Valuation allowance   (886,092)   (939,233)
Net deferred tax asset  $-   $- 
           
US          
    2023    2022 
Net operating loss carryforwards  $-   $- 
Intangible assets   (11,346)   (6,070)
Investments   -    (7,676)
Property, equipment and leaseholds   (248,701)   (486,713)
Property, equipment and leaseholds   284,794    274,289 
Financial instruments   -    - 
Deferred tax asset not recognized   -    - 
Net deferred tax asset (liability)  $24,747   $(226,170)

 

The Company has non-capital loss carryforwards of approximately $3,718,155 (2022 - $3,878,060) 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:

 

   Loss 
2030   407,947 
2031   941,856 
2032   615,878 
2037   1,692,555 
2039   48,048 
2040   11,871 
Total   3,718,155 

 

As at December 31, 2023, the Company has no net operating loss carryforwards available for US tax purposes.

 

Accounting for Uncertainty for Income Tax

 

As at December 31, 2023 and 2022, the Company’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.

 

XML 36 R22.htm IDEA: XBRL DOCUMENT v3.24.1
INCOME PER SHARE
12 Months Ended
Dec. 31, 2023
Earnings Per Share [Abstract]  
INCOME PER SHARE

14. INCOME PER SHARE

  

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:

 

   2023   2022 
         
Net income attributable to controlling interest  $2,775,864   $7,021,604 
Weighted average common shares outstanding:          
Basic   12,434,886    12,379,316 
Diluted   12,489,467    12,466,415 
Net income per common share attributable to controlling interest:          
Basic  $0.22   $0.57 
Diluted  $0.22   $0.56 

 

 

Certain stock options whose terms and conditions are described in Note 15, “Stock Options” 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.

 

   2023   2022 
           
Anti-dilutive options   740,000    1,304,000 

 

There were no preferred shares issued and outstanding during the years ended December 31, 2023 and 2022.

 

XML 37 R23.htm IDEA: XBRL DOCUMENT v3.24.1
STOCK OPTIONS
12 Months Ended
Dec. 31, 2023
Share-Based Payment Arrangement [Abstract]  
STOCK OPTIONS

15. STOCK OPTIONS

 

The Company has a stock option plan (“Plan”). 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’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 100% 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 5 years. The maximum term of options granted is 5 years and the exercise price for all options are issued for not less than fair market value at the date of the grant.

 

The following table summarizes the Company’s stock option activities for the years ended December 31, 2023 and 2022:

 

  

Number of

shares

   Exercise
price per share
   Weighted
average
exercise price
 
             
Balance, December 31, 2021   789,500   $ 1.424.13   $2.78 
Granted   981,000   $3.553.61   $3.55 
Cancelled or expired   (13,486)  $1.703.61   $2.32 
Exercised   (71,014)  $1.422.44   $1.98 
Balance, December 31, 2022   1,686,000   $1.704.13   $3.26 
Cancelled or expired   (564,000)  $3.464.13   $3.55 
Exercised   (8,000)  $1.70   $1.70 
Balance, December 31, 2023   1,114,000   $1.753.61   $3.13 
Exercisable, December 31, 2023   754,000   $1.753.61   $2.93 

 

The weighted-average remaining contractual life of outstanding options is 2.90 years.

 

The fair value of each option grant is calculated using the following weighted average assumptions:

 

   2022 
Expected life – years   3.0 
Interest rate   1.763.64 %
Volatility   66.01 - 69.66 %
Weighted average fair value of options granted  $ 1.461.65 

 

During the year ended December 31, 2023, the Company granted nil (2022 – 46,000) stock options to consultants and has applied ASC 718 using the Black-Scholes option-pricing model, which resulted in expenses of $nil (2022 - $14,850). Options granted in other years resulted in additional expenses of $62,241 (2022 – $62,187). During the year ended December 31, 2023, employees were granted nil (2022 – 935,000) stock options, which resulted in expenses of $nil (2022 – $172,731). Options granted in other years resulted in additional expenses in the amount of $328,769 for employees during the year ended December 31, 2023 (2022 - $149,380). There were 8,000 employee and nil consultant stock options exercised during the year ended December 31, 2023 (2022 – 54,500 employee; 16,514 consultant).

 

 

As of December 31, 2023, there was approximately $375,351 of compensation expense related to non-vested awards. This expense is expected to be recognized over a weighted average period of 2.5 years.

 

The aggregate intrinsic value of vested options outstanding at December 31, 2023 is $nil (2022 – $69,190). The intrinsic value of options exercised during the year ended December 31, 2023 was $11,520 (2022 - $96,989).

 

XML 38 R24.htm IDEA: XBRL DOCUMENT v3.24.1
CAPITAL STOCK
12 Months Ended
Dec. 31, 2023
Equity [Abstract]  
CAPITAL STOCK

16. CAPITAL STOCK

 

During the year ended December 31, 2023, 8,000 shares were issued upon the exercise of employee stock options (2022 – 54,500) and nil shares were issued upon the exercise of consultant stock options (2022 – 16,514).

 

During the year ended December 31, 2023, the Company issued 1,272 shares to a consultant for services rendered, resulting in an expense of $4,070 on the consolidated statements of income and comprehensive income for the year ended December 31, 2023 (2022 - $nil).

 

In the year ended December 31, 2023, the Company announced a special dividend of $0.05 per share that was paid on May 16, 2023 to shareholders (2022 - $nil).

 

XML 39 R25.htm IDEA: XBRL DOCUMENT v3.24.1
NON-CONTROLLING INTERESTS
12 Months Ended
Dec. 31, 2023
Noncontrolling Interest [Abstract]  
NON-CONTROLLING INTERESTS

17. NON-CONTROLLING INTERESTS

 

(a) ENP Investments is a limited liability corporation (“LLC”) that manufactures and distributes golf, turf and ornamental agriculture products in Mendota, Illinois. The Company owns a 65% interest in ENP Investments through its wholly-owned subsidiary NanoChem. An unrelated party (“NCI”) owns the remaining 35% 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’s are consolidated into these financial statements. The NCI’s ownership interest in ENP Investments is recorded in non-controlling interests in these consolidated financial statements. The non-controlling interest represents NCI’s interest in the earnings and equity of ENP Investments. ENP Investments is allocated to the TPA segment.

 

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.

 

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 $3,225,957.

 

Balance, December 31, 2021  $2,602,843 
Distribution   (689,434)
Non-controlling interest share of income   691,625 
Balance, December 31, 2022   2,605,034 
Distribution   (719,439)
Non-controlling interest share of income   1,015,604 
Balance, December 31, 2023  $2,901,199 

 

During the year ended December 31, 2023, the Company had sales of $6,811,083 (2022 - $6,667,815) to the NCI, of which $4,225,028 is included within Accounts Receivable as of December 31, 2023 (2022 – $3,634,083).

 

 

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 80% interest in 317 Mendota and an unrelated party (“317 NCI”) owns the remaining 20% 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’s ownership interest in 317 Mendota is recorded in non-controlling interests in these consolidated financial statements. The non-controlling interest represents 317 NCI’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.

 

Balance, December 31, 2022  $- 
Acquisition   200,000 
Non-controlling interest share of loss   (35,483)
Balance, December 31, 2023  $164,517 

 

XML 40 R26.htm IDEA: XBRL DOCUMENT v3.24.1
SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY
12 Months Ended
Dec. 31, 2023
Segment Reporting [Abstract]  
SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY

18. SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY

 

The Company operates in two segments:

 

(a) Energy and water conservation products (as shown under the column heading “EWCP” 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.

 

(b) Biodegradable polymers, also known as TPA’s (as shown under the column heading “BCPA” 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.

 

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’s TPA division.

 

The accounting policies of the segments are the same as those described in Note 2, Significant Accounting Policies. 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

 

The Company’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.

 

Year ended December 31, 2023:

 

   EWCP   BCPA   Consolidated 
             
Sales  $572,845   $37,751,961   $38,324,806 
Interest expense   387    498,279    498,666 
Depreciation   17,411    1,668,908    1,686,319 
Current and deferred income tax recovery (expense)   (35,341)   168,076    132,735 
Segment profit   (256,390)   3,032,254    2,775,864 
Segment assets   4,843,123    50,627,932    55,471,055 
Expenditures for segment assets   -    4,990,675    4,990,675 

 

 

Year ended December 31, 2022:

 

   EWCP   BCPA   Consolidated 
             
Sales  $528,462   $45,312,007   $45,840,469 
Interest expense   -    292,949    292,949 
Depreciation   33,876    1,243,555    1,277,431 
Current and deferred income tax expense   18,898    126,958    145,856 
Segment profit   (334,525)   8,047,754    7,713,229 
Segment assets   2,810,091    48,777,101    51,587,192 
Expenditures for segment assets   -    1,981,307    1,981,307 

 

Sales by territory are shown below:

 

   2023   2022 
         
Canada  $755,844   $552,123 
United States and abroad   37,568,962    45,288,346 
Total  $38,324,806   $45,840,469 

 

The Company’s long-lived assets (property, equipment, leaseholds, right of use assets, intangibles, and goodwill) are located in Canada and the United States as follows:

 

   2023   2022 
         
Canada  $142,577   $150,890 
United States   17,958,778    14,699,896 
Total  $18,101,355   $14,850,786 

 

Three customers accounted for $20,482,798 (53%) of sales made in 2023 (2022 - $27,775,616 or 61%).

 

XML 41 R27.htm IDEA: XBRL DOCUMENT v3.24.1
SUBSEQUENT EVENTS
12 Months Ended
Dec. 31, 2023
Subsequent Events [Abstract]  
SUBSEQUENT EVENTS

19. SUBSEQUENT EVENTS

 

In January 2024, the Company issued 15,000 shares upon the exercise of consultant stock options.

 

In January 2024, the Company granted 494,000 stock options to employees and 56,000 stock options to consultants.

 

In March 2024, the Company terminated its lease in Naperville, IL. All operations are now consolidated in the Peru, IL locations.

XML 42 R28.htm IDEA: XBRL DOCUMENT v3.24.1
SIGNIFICANT ACCOUNTING POLICIES (Policies)
12 Months Ended
Dec. 31, 2023
Accounting Policies [Abstract]  
Cash and Cash Equivalents

(a) Cash and Cash Equivalents.

 

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.

 

Term Deposits

(b) Term Deposits.

 

The Company has four term deposits that are maintained by commercials banks. The first term deposit is for $680,000 and matures in January 2024. This deposit pays 5.0% interest and if withdrawn before maturity, the greater of the loss of accrued interest or $150, plus 1% of the principal shall be levied. The second term deposit is for $300,000 and matures in February 2024. Paying 1.3% interest, it can be withdrawn by the Company at any point without prior notice or penalty. The third term deposit is for $710,241, matures in May 2024 and pays interest at a rate of 3.00%. If withdrawn before maturity, the greater of the loss of accrued interest or $150, plus 1% of the principal shall be levied. The fourth term deposit is for $1,000,000 and matures in May 2024. This deposit pays 3.85% and if withdrawn before maturity, the greater of the loss of accrued interest or $150, plus 1% of the principal shall be levied.

 

Inventories and Cost of Sales

(c) Inventories and Cost of Sales.

 

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’s manufacturing and processing facilities. Shipping and handling charges billed to customers are included in revenue (2023 - $522,033; 2022 - $433,015). Shipping and handling costs incurred are included in cost of goods sold (2023 - $944,811; 2022 - $913,890).

 

Allowance for Doubtful Accounts

(d) Allowance for Doubtful Accounts.

 

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.

 

Property, Equipment, Leaseholds and Intangible Assets

(e) Property, Equipment, Leaseholds and Intangible Assets.

 

The following assets are recorded at cost and depreciated using the methods and annual rates shown below:

 

     
Computer hardware   30% Declining balance
Manufacturing equipment   20% Declining balance
Office equipment   20% Declining balance
Boat   20% Declining balance
Building and improvements   10% Declining balance
Trailer   30% Declining balance
Automobiles   Straight-line over 5 years
Patents   Straight-line over 17 years
Technology   Straight-line over 10 years
Leasehold improvements   Straight-line over lease term
Customer relationships   Straight-line over 15 years
Software   Straight-line over 3 years
     

 

 

Impairment of Long-Lived Assets

(f) Impairment of Long-Lived Assets.

 

In accordance with FASB Codification Topic 360, Property, Plant and Equipment (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’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.

 

Foreign Currency

(g) Foreign Currency.

 

The functional currency of the Company is the U.S. dollar. The functional currency of three of the Company’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’s financial statements from the subsidiary’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.

 

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.

 

Revenue Recognition

(h) Revenue Recognition.

 

The Company generates revenue primarily from energy and water conservation products and biodegradable polymers, as further discussed in Note 18.

 

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.

 

Since the Company’s inception, product returns have been insignificant; therefore, no provision has been established for estimated product returns.

 

Deferred revenues consist of products sold to distributors with payment terms greater than the Company’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.

 

Stock Issued in Exchange for Services

(i) Stock Issued in Exchange for Services.

 

The Company’s common stock issued in exchange for services is valued at estimated fair market value based upon trading prices of the Company’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.

 

 

Stock-based Compensation

(j) Stock-based Compensation.

 

The Company recognizes compensation expense for all share-based payments in accordance with FASB Codification Topic 718, Compensation — Stock Compensation (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.

 

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.

 

Other Comprehensive Income

(k) Other Comprehensive Income.

 

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’ equity. The Company’s other comprehensive income is comprised only of unrealized foreign exchange gains and losses related to the translation of subsidiaries’ functional currency into the reporting currency.

 

Income Per Share

(l) Income Per Share.

 

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.

 

Use of Estimates

(m) Use of Estimates.

 

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.

 

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.

 

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.

 

Fair Value of Financial Instruments

(n) Fair Value of Financial Instruments.

 

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.

 

 

  Level 1 – Quoted prices in active markets for identical assets or liabilities.
  Level 2 – 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.
  Level 3 — Unobservable inputs that are supported by little or no market activity which is significant to the fair value of the assets or liabilities.

 

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.

 

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.

 

Contingencies

(o) Contingencies.

 

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’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’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.

 

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’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.

 

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.

 

Income Taxes

(p) Income Taxes.

 

Income taxes are computed by multiplying the Company’s taxable net income by the Company’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.

 

In accordance with FASB Codification Topic 740, Income taxes (ASC 740) under the liability method, it is the Company’s policy to provide for uncertain tax positions and the related interest and penalties based upon management’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’s effective tax rate in a given financial statement period may be affected. Interest and penalties associated with the Company’s tax positions are recorded as interest expense in the consolidated statements of income and comprehensive income.

 

 

Risk Management

(q) Risk Management.

 

The Company’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’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’s three primary customers totaled $20,482,798 (53%) for the year ended December 31, 2023 (2022 - $27,775,616 or 61%). Accounts receivable for the Company’s three primary customers totaled $6,561,164 (67%) at December 31, 2023 (2022 - $6,124,424 or 65%).

 

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.

 

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.

 

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.

 

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.

 

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.

 

Equity Method Investment

(r) Equity Method Investment.

 

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. Significant influence is generally deemed to exist if the Company’s ownership interest in the voting stock of the investee ranges between 20% and 50%, although other factors, such as representation on the investee’s board of directors, are considered in determining whether the equity method of accounting is appropriate. 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’s share of the investee’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).

 

Goodwill and Intangible Assets

(s) Goodwill and Intangible Assets.

 

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’s fair value, limited to the total amount of goodwill allocated to the reporting unit.

 

 

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.

 

In accordance with FASB Codification Topic 350, Intangibles – Goodwill and Other, (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.

 

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 “Impairment of Long Lived Assets” significant accounting policy.

 

Recent Accounting Pronouncements

(t) Recent Accounting Pronouncements.

 

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.

 

XML 43 R29.htm IDEA: XBRL DOCUMENT v3.24.1
SIGNIFICANT ACCOUNTING POLICIES (Tables)
12 Months Ended
Dec. 31, 2023
Accounting Policies [Abstract]  
SCHEDULE OF METHOD OF DEPRECIATION

The following assets are recorded at cost and depreciated using the methods and annual rates shown below:

 

     
Computer hardware   30% Declining balance
Manufacturing equipment   20% Declining balance
Office equipment   20% Declining balance
Boat   20% Declining balance
Building and improvements   10% Declining balance
Trailer   30% Declining balance
Automobiles   Straight-line over 5 years
Patents   Straight-line over 17 years
Technology   Straight-line over 10 years
Leasehold improvements   Straight-line over lease term
Customer relationships   Straight-line over 15 years
Software   Straight-line over 3 years
     
XML 44 R30.htm IDEA: XBRL DOCUMENT v3.24.1
LEASES (Tables)
12 Months Ended
Dec. 31, 2023
Leases  
SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY

The table below summarizes the right-of-use asset and lease liability for the years ended December 31, 2023 and 2022:

 

Right of Use Assets    
Balance at December 31, 2021  $217,267 
Depreciation   (50,045)
Balance at December 31, 2022  $167,222 
Depreciation   (51,929)
Balance at December 31, 2023  $115,293 
      
Lease Liability     
Balance at December 31, 2021  $217,267 
Lease interest expense   8,566 
Payments   (58,611)
Balance at December 31, 2022  $167,222 
Lease interest expense   6,151 
Payments   (58,080)
Balance at December 31, 2023  $115,293 
      
Short-term portion  $59,520 
Long-term portion   55,773 
Total  $115,293 
SCHEDULE OF UNDISCOUNTED RENT PAYMENTS

Undiscounted rent payments are as follows:

 

      
2024   59,520 
2025   61,020 
Total  $120,540 
Impact of discounting   (5,247)
Lease liability, December 31, 2023  $115,293 
XML 45 R31.htm IDEA: XBRL DOCUMENT v3.24.1
ACCOUNTS RECEIVABLE (Tables)
12 Months Ended
Dec. 31, 2023
Receivables [Abstract]  
SCHEDULE OF ACCOUNTS RECEIVABLE

 

   2023   2022 
         
Accounts receivable  $10,133,249   $9,739,150 
Allowances for doubtful accounts   (290,193)   (289,293)
Total accounts receivable  $9,843,056   $9,449,857 
XML 46 R32.htm IDEA: XBRL DOCUMENT v3.24.1
INVENTORIES (Tables)
12 Months Ended
Dec. 31, 2023
Inventory Disclosure [Abstract]  
SCHEDULE OF INVENTORY

 

   2023   2022 
         
Completed goods  $2,682,158   $3,806,646 
Raw materials and supplies   8,452,731    10,612,784 
Total inventory  $11,134,889   $14,419,430 
XML 47 R33.htm IDEA: XBRL DOCUMENT v3.24.1
PROPERTY, EQUIPMENT AND LEASEHOLDS (Tables)
12 Months Ended
Dec. 31, 2023
Property, Plant and Equipment [Abstract]  
SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS

 

   2023   Accumulated   2023 
   Cost   Depreciation   Net 
Buildings and improvements  $12,341,605   $3,896,887   $8,444,718 
Automobiles   196,255    140,040    56,215 
Computer hardware   43,493    43,123    370 
Office equipment   134,130    121,925    12,205 
Manufacturing equipment   10,008,395    5,791,615    4,216,780 
Trailers   9,071    8,164    907 
Land   440,592        440,592 
Leasehold improvements   88,872    88,872     
Technology   103,292    103,292     
   $23,365,705   $10,193,918   $13,171,787 

 

 

   2022   Accumulated   2022 
   Cost   Depreciation   Net 
Buildings and improvements  $8,775,629   $3,310,920   $5,464,709 
Automobiles   196,255    107,055    89,200 
Computer hardware   43,432    42,663    769 
Office equipment   133,280    112,782    20,498 
Manufacturing equipment   8,634,063    4,891,736    3,742,327 
Trailers   8,857    7,592    1,265 
Boat   34,400    27,907    6,493 
Leasehold improvements   88,872    88,872     
Technology   100,860    100,860     
Land   384,027        384,027 
   $18,399,675   $8,690,387   $9,709,288 
XML 48 R34.htm IDEA: XBRL DOCUMENT v3.24.1
PATENTS (Tables)
12 Months Ended
Dec. 31, 2023
Goodwill and Intangible Assets Disclosure [Abstract]  
SCHEDULE OF PATENTS

 

  

2023

Cost

   Accumulated
Amortization
  

2023

Net

 
Patents  $200,444   $200,444   $- 

 

  

2022

Cost

   Accumulated
Amortization
  

2022

Net

 
Patents  $195,725   $195,725   $- 
XML 49 R35.htm IDEA: XBRL DOCUMENT v3.24.1
GOODWILL AND INTANGIBLE ASSETS (Tables)
12 Months Ended
Dec. 31, 2023
Goodwill and Intangible Assets Disclosure [Abstract]  
SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS

 

Goodwill    
Balance as of December 31, 2022 and 2023  $2,534,275 
      
Indefinite Lived Intangible Assets     
Balance as of December 31, 2022 and 2023  $770,000 

 

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.

 

Definite Life Intangible Assets    
Balance as of December 31, 2021  $1,830,000 
Amortization   (160,000)
Balance as of December 31, 2022   1,670,000 
Amortization   (160,000)
Balances as of December 31, 2023  $1,510,000 
SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE

Estimated amortization expense over the next five years is as follows:

 

2024  $160,000 
2025   160,000 
2026   160,000 
2027   160,000 
2028   160,000 
XML 50 R36.htm IDEA: XBRL DOCUMENT v3.24.1
LONG TERM DEPOSITS (Tables)
12 Months Ended
Dec. 31, 2023
Long Term Deposits  
SCHEDULE OF LONG TERM DEPOSITS

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.

 

   2023   2022 
           
Long term deposits  $824,254   $8,540 
XML 51 R37.htm IDEA: XBRL DOCUMENT v3.24.1
INVESTMENTS (Tables)
12 Months Ended
Dec. 31, 2023
ENP Peru Investments LLC [Member]  
SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED

 

      
Purchase consideration  $506,659 
      
Assets acquired:     
Cash   7,330 
Building   3,750,000 
Land   150,000 
Liabilities assumed:     
Deferred tax liability   (174,582)
Long term debt   (2,849,500)
Total identifiable net assets:   883,248 
Excess of assets acquired over consideration   376,589 
Less investment eliminated upon consolidation   (41,538)
Gain on acquisition of ENP Peru  $335,051 
SCHEDULE OF EQUITY METHOD INVESTMENT

A summary of the Company’s investment follows:

 

Balance, December 31, 2021  $3,822 
Return of equity   (3,822)
Gain in equity method investment   22,642 
Balance, December 31, 2022   22,642 
Return of equity   (8,750)
Gain in equity method investment   27,646 
Investment eliminated upon consolidation   (41,538)
Balance, June 30 and December 31, 2023  $- 
Florida Based LLC [Member]  
SCHEDULE OF EQUITY METHOD INVESTMENT

 

Balance, December 31, 2021  $3,701,368 
Gain in equity method investment   307,527 
Return of equity   (250,000)
Balance, December 31, 2022   3,758,895 
Gain in equity method investment   505,065 
Return of equity   (200,000)
Balance, December 31, 2023  $4,063,960 
SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT

Summarized profit and loss information related to the equity accounted investment is as follows:

 

   2023   2022 
         
Net sales  $16,043,468   $18,103,070 
Gross profit   4,668,177    4,204,311 
Net income  $1,010,128   $615,055 
XML 52 R38.htm IDEA: XBRL DOCUMENT v3.24.1
LONG TERM DEBT (Tables)
12 Months Ended
Dec. 31, 2023
Debt Disclosure [Abstract]  
SCHEDULE OF LOAN COVENANTS

As of December 31, 2023, Company was in compliance with all loan covenants.

 

 

Continuity  December 31, 2023   December 31, 2022 
Balance, January 1  $6,154,077   $2,366,598 
Plus: Proceeds from loans   2,686,682    3,230,798 
Plus: Loan acquired with acquisition of ENP Peru   -    2,849,500 
Less: Payments on loan   (725,823)   (2,292,819)
Balance, end of period  $8,114,936   $6,154,077 
SCHEDULE OF OUTSTANDING BALANCE LOAN

 

Outstanding balance at December 31,  December 31, 2023   December 31, 2022 
a) Long term debt – Midland States Bank  $-   $- 
b) Long term debt – Midland States Bank   -    - 
c) Long term debt – Stock Yards Bank & Trust   399,269    415,430 
d) Long term debt – Stock Yards Bank & Trust   1,004,748    1,632,672 
e) Long term debt – Stock Yards Bank & Trust   2,737,232    2,813,015 
f) Long term debt – Stock Yards Bank & Trust   250,207    256,162 
g) Long term debt – Stock Yards Bank & Trust   1,475,188    1,036,798 
h) Long term debt – Stock Yards Bank & Trust   2,248,292     
Long-term debt   8,114,936    6,154,077 
Less: current portion   (1,281,632)   (717,612)
Long-term debt non current  $6,833,304   $5,436,465 
XML 53 R39.htm IDEA: XBRL DOCUMENT v3.24.1
INCOME TAXES (Tables)
12 Months Ended
Dec. 31, 2023
Income Tax Disclosure [Abstract]  
SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT)

The provision for income tax expense (benefit) is comprised of the following:

 

   2023   2022 
Current tax, federal  $753,683   $1,017,059 
Current tax, state   340,952    460,098 
Current tax, foreign   151,236    216,082 
Current tax   1,245,871    1,693,239 
Income tax recovery   (1,127,689)   (1,476,088)
Current tax, total   118,182    217,151 
           
Deferred income tax, federal   (172,763)   (49,088 
Deferred income tax, state   (78,154)   (22,207 
Deferred income tax, foreign   -    - 
Deferred income tax, total   (250,917)   (71,295 
Total  $(132,735)  $145,856 
SCHEDULE OF RECONCILIATION OF INCOME TAXES

The following table reconciles the income tax expense at the U.S. Federal statutory rate to income tax expense at the Company’s effective tax rates.

 

   2023   2022 
Income before tax  $3,623,250   $7,859,085 
US statutory tax rates   30.50%   30.50%
Expected income tax   1,105,091    2,397,021 
Non-deductible items   362,554    (243,167)
Change in estimates and other   (1,585,427)   (2,004,041)
Foreign tax rate difference   (92,379)   (226,611)
Change in valuation allowance   77,426    (222,654)
Total income taxes   (132,735)   145,856 
           
Current income tax expense   118,182    217,151 
Deferred tax recovery   (250,917)   (71,295)
Total income tax expense (recovery)  $(132,735)  $145,856 
SCHEDULE OF DEFERRED TAX ASSETS (LIABILITIES)

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:

 

   2023   2022 
Canada          
Non capital loss carryforwards  $855,176   $891,954 
Intangible assets   -    - 
Property, equipment and leaseholds   30,916    47,279 
    886,092    939,233 
Valuation allowance   (886,092)   (939,233)
Net deferred tax asset  $-   $- 
           
US          
    2023    2022 
Net operating loss carryforwards  $-   $- 
Intangible assets   (11,346)   (6,070)
Investments   -    (7,676)
Property, equipment and leaseholds   (248,701)   (486,713)
Property, equipment and leaseholds   284,794    274,289 
Financial instruments   -    - 
Deferred tax asset not recognized   -    - 
Net deferred tax asset (liability)  $24,747   $(226,170)
SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS

 

   Loss 
2030   407,947 
2031   941,856 
2032   615,878 
2037   1,692,555 
2039   48,048 
2040   11,871 
Total   3,718,155 
XML 54 R40.htm IDEA: XBRL DOCUMENT v3.24.1
INCOME PER SHARE (Tables)
12 Months Ended
Dec. 31, 2023
Earnings Per Share [Abstract]  
SCHEDULE OF BASIC AND DILUTED LOSS PER SHARE

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:

 

   2023   2022 
         
Net income attributable to controlling interest  $2,775,864   $7,021,604 
Weighted average common shares outstanding:          
Basic   12,434,886    12,379,316 
Diluted   12,489,467    12,466,415 
Net income per common share attributable to controlling interest:          
Basic  $0.22   $0.57 
Diluted  $0.22   $0.56 
SCHEDULE OF ANTI-DILUTIVE OPTIONS

 

   2023   2022 
           
Anti-dilutive options   740,000    1,304,000 
XML 55 R41.htm IDEA: XBRL DOCUMENT v3.24.1
STOCK OPTIONS (Tables)
12 Months Ended
Dec. 31, 2023
Share-Based Payment Arrangement [Abstract]  
SCHEDULE OF STOCK OPTION ACTIVITIES

The following table summarizes the Company’s stock option activities for the years ended December 31, 2023 and 2022:

 

  

Number of

shares

   Exercise
price per share
   Weighted
average
exercise price
 
             
Balance, December 31, 2021   789,500   $ 1.424.13   $2.78 
Granted   981,000   $3.553.61   $3.55 
Cancelled or expired   (13,486)  $1.703.61   $2.32 
Exercised   (71,014)  $1.422.44   $1.98 
Balance, December 31, 2022   1,686,000   $1.704.13   $3.26 
Cancelled or expired   (564,000)  $3.464.13   $3.55 
Exercised   (8,000)  $1.70   $1.70 
Balance, December 31, 2023   1,114,000   $1.753.61   $3.13 
Exercisable, December 31, 2023   754,000   $1.753.61   $2.93 
SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS

The fair value of each option grant is calculated using the following weighted average assumptions:

 

   2022 
Expected life – years   3.0 
Interest rate   1.763.64 %
Volatility   66.01 - 69.66 %
Weighted average fair value of options granted  $ 1.461.65 
XML 56 R42.htm IDEA: XBRL DOCUMENT v3.24.1
NON-CONTROLLING INTERESTS (Tables)
12 Months Ended
Dec. 31, 2023
Noncontrolling Interest [Abstract]  
SCHEDULE OF DISTRIBUTIONS

 

Balance, December 31, 2021  $2,602,843 
Distribution   (689,434)
Non-controlling interest share of income   691,625 
Balance, December 31, 2022   2,605,034 
Distribution   (719,439)
Non-controlling interest share of income   1,015,604 
Balance, December 31, 2023  $2,901,199 
SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION

 

Balance, December 31, 2022  $- 
Acquisition   200,000 
Non-controlling interest share of loss   (35,483)
Balance, December 31, 2023  $164,517 
XML 57 R43.htm IDEA: XBRL DOCUMENT v3.24.1
SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Tables)
12 Months Ended
Dec. 31, 2023
Segment Reporting [Abstract]  
SCHEDULE OF REPORTABLE SEGMENTS

 

   EWCP   BCPA   Consolidated 
             
Sales  $572,845   $37,751,961   $38,324,806 
Interest expense   387    498,279    498,666 
Depreciation   17,411    1,668,908    1,686,319 
Current and deferred income tax recovery (expense)   (35,341)   168,076    132,735 
Segment profit   (256,390)   3,032,254    2,775,864 
Segment assets   4,843,123    50,627,932    55,471,055 
Expenditures for segment assets   -    4,990,675    4,990,675 

 

 

Year ended December 31, 2022:

 

   EWCP   BCPA   Consolidated 
             
Sales  $528,462   $45,312,007   $45,840,469 
Interest expense   -    292,949    292,949 
Depreciation   33,876    1,243,555    1,277,431 
Current and deferred income tax expense   18,898    126,958    145,856 
Segment profit   (334,525)   8,047,754    7,713,229 
Segment assets   2,810,091    48,777,101    51,587,192 
Expenditures for segment assets   -    1,981,307    1,981,307 
SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA

Sales by territory are shown below:

 

   2023   2022 
         
Canada  $755,844   $552,123 
United States and abroad   37,568,962    45,288,346 
Total  $38,324,806   $45,840,469 
SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE

The Company’s long-lived assets (property, equipment, leaseholds, right of use assets, intangibles, and goodwill) are located in Canada and the United States as follows:

 

   2023   2022 
         
Canada  $142,577   $150,890 
United States   17,958,778    14,699,896 
Total  $18,101,355   $14,850,786 
XML 58 R44.htm IDEA: XBRL DOCUMENT v3.24.1
BASIS OF PRESENTATION (Details Narrative)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
317 Mendota LLC [Member]    
Subsidiary company ownership interest rate 80.00%  
317 Mendota LLC [Member] | Unrelated Party [Member]    
Noncontrolling interest percentage 20.00%  
ENP Investments LLC and ENP Mendota [Member]    
Subsidiary company ownership interest rate 65.00%  
ENP Peru [Member]    
Increase decrease in share percentage   91.67%
Remaining investment owned percentage 8.33% 8.33%
ENP Peru [Member] | Unrelated Party [Member]    
Increase decrease in share percentage   50.00%
ENP Investments And 317 ENP Mendota [Member]    
Subsidiary company ownership interest rate   65.00%
XML 59 R45.htm IDEA: XBRL DOCUMENT v3.24.1
SCHEDULE OF METHOD OF DEPRECIATION (Details)
12 Months Ended
Dec. 31, 2023
Computer Equipment [Member]  
Property, Plant and Equipment [Line Items]  
Depreciation method used and annual rate 30% Declining balance
Machinery and Equipment [Member]  
Property, Plant and Equipment [Line Items]  
Depreciation method used and annual rate 20% Declining balance
Office Equipment [Member]  
Property, Plant and Equipment [Line Items]  
Depreciation method used and annual rate 20% Declining balance
Boat [Member]  
Property, Plant and Equipment [Line Items]  
Depreciation method used and annual rate 20% Declining balance
Building and Building Improvements [Member]  
Property, Plant and Equipment [Line Items]  
Depreciation method used and annual rate 10% Declining balance
Trailer [Member]  
Property, Plant and Equipment [Line Items]  
Depreciation method used and annual rate 30% Declining balance
Automobiles [Member]  
Property, Plant and Equipment [Line Items]  
Depreciation method used and annual rate Straight-line over 5 years
Patents [Member]  
Property, Plant and Equipment [Line Items]  
Depreciation method used and annual rate Straight-line over 17 years
Technology Equipment [Member]  
Property, Plant and Equipment [Line Items]  
Depreciation method used and annual rate Straight-line over 10 years
Leasehold Improvements [Member]  
Property, Plant and Equipment [Line Items]  
Depreciation method used and annual rate Straight-line over lease term
Customer Relationships [Member]  
Property, Plant and Equipment [Line Items]  
Depreciation method used and annual rate Straight-line over 15 years
Software [Member]  
Property, Plant and Equipment [Line Items]  
Depreciation method used and annual rate Straight-line over 3 years
XML 60 R46.htm IDEA: XBRL DOCUMENT v3.24.1
SIGNIFICANT ACCOUNTING POLICIES (Details Narrative) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Product Information [Line Items]    
Sale $ 38,324,806 $ 45,840,469
Cost of sales $ 27,987,451 31,971,596
Investment [Member]    
Product Information [Line Items]    
Equity method investment, description Significant influence is generally deemed to exist if the Company’s ownership interest in the voting stock of the investee ranges between 20% and 50%, although other factors, such as representation on the investee’s board of directors, are considered in determining whether the equity method of accounting is appropriate.  
Three Primary Customers [Member] | Revenue from Contract with Customer Benchmark [Member]    
Product Information [Line Items]    
Sale $ 20,482,798 $ 27,775,616
Accounts receivable, after allowance for credit loss, percentage 53.00% 61.00%
Three Primary Customers [Member] | Accounts Receivable [Member]    
Product Information [Line Items]    
Sale $ 6,561,164 $ 6,124,424
Accounts receivable, after allowance for credit loss, percentage 67.00% 65.00%
Shipping and Handling [Member]    
Product Information [Line Items]    
Sale $ 522,033 $ 433,015
Cost of sales 944,811 $ 913,890
First Term [Member]    
Product Information [Line Items]    
Deposits $ 680,000  
Debt Instrument, Interest Rate, Stated Percentage 5.00%  
Minimum interest penalty $ 150  
Second Term [Member]    
Product Information [Line Items]    
Deposits $ 300,000  
Debt Instrument, Interest Rate, Stated Percentage 1.30%  
Third Term [Member]    
Product Information [Line Items]    
Deposits $ 710,241  
Debt Instrument, Interest Rate, Stated Percentage 3.00%  
Minimum interest penalty $ 150  
Fourth Term [Member]    
Product Information [Line Items]    
Deposits $ 1,000,000  
Debt Instrument, Interest Rate, Stated Percentage 3.85%  
Minimum interest penalty $ 150  
XML 61 R47.htm IDEA: XBRL DOCUMENT v3.24.1
SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (Details) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Leases    
Right of use assets, beginning balance $ 167,222 $ 217,267
Depreciation (51,929) (50,045)
Right of use assets, ending balance 115,293 167,222
Lease liability, beginning balance 167,222 217,267
Lease interest expense 6,151 8,566
Payments (58,080) (58,611)
Lease liability, ending balance 115,293 167,222
Short-term portion 59,520 58,080
Long-term portion 55,773 109,142
Total $ 115,293 $ 167,222
XML 62 R48.htm IDEA: XBRL DOCUMENT v3.24.1
SCHEDULE OF UNDISCOUNTED RENT PAYMENTS (Details) - USD ($)
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Leases      
2024 $ 59,520    
2025 61,020    
Total 120,540    
Impact of discounting (5,247)    
Lease liability, December 31, 2023 $ 115,293 $ 167,222 $ 217,267
XML 63 R49.htm IDEA: XBRL DOCUMENT v3.24.1
LEASES (Details Narrative)
Dec. 31, 2023
Leases  
Operating leases discount rate 5.50%
XML 64 R50.htm IDEA: XBRL DOCUMENT v3.24.1
SCHEDULE OF ACCOUNTS RECEIVABLE (Details) - USD ($)
Dec. 31, 2023
Dec. 31, 2022
Receivables [Abstract]    
Accounts receivable $ 10,133,249 $ 9,739,150
Allowances for doubtful accounts (290,193) (289,293)
Total accounts receivable $ 9,843,056 $ 9,449,857
XML 65 R51.htm IDEA: XBRL DOCUMENT v3.24.1
SCHEDULE OF INVENTORY (Details) - USD ($)
Dec. 31, 2023
Dec. 31, 2022
Inventory Disclosure [Abstract]    
Completed goods $ 2,682,158 $ 3,806,646
Raw materials and supplies 8,452,731 10,612,784
Total inventory $ 11,134,889 $ 14,419,430
XML 66 R52.htm IDEA: XBRL DOCUMENT v3.24.1
SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (Details) - USD ($)
Dec. 31, 2023
Dec. 31, 2022
Property, Plant and Equipment [Line Items]    
Cost $ 23,365,705 $ 18,399,675
Accumulated Depreciation 10,193,918 8,690,387
Property, plant and equipment, net, total 13,171,787 9,709,288
Building and Building Improvements [Member]    
Property, Plant and Equipment [Line Items]    
Cost 12,341,605 8,775,629
Accumulated Depreciation 3,896,887 3,310,920
Property, plant and equipment, net, total 8,444,718 5,464,709
Automobiles [Member]    
Property, Plant and Equipment [Line Items]    
Cost 196,255 196,255
Accumulated Depreciation 140,040 107,055
Property, plant and equipment, net, total 56,215 89,200
Computer Equipment [Member]    
Property, Plant and Equipment [Line Items]    
Cost 43,493 43,432
Accumulated Depreciation 43,123 42,663
Property, plant and equipment, net, total 370 769
Office Equipment [Member]    
Property, Plant and Equipment [Line Items]    
Cost 134,130 133,280
Accumulated Depreciation 121,925 112,782
Property, plant and equipment, net, total 12,205 20,498
Machinery and Equipment [Member]    
Property, Plant and Equipment [Line Items]    
Cost 10,008,395 8,634,063
Accumulated Depreciation 5,791,615 4,891,736
Property, plant and equipment, net, total 4,216,780 3,742,327
Trailer [Member]    
Property, Plant and Equipment [Line Items]    
Cost 9,071 8,857
Accumulated Depreciation 8,164 7,592
Property, plant and equipment, net, total 907 1,265
Land [Member]    
Property, Plant and Equipment [Line Items]    
Cost 440,592 384,027
Accumulated Depreciation
Property, plant and equipment, net, total 440,592 384,027
Leasehold Improvements [Member]    
Property, Plant and Equipment [Line Items]    
Cost 88,872 88,872
Accumulated Depreciation 88,872 88,872
Property, plant and equipment, net, total
Developed Technology Rights [Member]    
Property, Plant and Equipment [Line Items]    
Cost 103,292 100,860
Accumulated Depreciation 103,292 100,860
Property, plant and equipment, net, total
Boat [Member]    
Property, Plant and Equipment [Line Items]    
Cost   34,400
Accumulated Depreciation   27,907
Property, plant and equipment, net, total   $ 6,493
XML 67 R53.htm IDEA: XBRL DOCUMENT v3.24.1
PROPERTY, EQUIPMENT AND LEASEHOLDS (Details Narrative) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Property, Plant and Equipment [Abstract]    
Depreciation $ 1,526,319 $ 1,103,732
Sale of assets $ 4,589
XML 68 R54.htm IDEA: XBRL DOCUMENT v3.24.1
SCHEDULE OF PATENTS (Details) - USD ($)
Dec. 31, 2023
Dec. 31, 2022
Goodwill and Intangible Assets Disclosure [Abstract]    
Patents, cost $ 200,444 $ 195,725
Patents, Accumulated amortization 200,444 195,725
Patents, net
XML 69 R55.htm IDEA: XBRL DOCUMENT v3.24.1
SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS (Details) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Goodwill $ 2,534,275 $ 2,534,275
Indefinite lived intangible assets 770,000 770,000
Indefinite lived intangible assets, beginning balance 770,000  
Amortization (160,000) (160,000)
Indefinite lived intangible assets, ending balance 770,000 770,000
ENP Investments Limited Liability Corporation (LLC) [Member]    
Indefinite lived intangible assets 1,510,000 1,670,000
Indefinite lived intangible assets, beginning balance 1,670,000 1,830,000
Amortization (160,000) (160,000)
Indefinite lived intangible assets, ending balance $ 1,510,000 $ 1,670,000
XML 70 R56.htm IDEA: XBRL DOCUMENT v3.24.1
PATENTS (Details Narrative) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Finite-Lived Intangible Assets [Line Items]    
Amount of amortization $ 160,000 $ 160,000
Patents [Member]    
Finite-Lived Intangible Assets [Line Items]    
Amount of amortization $ 13,699
XML 71 R57.htm IDEA: XBRL DOCUMENT v3.24.1
SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (Details) - Finite-Lived Intangible Assets [Member]
Dec. 31, 2023
USD ($)
Impairment Effects on Earnings Per Share [Line Items]  
2024 $ 160,000
2025 160,000
2026 160,000
2027 160,000
2028 $ 160,000
XML 72 R58.htm IDEA: XBRL DOCUMENT v3.24.1
GOODWILL AND INTANGIBLE ASSETS (Details Narrative) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Goodwill and Intangible Assets Disclosure [Abstract]    
Amortization $ 160,000 $ 160,000
XML 73 R59.htm IDEA: XBRL DOCUMENT v3.24.1
SCHEDULE OF LONG TERM DEPOSITS (Details) - USD ($)
Dec. 31, 2023
Dec. 31, 2022
Long Term Deposits    
Long term deposits $ 824,254 $ 8,540
XML 74 R60.htm IDEA: XBRL DOCUMENT v3.24.1
SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED (Details) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Equity Method Investments and Joint Ventures [Abstract]    
Purchase consideration   $ 506,659
Cash   7,330
Building   3,750,000
Land   150,000
Deferred tax liability   (174,582)
Long term debt   (2,849,500)
Total identifiable net assets:   883,248
Excess of assets acquired over consideration   376,589
Less investment eliminated upon consolidation   (41,538)
Gain on acquisition of ENP Peru $ 335,051
XML 75 R61.htm IDEA: XBRL DOCUMENT v3.24.1
SCHEDULE OF EQUITY METHOD INVESTMENT (Details) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Balance, Beginning $ 5,458,895  
Investment eliminated upon consolidation   $ (41,538)
Balance, Ending 6,033,960 5,458,895
ENP Peru Investments LLC [Member]    
Balance, Beginning 22,642 3,822
Return of equity (8,750) (3,822)
Gain in equity method investment 27,646 22,642
Investment eliminated upon consolidation (41,538)  
Balance, Ending 22,642
Florida Based LLC [Member]    
Balance, Beginning 3,758,895 3,701,368
Return of equity (200,000) (250,000)
Gain in equity method investment 505,065 307,527
Balance, Ending $ 4,063,960 $ 3,758,895
XML 76 R62.htm IDEA: XBRL DOCUMENT v3.24.1
SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (Details) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Equity Method Investments and Joint Ventures [Abstract]    
Net sales $ 16,043,468 $ 18,103,070
Gross profit 4,668,177 4,204,311
Net income $ 1,010,128 $ 615,055
XML 77 R63.htm IDEA: XBRL DOCUMENT v3.24.1
INVESTMENTS (Details Narrative) - USD ($)
1 Months Ended 12 Months Ended
Jun. 30, 2022
Dec. 31, 2020
Dec. 31, 2018
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Oct. 31, 2023
Jun. 30, 2023
Apr. 30, 2023
Jan. 31, 2019
Dec. 31, 2016
Schedule of Equity Method Investments [Line Items]                      
Purchase consideration         $ 506,659            
Cash       $ 5,017,583 6,115,099            
Investment       200,000   $ 200,000        
Debt maturity           2023-12          
Payments to Acquire Investments       470,000            
Applied Holding Corp [Member]                      
Schedule of Equity Method Investments [Line Items]                      
Investment     $ 200,000                
Trio Opportunity Corp [Member]                      
Schedule of Equity Method Investments [Line Items]                      
Investment     $ 500,000           $ 470,000    
Trio Opportunity Corp [Member] | Common Class B [Member]                      
Schedule of Equity Method Investments [Line Items]                      
Common stock issued, shares     97,000                
Share price     $ 10.00                
Florida Based LLC [Member]                      
Schedule of Equity Method Investments [Line Items]                      
Sales       10,260,870 12,938,735            
Accounts receivable related parties       $ 2,073,813 $ 2,423,285            
Lygos Inc [Member]                      
Schedule of Equity Method Investments [Line Items]                      
Investment           $ 1,000,000          
Payments to Acquire Investments   $ 500,000       $ 500,000          
ENP Peru [Member]                      
Schedule of Equity Method Investments [Line Items]                      
Purchase consideration $ 506,659                    
Cash $ 259,000                    
ENP Investments LLC [Member]                      
Schedule of Equity Method Investments [Line Items]                      
Non-controlling interest percentage       35.00%              
ENP Peru Investments LLC [Member]                      
Schedule of Equity Method Investments [Line Items]                      
Ownership percentage                     50.00%
Nano Chem [Member]                      
Schedule of Equity Method Investments [Line Items]                      
Ownership percentage                     41.67%
Additional equity method investment ownership percentage 50.00%                    
ENP Investments, LLC [Member]                      
Schedule of Equity Method Investments [Line Items]                      
Ownership percentage       8.33%       8.33%     8.33%
Florida Based LLC [Member]                      
Schedule of Equity Method Investments [Line Items]                      
Ownership percentage                   50.00%  
XML 78 R64.htm IDEA: XBRL DOCUMENT v3.24.1
SHORT-TERM LINE OF CREDIT (Details Narrative) - USD ($)
1 Months Ended
Jun. 30, 2023
Dec. 31, 2023
Dec. 31, 2022
Line of Credit Facility [Line Items]      
Line of credit   $ 1,810,479 $ 2,818,591
Stock Yard And Bank One [Member] | Noncontrolling Interest [Member]      
Line of Credit Facility [Line Items]      
Loan guaranteed rate   35.00%  
Line of credit   $ 1,575,000  
Stock Yard And Bank One [Member] | New Agreement [Member] | NanoChem Solutions Inc [Member]      
Line of Credit Facility [Line Items]      
Loan guaranteed rate   65.00%  
Line of credit   $ 2,925,000  
Short term borrowings   $ 1,810,479 $ 2,477,794
Stock Yard And Bank One [Member] | Midland States Bank [Member] | New Agreement [Member]      
Line of Credit Facility [Line Items]      
Line of Credit Facility, Current Borrowing Capacity $ 500,000    
Aggregate amount of revolving line of credit $ 4,500,000    
Percentage of foreign accounts receivable of inventory 50.00%    
Debt face amount $ 2,000,000    
Interest rate   8.50% 7.50%
Stock Bank [Member] | New Agreement [Member] | NanoChem Solutions Inc [Member] | Revolving Credit Facility [Member]      
Line of Credit Facility [Line Items]      
Short term borrowings   $ 340,797
Stock Bank [Member] | Midland States Bank [Member] | New Agreement [Member]      
Line of Credit Facility [Line Items]      
Aggregate amount of revolving line of credit $ 4,000,000    
Percentage of foreign accounts receivable of inventory 50.00%    
Debt face amount $ 2,000,000    
Interest rate   8.50% 7.50%
Eligible percentage of domestic accounts receivable 80.00%    
XML 79 R65.htm IDEA: XBRL DOCUMENT v3.24.1
SCHEDULE OF LOAN COVENANTS (Details) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Debt Disclosure [Abstract]    
Balance, beginning of period $ 6,154,077 $ 2,366,598
Plus: Proceeds from loans 2,686,682 3,230,798
Plus: Loan acquired with acquisition of ENP Peru 2,849,500
Less: Payments on loan (725,823) (2,292,819)
Balance, end of period $ 8,114,936 $ 6,154,077
XML 80 R66.htm IDEA: XBRL DOCUMENT v3.24.1
SCHEDULE OF OUTSTANDING BALANCE LOAN (Details) - USD ($)
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Defined Benefit Plan Disclosure [Line Items]      
Long-term debt $ 8,114,936 $ 6,154,077 $ 2,366,598
Less: current portion (1,281,632) (717,612)  
Long-term debt non current 6,833,304 5,436,465  
Midland States Bank [Member]      
Defined Benefit Plan Disclosure [Line Items]      
Long-term debt  
Midland States Bank One [Member]      
Defined Benefit Plan Disclosure [Line Items]      
Long-term debt  
Stock Yards Bank & Trust [Member]      
Defined Benefit Plan Disclosure [Line Items]      
Long-term debt 399,269 415,430  
Stock Yards Bank Trust One [Member]      
Defined Benefit Plan Disclosure [Line Items]      
Long-term debt 1,004,748 1,632,672  
Stock Yards Bank Trust Two [Member]      
Defined Benefit Plan Disclosure [Line Items]      
Long-term debt 2,737,232 2,813,015  
Stock Yards Bank Trust Three [Member]      
Defined Benefit Plan Disclosure [Line Items]      
Long-term debt 250,207 256,162  
Stock Yards Bank Trust Four [Member]      
Defined Benefit Plan Disclosure [Line Items]      
Long-term debt 1,475,188 1,036,798  
Stock Yards Bank Trust Five [Member]      
Defined Benefit Plan Disclosure [Line Items]      
Long-term debt $ 2,248,292  
XML 81 R67.htm IDEA: XBRL DOCUMENT v3.24.1
LONG TERM DEBT (Details Narrative) - USD ($)
1 Months Ended 12 Months Ended
Jun. 30, 2022
Oct. 31, 2020
Jan. 31, 2020
Dec. 31, 2023
Dec. 31, 2022
Jun. 30, 2023
Short-Term Debt [Line Items]            
Interest expense       $ 498,666 $ 292,949  
Midland Bank [Member] | NanoChem Solutions Inc [Member]            
Short-Term Debt [Line Items]            
Debt instrument face amount   $ 894,253        
Interest expense debt       5,816  
Debt Long term debt amount        
Midland Bank [Member] | NanoChem Solutions Inc [Member] | Prime Rate [Member]            
Short-Term Debt [Line Items]            
Debt instrument interest rate stated percentage   3.85%        
Stock Yards Bank & Trust [Member] | ENP Realty LLC [Member]            
Short-Term Debt [Line Items]            
Debt instrument term 3 years   10 years      
Stock Yards Bank & Trust [Member] | ENP Realty LLC [Member] | Prime Rate [Member]            
Short-Term Debt [Line Items]            
Debt instrument interest rate stated percentage     4.35%      
Term Loan [Member] | Nano Chem [Member]            
Short-Term Debt [Line Items]            
Debt instrument face amount         $ 2,000,000  
Debt instrument interest rate stated percentage         6.50%  
Interest expense debt       67,397 $ 23,632  
Debt Long term debt amount       1,475,188 1,036,798  
Term Loan [Member] | Mendota [Member]            
Short-Term Debt [Line Items]            
Debt instrument face amount           $ 3,240,000
Interest expense debt       95,396  
Debt Long term debt amount       2,248,292  
Term Loan [Member] | Midland Bank [Member] | NanoChem Solutions Inc [Member]            
Short-Term Debt [Line Items]            
Debt instrument face amount   $ 1,980,947        
Debt instrument interest rate stated percentage   65.00%        
Debt instrument term   5 years        
Interest expense debt       30,334  
Debt Long term debt amount        
Term Loan [Member] | Midland Bank [Member] | NanoChem Solutions Inc [Member] | Prime Rate [Member]            
Short-Term Debt [Line Items]            
Debt instrument interest rate stated percentage   3.85%        
Term Loan [Member] | Midland Bank [Member] | ENP Mendota, LLC [Member]            
Short-Term Debt [Line Items]            
Debt instrument face amount     $ 450,000      
Debt instrument interest rate stated percentage     4.50%      
Debt instrument term     5 years      
Interest expense debt       17,911 17,107  
Debt Long term debt amount       399,269 415,430  
Term Loan [Member] | Midland Bank [Member] | Nano Chem [Member]            
Short-Term Debt [Line Items]            
Debt instrument face amount $ 1,935,000          
Debt instrument interest rate stated percentage 4.90%          
Interest expense debt       66,957 45,113  
Debt Long term debt amount       1,004,747 1,632,672  
Term Loan [Member] | Midland Bank [Member] | ENP Peru Investments [Member]            
Short-Term Debt [Line Items]            
Debt instrument face amount $ 259,000     250,207 256,162  
Debt instrument interest rate stated percentage 65.00%          
Debt instrument term 10 years          
Interest expense debt       13,877 7,077  
Term Loan [Member] | Midland Bank [Member] | ENP Peru Investments [Member] | Prime Rate [Member]            
Short-Term Debt [Line Items]            
Debt instrument interest rate stated percentage 5.40%          
Term Loan [Member] | Midland Bank [Member] | ENP Peru One [Member]            
Short-Term Debt [Line Items]            
Debt instrument face amount     $ 3,000,000 2,737,232 2,813,015  
Debt instrument term     10 years      
First mortgage $ 2,849,500          
Interest expense       $ 122,544 $ 62,679  
Term Loan [Member] | Midland Bank [Member] | ENP Peru One [Member] | Prime Rate [Member]            
Short-Term Debt [Line Items]            
Debt instrument interest rate stated percentage     4.35%      
XML 82 R68.htm IDEA: XBRL DOCUMENT v3.24.1
SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT) (Details) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Income Tax Disclosure [Abstract]    
Current tax, federal $ 753,683 $ 1,017,059
Current tax, state 340,952 460,098
Current tax, foreign 151,236 216,082
Current tax 1,245,871 1,693,239
Income tax recovery (1,127,689) (1,476,088)
Current tax, total 118,182 217,151
Deferred income tax, federal (172,763) (49,088)
Deferred income tax, state (78,154) (22,207)
Deferred income tax, foreign
Deferred income tax, total (250,917) (71,295)
Total $ (132,735) $ 145,856
XML 83 R69.htm IDEA: XBRL DOCUMENT v3.24.1
SCHEDULE OF RECONCILIATION OF INCOME TAXES (Details) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Income Tax Disclosure [Abstract]    
Income before tax $ 3,623,250 $ 7,859,085
US statutory tax rates 30.50% 30.50%
Expected income tax $ 1,105,091 $ 2,397,021
Non-deductible items 362,554 (243,167)
Change in estimates and other (1,585,427) (2,004,041)
Foreign tax rate difference (92,379) (226,611)
Change in valuation allowance 77,426 (222,654)
Total income tax expense (recovery) (132,735) 145,856
Current income tax expense 118,182 217,151
Deferred tax recovery $ (250,917) $ (71,295)
XML 84 R70.htm IDEA: XBRL DOCUMENT v3.24.1
SCHEDULE OF DEFERRED TAX ASSETS (LIABILITIES) (Details) - USD ($)
Dec. 31, 2023
Dec. 31, 2022
Canada Revenue Agency [Member]    
Operating Loss Carryforwards [Line Items]    
Net operating loss carryforwards $ 855,176 $ 891,954
Intangible assets
Property, equipment and leaseholds 30,916 47,279
Deferred tax assets gross 886,092 939,233
Valuation Allowance (886,092) (939,233)
Net deferred tax asset
Internal Revenue Service (IRS) [Member]    
Operating Loss Carryforwards [Line Items]    
Net operating loss carryforwards
Intangible assets (11,346) (6,070)
Property, equipment and leaseholds 284,794 274,289
Net deferred tax asset 24,747  
Investments (7,676)
Property, equipment and leaseholds (248,701) (486,713)
Financial instruments
Deferred tax asset not recognized
Net deferred tax liability   $ (226,170)
XML 85 R71.htm IDEA: XBRL DOCUMENT v3.24.1
SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS (Details)
Dec. 31, 2023
USD ($)
Operating Loss Carryforwards [Line Items]  
Total $ 3,718,155
2030 [Member]  
Operating Loss Carryforwards [Line Items]  
Total 407,947
2031 [Member]  
Operating Loss Carryforwards [Line Items]  
Total 941,856
2032 [Member]  
Operating Loss Carryforwards [Line Items]  
Total 615,878
2037 [Member]  
Operating Loss Carryforwards [Line Items]  
Total 1,692,555
2039 [Member]  
Operating Loss Carryforwards [Line Items]  
Total 48,048
2040 [Member]  
Operating Loss Carryforwards [Line Items]  
Total $ 11,871
XML 86 R72.htm IDEA: XBRL DOCUMENT v3.24.1
INCOME TAXES (Details Narrative) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Operating Loss Carryforwards [Line Items]    
Current income tax expense $ 1,127,689 $ 1,476,088
Operating loss carryforwards 3,718,155  
Canada Revenue Agency [Member]    
Operating Loss Carryforwards [Line Items]    
Operating loss carryforwards $ 3,718,155 $ 3,878,060
XML 87 R73.htm IDEA: XBRL DOCUMENT v3.24.1
SCHEDULE OF BASIC AND DILUTED LOSS PER SHARE (Details) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Earnings Per Share [Abstract]    
Net income attributable to controlling interest $ 2,775,864 $ 7,021,604
Basic 12,434,886 12,379,316
Diluted 12,489,467 12,466,415
Basic $ 0.22 $ 0.57
Diluted $ 0.22 $ 0.56
XML 88 R74.htm IDEA: XBRL DOCUMENT v3.24.1
SCHEDULE OF ANTI-DILUTIVE OPTIONS (Details) - shares
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Earnings Per Share [Abstract]    
Anti-dilutive options 740,000 1,304,000
XML 89 R75.htm IDEA: XBRL DOCUMENT v3.24.1
INCOME PER SHARE (Details Narrative) - Canada Revenue Agency [Member] - shares
Dec. 31, 2023
Dec. 31, 2022
Operating Loss Carryforwards [Line Items]    
Preferred stock, shares issued 0 0
Preferred stock, shares outstanding 0 0
XML 90 R76.htm IDEA: XBRL DOCUMENT v3.24.1
SCHEDULE OF STOCK OPTION ACTIVITIES (Details) - $ / shares
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]    
Number of shares, Beginning Balance 1,686,000 789,500
Weighted average exercise price, Beginning Balance $ 3.26 $ 2.78
Number of shares, Granted   981,000
Weighted average exercise price, Granted   $ 3.55
Number of shares, Cancelled or expired (564,000) (13,486)
Weighted average exercise price, Cancelled or expired $ 3.55 $ 2.32
Number of shares, Exercised (8,000) (71,014)
Exercise price per share, Exercised $ 1.70  
Weighted average exercise price, Exercised $ 1.70 $ 1.98
Number of shares Exercisable, Ending Balance 1,114,000 1,686,000
Weighted average exercise price, Ending Balance $ 3.13 $ 3.26
Number of shares Exercisable, Ending Balance 754,000  
Weighted average exercise price, Exercisable, Ending Balance $ 2.93  
Minimum [Member]    
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]    
Exercise price per share, Beginning Balance 1.70 1.42
Exercise price per share, Granted   3.55
Exercise price per share, Cancelled or expired 3.46 1.70
Exercise price per share, Exercised   1.42
Exercise price per share, Ending Balance 1.75 1.70
Exercise price per share Exercisable, Ending Balance 1.75  
Maximum [Member]    
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]    
Exercise price per share, Beginning Balance 4.13 4.13
Exercise price per share, Granted   3.61
Exercise price per share, Cancelled or expired 4.13 3.61
Exercise price per share, Exercised   2.44
Exercise price per share, Ending Balance 3.61 $ 4.13
Exercise price per share Exercisable, Ending Balance $ 3.61  
XML 91 R77.htm IDEA: XBRL DOCUMENT v3.24.1
SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS (Details)
12 Months Ended
Dec. 31, 2022
$ / shares
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]  
Expected life - years 3 years
Minimum [Member]  
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]  
Interest rate 1.76%
Volatility 66.01%
Weighted average fair value of options granted $ 1.46
Maximum [Member]  
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]  
Interest rate 3.64%
Volatility 69.66%
Weighted average fair value of options granted $ 1.65
XML 92 R78.htm IDEA: XBRL DOCUMENT v3.24.1
STOCK OPTIONS (Details Narrative) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [Line Items]    
Options granted percentage 100.00%  
Vested term 5 years  
Options maximum granted term 5 years  
Weighted-average remaining contractual life 2 years 10 months 24 days  
Stock options granted   981,000
Stock options exercised 8,000 71,014
Stock vested compensation non vested $ 375,351  
Weighted average period expected to be recognized 2 years 6 months  
Canada Revenue Agency [Member]    
Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [Line Items]    
Aggregate intrinsic value of vested options $ 69,190
Aggregate intrinsic value of vested options exercised $ 11,520 $ 96,989
Consultants [Member]    
Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [Line Items]    
Stock options granted 46,000
Stock option expense $ 14,850
Additional expenses due to options granted $ 62,241 $ 62,187
Stock options exercised 16,514
Employees [Member]    
Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [Line Items]    
Stock options granted 935,000
Stock option expense $ 172,731
Additional expenses due to options granted $ 328,769 $ 149,380
Stock options exercised 8,000 54,500
XML 93 R79.htm IDEA: XBRL DOCUMENT v3.24.1
CAPITAL STOCK (Details Narrative) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]    
Stock options exercised 8,000 71,014
Consultant for services, shares 1,272  
Consultant for services, value $ 4,070
Dividends per share $ 0.05
Share-Based Payment Arrangement, Option [Member]    
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]    
Stock options exercised 8,000 54,500
Consultant Stock Option [Member]    
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]    
Stock options exercised   16,514
XML 94 R80.htm IDEA: XBRL DOCUMENT v3.24.1
SCHEDULE OF DISTRIBUTIONS (Details) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [Line Items]    
Distribution to noncontrolling interests, Beginning balance $ 2,605,034  
Distribution (719,439) $ (689,434)
Non-controlling interest share of income 980,121 691,625
Distribution to noncontrolling interests, Ending balance 3,065,716 2,605,034
ENP Investments, LLC [Member] | Ownership Interest Purchase Agreement [Member]    
Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [Line Items]    
Distribution to noncontrolling interests, Beginning balance 2,605,034 2,602,843
Distribution (719,439) (689,434)
Non-controlling interest share of income 1,015,604 691,625
Distribution to noncontrolling interests, Ending balance $ 2,901,199 $ 2,605,034
XML 95 R81.htm IDEA: XBRL DOCUMENT v3.24.1
SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (Details)
12 Months Ended
Dec. 31, 2023
USD ($)
Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [Line Items]  
Distribution to noncontrolling interests, Beginning balance $ 2,605,034
Distribution to noncontrolling interests, Ending balance 3,065,716
317 Mendota LLC [Member] | Ownership Interest Purchase Agreement [Member]  
Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [Line Items]  
Distribution to noncontrolling interests, Beginning balance
Distribution to noncontrolling interests, Acquisition 200,000
Distribution to noncontrolling interests, Non-controlling interest share of loss (35,483)
Distribution to noncontrolling interests, Ending balance $ 164,517
XML 96 R82.htm IDEA: XBRL DOCUMENT v3.24.1
NON-CONTROLLING INTERESTS (Details Narrative) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [Line Items]    
Partnership distribution to non-controlling interest $ 719,439 $ 689,434
Accounts receivable $ 9,843,056 9,449,857
ENP Investments, LLC [Member]    
Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [Line Items]    
Subsidiary company ownership interest rate 65.00%  
Related party owner ship percentage 35.00%  
Partnership distribution to non-controlling interest $ 3,225,957  
Sales 6,811,083 6,667,815
Accounts receivable $ 4,225,028 $ 3,634,083
317 Mendota LLC [Member]    
Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [Line Items]    
Subsidiary company ownership interest rate 80.00%  
Related party owner ship percentage 20.00%  
XML 97 R83.htm IDEA: XBRL DOCUMENT v3.24.1
SCHEDULE OF REPORTABLE SEGMENTS (Details) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Revenue from External Customer [Line Items]    
Sales $ 38,324,806 $ 45,840,469
Interest expense 498,666 292,949
Current and deferred income tax expense (132,735) 145,856
Segment profit 2,775,864 7,021,604
Expenditures for segment assets (4,990,675) (1,981,307)
Segment [Member]    
Revenue from External Customer [Line Items]    
Sales 38,324,806 45,840,469
Interest expense 498,666 292,949
Depreciation 1,686,319 1,277,431
Current and deferred income tax expense 132,735 145,856
Segment profit 2,775,864 7,713,229
Segment assets 55,471,055 51,587,192
Expenditures for segment assets 4,990,675 1,981,307
EWCP [Member] | Segment [Member]    
Revenue from External Customer [Line Items]    
Sales 572,845 528,462
Interest expense 387
Depreciation 17,411 33,876
Current and deferred income tax expense (35,341) 18,898
Segment profit (256,390) (334,525)
Segment assets 4,843,123 2,810,091
Expenditures for segment assets
BCPA [Member] | Segment [Member]    
Revenue from External Customer [Line Items]    
Sales 37,751,961 45,312,007
Interest expense 498,279 292,949
Depreciation 1,668,908 1,243,555
Current and deferred income tax expense 168,076 126,958
Segment profit 3,032,254 8,047,754
Segment assets 50,627,932 48,777,101
Expenditures for segment assets $ 4,990,675 $ 1,981,307
XML 98 R84.htm IDEA: XBRL DOCUMENT v3.24.1
SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (Details) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Revenues from External Customers and Long-Lived Assets [Line Items]    
Total $ 38,324,806 $ 45,840,469
CANADA    
Revenues from External Customers and Long-Lived Assets [Line Items]    
Total 755,844 552,123
United States and Abroad [Member]    
Revenues from External Customers and Long-Lived Assets [Line Items]    
Total $ 37,568,962 $ 45,288,346
XML 99 R85.htm IDEA: XBRL DOCUMENT v3.24.1
SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE (Details) - USD ($)
Dec. 31, 2023
Dec. 31, 2022
Revenues from External Customers and Long-Lived Assets [Line Items]    
Total $ 18,101,355 $ 14,850,786
CANADA    
Revenues from External Customers and Long-Lived Assets [Line Items]    
Total 142,577 150,890
UNITED STATES    
Revenues from External Customers and Long-Lived Assets [Line Items]    
Total $ 17,958,778 $ 14,699,896
XML 100 R86.htm IDEA: XBRL DOCUMENT v3.24.1
SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Details Narrative)
12 Months Ended
Dec. 31, 2023
USD ($)
Segments
Dec. 31, 2022
USD ($)
Revenue, Major Customer [Line Items]    
Number of operating segments | Segments 2  
Accounts Receivable [Member] | Three Customers [Member]    
Revenue, Major Customer [Line Items]    
Accounts receivable, after allowance for credit loss | $ $ 20,482,798 $ 27,775,616
Stock option exercise percent 53.00% 61.00%
XML 101 R87.htm IDEA: XBRL DOCUMENT v3.24.1
SUBSEQUENT EVENTS (Details Narrative) - shares
1 Months Ended 12 Months Ended
Jan. 31, 2024
Dec. 31, 2023
Dec. 31, 2022
Subsequent Event [Line Items]      
Stock option granted     981,000
Consultants [Member]      
Subsequent Event [Line Items]      
Stock option granted   46,000
Employees [Member]      
Subsequent Event [Line Items]      
Stock option granted   935,000
Subsequent Event [Member] | Consultants [Member]      
Subsequent Event [Line Items]      
Stock option issued upon exercise 15,000    
Stock option granted 56,000    
Subsequent Event [Member] | Employees [Member]      
Subsequent Event [Line Items]      
Stock option granted 494,000    
EXCEL 102 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( $"%@5@'04UB@0 +$ 0 9&]C4')O<',O87!P+GAM M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGDK7A.YNJQ<&4GPZ4A!0W_J=0U[R;UEA_6\#MI7E!+ P04 M " ! A8%8=^O]MNX K @ $0 &1O8U!R;W!S+V-O&ULS9)- M:L,P$$:O4K2W1_ZA"^%HT])5 H4&6KH3TB01M6PA3;%S^\IJXE#: Q2TT0$0]0F=BF5*#*EY&(-3E*[A"%[I M#W5$J#F_!X>DC"(%"[#P*Y')SFBA RH:PP5O](KWGZ'/,*,!>W0X4(2JK(#) M9:(_SWT'-\ "(PPN?A?0K,1<_1.;.\ NR3G:-35-4SDU.9=VJ.!MMWW)ZQ9V MB*0&C>E5M(+.'C?L.OFU>7C#K5ON:BK43;O"^N/_QNPFXT]F#_ ML?%54';PZU_(+U!+ P04 " ! A8%8F5R<(Q & "<)P $P 'AL+W1H M96UE+W1H96UE,2YX;6SM6EMSVC@4?N^OT'AG]FT+QC:!MK03621A'^_1S80RY8-[9)-NIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X M8-DOV]:[MR_>X%#BVR]*+ M41B1%G\@M MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7 MH5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\W*.76!4!EQC?-*HU+,76>)7 \:V< M/!T3$LV4"P9!AI@S M&L%&KQMUAVC2/'K^!?F<-0HACA*FNVB<5@$_9Y>PTG!Z(++9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0' MHYI9";V$5FJ?JH,@H%\;D>/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y M?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;Q/NN,=K7-"XH8U=RSTS0LS0[=R2^JVE+ZU)CA* M]+',<$X>RPP[9SR2';9WH!TU^_9==N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D* MTU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-# MAWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B M?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*P MOFH]M!5.S_Y9KF4Q9Z;RWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=W MP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[2$R<><41 71% B.5' 86%S+D4.Z2 MD 83 >LX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F M$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+ M!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'5 M0.4_V]0-:/8--!R1!5XQF;8VH^1."CS<_N\-L,+$CN'MB[\!4$L#!!0 ( M $"%@5C@189LY < %\T 8 >&PO=V]R:W-H965T&UL MM9M=ILFF=C]VLY>R"#;3 %YA7"2 M?[\";!.RXC7,R+UH#>8]AJ>2.$>"RT?&?\4K2@5Z"H,HOFJMA%A_Z'1B=T5# M$I^R-8WD-PO&0R+D)E]VXC6GQ,N*PJ!C&<99)R1^U.I?9OON>?^2)2+P(WK/ M49R$(>'/US1@CU O5R+=T>E?KLF23JGXLK[G*J-3 _#&TK+RIRQ7^G&Q+MJ&>D9T8"Z(I4@\I\-=6@0 MI$KR//[=BK;VOYD6OOR\4Q]G%R\O9DYBZK#@F^^)U57KHH4\NB!)(![8XY]T M>T'=5,]E09S]C1[S8[NXA=PD%BS<%LLS"/TH_Y<\;4&\*,"]B@)K6V"]*C#M MB@*\+"RV]] M62?Z#MM0CMKHRW2(WKU]?]D14C3]JN-N!:YS :M"P+309Q:)58Q&D4>]LD!' MGLW^E*S=*5U;H.*0NJ<(FR?(,BRL."$'+O],^"FR>EFYK2@?PN5_)9'\=4/U MZZ6KP7O .-/#(."?@WDLN&SD_Z@(YPJV6B'M^1_B-7'I54MV[9CR#6WU?__- M/#/^4-'1*3;4)%8B9^_)V9!Z?\C<1(XP LV>UU2%#2XWC?8G%1^PJBD?36(E M/MT]GRYX@0,)Q\L C0.R5 &"ZQ^)"\^2K'J -*NUM=Y;T.K&\*39-8"5IO#ZU7#]K8 MCUW9%[?LQG)WK ('JXU_J&"!-4UA:1(KP3*-PI89C7#]H(17PSH@5M6XX+*F MP'2IE8F],+(F>)%.POEK8%#//"#7;IM6&YM*;&!E8VR:U,K8K *;!5[G*!*^ M>);4 HINDW!.N1(6+&(8IF35M0TE+K"V,2Y-:F5CA=I!N#&Y.Y*9SJN2IU>'K M4BOS+#R^";OT+4]']EPN>^U$9L@G](D^*XG"4H9LA<99#_=4J<^!BQM3.X;Q M-POG;\+6?4MM1I[0Q)/H_(7ODLRU 5T8ECPWV^89-BXN>DIZ6C.!+K4RO2(5 MF+"=W]*;1"[CTN-FX$[05,@;!6(<.2R1C5&V2>:I.S:L/E /@EJS@BZU,L B M+9BPQ=\"''B>5(]/=A_0C3P.W45J:K#DF>R\;Y#\T[718$/5 Y_6!*%+KT=N*XQM&-$"+/($"9L^U]#V_?9>\XV M?N2J6QZL.;A68M.:)72IE>=3BS!AP?[_?VTM'^%4L XH.0/EA*S6'*%+K0RK MR!$6;/Q?P[IGL9#.Y&]_77E'.* X,S]F0YOY7>E,X.K&](X1)ZPB3EAP$LB& ML0&GI!H6+/#.-K!J&<*!ZQIC.D:,L(H88<'N_X9E&VU>MU ME;2TA@1=:F5:14BP8&<_\X5,IVR!3.O=_#V:4C?ALITID<%*#@M#%F6]<2J8 M^^L$O35.I?5 :\+1A@3J>5Y8M#',8V0'J\@.%FST9YQX?K1$T^=PS@(E0UA@ M/)TH(6F-"+K4RI"*B&#!)G[7Q-#HR5V1:$DK8_X!H=L?T]'@\^A!24QK)M"E M5B969 *K5B;X1H.@_2N2)E9V4Q++\M2*2-%O%Q024]K#-"E5J97Q !< M:U5A&I(@0-=)++^.E?WS@$[5RCM^B<<"(>N#7:>(=K6K#K5HW4TN?9]WTS1ZVL6G@R\Y&1:>P^[C6 MBD">#G?)<+HB\JS072)B0:(T,RF)Z33QSE;M[.4U6G;7Z&)K?XU;&L>P^[BP M^[C>$T/QBV44>7>;ITNC"RI]A4O1SQE]$N@ZD#35CST>;:*)]UM_FSYSY2EN@7"/U,-4VL^T*56?LJVR _8=I72..^U_2DRPQ%?9J5FRH?SDC4,BXA$E-*T90)=: M#JWSXHV,U-9G;[;$R$T7WO*7,_9[]V_/#+)W1CK%X?FK-Y])F@IB%-"%+#5. MSZ4!XOG;+/F&8.OL_8XY$X*%V<<5)1[EZ0'R^P5C8K>1_L#^G:+^?U!+ P04 M " ! A8%8IK1-U>L& "A'0 & 'AL+W=OP[ZG_4\7Y'ZO3.U-^:E=8VNB^+JCF;K*Q=OYM.F_E* MEUGSUJQU!;_3V6G[W54].S4;6^25 MOJJC9E.66?WP41?F[FQ")X]??,F7*^N^F,Y.U]E27VO[=7U5P]6T&V61E[IJ MSK'P\^/H__6!@_!W&2-/C?%O_G"KLXF:A(M]&VV*>P7 M<_>'W@V=04.;5[F]VOY^( P<:CSBPO0-[ MK@/?._ VT)VR-JR+S&:ST]K<1;6SAM'1!^S(JOF.KIVPS71F^CK]47T^N=?3J<6;N4B^D&#'<7(NQAY:/39>=:LL !W7J+U'^=QL*I!8Z[G.M]E-H4^B"NKH3G*,2A:> ME%3%G(AD(!FQB^-4"8EK3CK-25#SIVH+66WJ7#_.K$!E)M[M*:4\5BH=Z$0, MXYBF$!(N5'9"95#H5:W76;Z(]#W@IP&U6;7HD@)3+'TA(B8I&R:M;\G( MO*I.K@KGK+%9 =6W+1I1UC0:5ZG\NT.]2I*4#61BAFD:)P>+\$AHV@E-GYA7 MX'EM'TXB_7V3K\M6+DQMH8%L*U,LFL,<3M#D2/VIYE12J>0@"-\PE?!(E,)C MH*1'$ E&T?8.D;F--HW>S_9>,A'#.!XO;;3''PV29W9IJF5DD4J_=/".=IXLVL;RAB ?5/C&CMZ4;# M>/O=F,5=7A3A#$#0)GC,I!CJ?-KP6&=/-QK&VX6^U5#.%I'-[G=)^SBU(VO, M1Q93L4R]%$#L9,S42-= >[31,-MV-?C#:.VE/JN$B"4EPIM4Q)(*)6DZ5@AZ MK%'Y?_M*&B3B2QO+'S7:<9P]#VD8B%USM,X>7&>$!NQ#CD(W)#P8(H9*\I3$ M(T^CAR$-TQ!4UAM(\2+/;O(BM] 6H4)]D$%J _2&.A'@"6C:$EPGZWG'PKSK MUF*MH7_;H+/)$';%BGF3B=AQ)64RTEBPGG'L*<;-3:E=N=#!Q\Y\:,6Q$HP. M:8P;)ER,\((=;.["=+M>F=KN\.9^DXX]L6?;MYAK", =:H#RMG7K4O@AV @Q!&NI8$/Z86:*J+%Y[]G' MPNS#U!\T&C?=_./[/>;#CL*\)MS+<63'1V5"1\HWZZ'(PE \[O.?*!O,)QTE M1'#(@Z%>S!)V!G2T=/149&$J7KXD.S!"2NFM2V331U(:C\UN#T<6WO1U92[O M2HFG?*3[8/Z^CB4$EN90NV\GP$R,=!^L!QX+ ^_R)7GL\PPV=IR38:^$&(J8 M)W$RTMVQGGPL3+Y=(E\^D<#(3D\RV"U[1T&89<(!/V-;)]ZSCY-@QW1MS?R; MVYGJNGGUDV)4OH]^A;VK?4#/KH(@?6D3]:-&.PZ])RH/$_7G[N6X:5];761T0C'!4 MIIP1.NS$44O!.(]'5@ _./P,D_0ON])U!'4&'MW*O6780IDT#;H0N,_#-S(5 M-/;F&#%41,BQ,U'>HY.'T0FMZJ;<%.VIN\[J*J^6N%2$D:" $S'L5C%+D1+8 M#(_TU;S')'\.)AMDY>IVY4;M)7T/TU_9VA3@OX3\@?()VW@T*A^07+@W!=[! M*6;)$MCB\[%$[U'*PRC];*HWF.#NS$&BU9[[N.0D$9)ZTGU#8)@@?.QY]&#E M8;#NGL<+*RER4JI8HH@<=EN8):Q1EO#^S+V\_#.KEWG50"]^"Z[DK80QZMW[P-V%->OVE=J-L=:4[<>5 MSB 9P"_WQK(H/V%>TO7O96=_0=02P,$% @ 0(6!6+,@Q_"Y @ AP@ M !@ !X;"]W;W)KXW.N[=PD M>ZGN=0%@R$/)A9XYA3'5I>OJK("2ZI&L0.#,6JJ2&NRJC:LK!32O025W \^+ MW9(RX:1)/;90:2*WAC,!"T7TMBRI^G,-7.YGCN\\#MRQ36'L@)LF%=W $LRW M:J&PYW8L.2M!:"8%4;">.5?^Y7QJX^N [PSV^J!-K).5E/>V\R6?.9X5!!PR M8QDH/G8P!\XM$-A^9+^MO:.7%=4PE_P'RTTQ#@#^^ @@: '!J8"P M!82UT499;>N&&IHF2NZ)LM'(9AMU;FHTNF'"[N+2*)QEB#/I7 HM.4M)C;WKQ+7=$,9@Y>+0UJ!T[Z[HT?>Y^&C/\GLEX: MPBX-X4OLN/]EB6[QG&7W%^W>$KHUA53L+^1#WAO"N":T+XE=&GG-+W%WA[Y. M".QI'G>:QV=HKJ@B.\JW,*2U(9H<2/!&GN<_$?I:5$]EU*F,7E2YP/<1*(77 MZISD1L]RY@_F]O6XGNBX$QV?)_K%[#9GB;WE:">S$DG3 M.GF>K& <1E$8/-$Z&!C$07PDK=-.[_1\O5A3M:$B9V(S)'IZJNC!P"'1[D&9 ML"7Z*U4;)C3AL$:H-YK@H5)-V6LZ1E9UY5A)@W6H;A;XI0#*!N#\6DKSV+'% MJ/OV2/\!4$L#!!0 ( $"%@5@Y]20(:0@ 8E 8 >&PO=V]R:W-H M965T&ULM9IM;]LX$L>_"N%=%"VPJ<4'452:!&C2N[T"M]NB M::\O#O="EFE;6$GT2G32W*??D61;CCAD-SI;]H*J<&WLV/7I9%I>NV,#5I].IR]IZ>WPC5#>@M_E7H^_;D->E"61CS M1_?FX_)R%G6*=*ESV[G(X,^=OM%EV7D"'7_NG/]['SP$L\A: M?6/*[\72;BYG:D:6>I7M2OO%W/]#[P.*.W^Y*=O^?W(_V,IT1O)=:TVU'PP* MJJ(>_F8_]C?B9 "5G@%L/X!-!PC/ +X?P/M !V5]6!\RFUU=-.:>-)TU>.M> M]/>F'PW1%'4WC;>V@6\+&&>O;DS=FK)89E8OR:V%/S!'MB5F13[6N:DTR>HE MN3$5+))--WMW^O#%&?EV^X&\_OG-Q=R"DL[?/-]?]7JX*O-S@!Q^O*V\]\<]_O:W MZ'A#R;_?+UK;P*+]#W:W!F<"=];MY/-VF^7Z<@:ST.KF3L^N7OU$9?0.B_2% MG#V*6QSC%B'O5[=9J5LLPF%8W _K4LO=%5><"17)B_G=J7K74,1*1$*F1\-' MRN*CLCBH[,:TMEO5;:>0O/[=6$WD+R0AK[)J^XXH=!4/+N6)&):D*A$QG:AV M#3E-$QJG$E@I<5G/WG)]?U"SAZ%JX[AJN!\? >TH1$J=Z5(F/U8 M3.8!L8MYDBC/-*1'76E0U_LEL*'H,DQ'Q6Z19TT!Z[Q+W@M=:U@^J.S4718L MBJ,HF"IPV30:\1,%A7^LVUV3U;E&(1(YEU62QM%T]R%V$K)+PCSJ M3N!(@^H^K59%/B"P*MHLB;?H.)$L!-99+0ISF9) )Q7+ M:3I'#*6B2OA:/3;2AX7I,_9217]\@,IT8<+2%#+GM$1"#!.H[*'7\,@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: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"2Z4WB!F9SR*?,VQ&($MGM,<8^L,58LQ6TK)I^TQ8IA(!5L\\@@>F2W" MS+Y!I))7/RE&Z3LOM=%8G@MMS# $;3%"6X2AC<;R''SC2PGCMY*Q4ZTBAC)- M:)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 M2D]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"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=.:.P5>L/! M^UQD79BO"I2MI&K$?P?5QI8,'"41Q6E/KL..Q#&CV*TWV>M-O'J_%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[GZ##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 M2OM3GIHTUM$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)">@KO?\_,@)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-\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%5W[= MAT:NVZMR<]DT19P94V@/\OI&QV'_0#]K&PO=V]R:W-H965T&ULK9IM M_"N.[N;O.U#62 $$O\4QKGCK3]C)-VWMQK3(A#ZN[2;VN6+9HG5;%!-NV-UEE>3F:7K3?7573"[X115ZRJ\JJ M-ZM55GU_S0K^<#E"H\K+,[=LW$I_55)8\F.\HB7[&RSGEI M5>SV=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!).MUU>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,]GNYQG0 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: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$ZJAXZ=%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(35YY !4R/!^PG?B\!HF,:X'V^8.6B MMM99KM]&0"E]4* 0Z;0N[%%*U"'C(K>N]Y.=;U M@>95&X*H]4Y6 Q>9]?;M3%L.4"H?%"B$ D50H!@*E*"AR(?MYI_:&([:]5_< MV8N!^(?$0*)]=4J;*['& 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[<?B\:!Y)W7WXO7T?U!+ P04 " ! MA8%8@Z?<&E<" "V!0 & 'AL+W=OY?<)8U4=[H 0')?6Y@!YY;(R/C5<7K]E1:XO]ZQ?W3>C9<5U3"3_#O+ ML9AXYQ[)84UKCC>R^02=GZ'ERR37[DF:-CM_580\P M&!T!A!T@? Z(CP"B#A YHZTR9VM.D::)D@U1-MNPV86KC4,;-TS8K[A$94Z9 MP6&ZH ]DJ\D"E/LC1 9DSG3&I:X5D'?D=CDG)Z]/$Q_-91;B9QWQM"4.CQ / M0G(M!1::?! YY$\)?*.REQKNI$[#%QGGD)V1:/"6A$$8'1 T^WMX^(*'GH;JUM/%A6MNU%[JB&4P\TY8:U!:\],VKP2AX?\CS?R)[ M4H&XKT#\$GOZQ0R9*Y')$LC)9ZGU*;E$5&Q5H_5.4)(%52#P4!%:YJ%CMI-F MFX;C\?!\%"?^=M_?GWGC(#3Z'_-:Z?Y>"Y2@-FXR:)+)6F#[B_6[_?"Y=#WW M;']JAE([0QYIVHEV3=6&"4TXK UE<#8VJE0[)=H 9>4:;271M*U;%F:P@K() MYGPM)>X">T$_JM/?4$L#!!0 ( $"%@5CZ5J690@( )$& 8 >&PO M=V]R:W-H965T&ULG95;;YLP%(#_BN5)>UK#);N5Y*BVA(FHB:N#F22YD1;29RL)3M022N:2*>:'O+[R*4(Z3R*WM9!*) M1C/*82>1:JJ*R.<-,-'&.,#'A3TM2FT7O"2J20%WH+_5.VEFWD#): 5<4<&1 MA#S&ZV"U6=IX%_"=0JM.QLA6X1H8LR"C\;MG MXF%+FW@Z/M(_N=I-+0>BX%JP'S3398S?8Y1!3AJF]Z+]#'T]<\M+!5/NBMHN M=A9BE#9*BZI/-@85Y=V=//7G<)(0+,XDA'U"Z+R[C9SE#=$DB:1HD;31AF8' MKE27;>0HMR_E3DOSE)H\G6S-\68@T;TD&>4%6DM)> 'FV+6*/&UVL'%>VM,V M'2T\0PM"="NX+A7ZR#/(_@5X1FWP"X]^FW"4> /I!$V#=RCTP^D(;SK4.W6\ MZ07UHI]?3#3::JC4KY>*[]"SE]'V\UFIFJ008_-]*)"/@).W;X*%_V%$?#:( MS\;HR;YA@ +_,+\*3J71.A.U_O^H.]UQ8$Z8@A&Q^2 V'^5\%?SJ KEQZ&MR MBT%N<=&IW8,T'Q,YXS;.?,UM.;@M+SZX<;]Q[ED_[Z1-5" +UPP52D7#==I_F1I7J?L&F WT:)V3><@M&EA;EB:?P9( M&V">YT+HX\1N,/R%DC]02P,$% @ 0(6!6( @!\:5!0 0PP !@ !X M;"]W;W)KK8I &_V+LXJOY%R& M/ZJ9PZK?H@A52N.5-4CVT>"KDAN_]YM1) MKO]/B1IQW!T1( M:ID'0N#XLY93J34!@<:/!K/;NJ2#^[]WZ->V#+9O#6)?*I+_\9Y.'O0,G@Q<.C)H# MH\@[.8HL/_+ +\Z!KDE*&BS(/#5X5SX>)R,K^9LR_7;'9_ M-;^Z>Y@\W'RY.^L'0)-!/V]@+A/,Z 68X8A]MB84GET9(<53@#XXM<1&.V*7 MHU<1/\J\Q\;#C(T&H_$K>.,VT''$&[^ -\ES6YN@S(K-K%:YDI[]-5GXX"", MOY^+..$=/H]'S?+!5SR7YUUT@Y=N+;L7;]\,CP>GK[ ];-D>OH;^_\OR*LSS M)(>]SK/P[*& 22>WQB-!@@$?G M&J=36U;<;'?0&5. VA16Z^V!W1@P\?7"*Z&XHQ*W'JZE(TX1F-T&T^.L_P35#MATME,32Q/3EO2,&!D\#1! M)P-V?(0S'733:"_RJG9Y@:$F&,>$%$*EO+.C ?M]V#M^STYZXS$=C7_3^7$6 MZ]@4XBD$_(P&)*3.[C,W(C)X4A4AU[@.J@R3S-1+-&#M9+3$Q? =-Y&O)$DI M;!E=0BKGFFJL\H)YW"+1O5SSRKI43BAI \VY'OMB)*N<%74>,O;I:O(PGWR] M1U>^/SS-.LHW^"17ZUCM)93)_$:5)$=!TT1R4=CS$3#3D M,6O?)@]7]WMI8[^F+8%0\V.>I 0 43FG5FF5@OE:A].TQGB=4FCC\4Y&"C]T7F]]36^/X M +.L1@MW'B6'%M?JGZ;B> )H2$1O.=3A:,:QA;*T44H$](X"P@Q<$B.W:W+P MA)*:UGR83?QC6R8];_/4G26SI8QD-R6):*#1VU7Q(YQ:!;H MN1(9NSU(I!2F%WFA$@"6RE76.LYG,,$5L,:\ )9S-KZJHM8!1B&BABF=E:IH MO5&AV"E%!F>UK,NL[<D!@>5!"'P8J$.;VA0=#'U=9P/GK514G%-@1L# M)*6+>:8LDI!*&*T)+G>V8ELEM8CEZC1![;"2&# %HRH+BWU< X)I7AOAMN@# M1+.B 9E%B=0E:84H[302N5<8HW@.B$@:F09Q)M1:I03]JIM.V%AF%/(!Y.>5 MEYIZY52C?:20AT;B['3&GP5>^=*1 ;XO M+4K7+,A!^_^&BW\!4$L#!!0 ( $"%@5BEX&04DQP &E3 9 >&PO M=V]R:W-H965TZ'QX_=GIT\>;[.B>O3B1_[N8_/BQ[IKRZ*R'QOCNNTV:_:O;%G?_?1H M_LA_\5NQWK3XXO&+'W?9VM[8]O?=QX8^/0Z[Y,765JZH*]/8U4^/7LY_>'6! M];S@[X6]<]'?!I@LZOHS/ESG/STZ!4"VM,L6.V3TSZV]LF6)C0B,/W7/1^%( M/!C_[7=_R[@3+HO,V:NZ_$>1MYN?'CU[9'*[RKJR_:V^^\4J/I?8;UF7CO]O M[F3M^=DCL^Q<6V_U88)@6U3R;_9%Z1 ]\.STG@?.]($SAEL.8BA?9VWVXL>F MOC,-5M-N^(-1Y:<)N*("4V[:AGXMZ+GVQO[V^>OGK)_/RZNK#[[]^ MNO[U9_/QP[OKJ^LW-S\^;ND0+'V\U U?R89G]VPX/S/OZZK=./.FRFT^W. Q M01= //,@OCI[<,?7=CDSY_/4G)V>G3^PWWE ^9SW.[]GOY?+9=U5;5&MS<>Z M+):%=>9_7RYD5XXV]S:1R_^]I?YD]/G M#T![$:"]>&CW_X1!#VXX#>[9+/G*0>;3AA8GR[IR1+0\:VUN5D6556P-# 9_.S. MRX>:LYP0(S,V,T?9<7*5N0T_P7^\^;,K;K.224"D2J[J[2ZK]MC:%;EMZ.BR M)"*L-P1C6=!J0'AK72MDVW7-F M7AE"W!&<&1!MK#5;4;Q,@ >/$EKE=P;""VN6@-;VT,Y,0&3\DR'N&1S<9HP\ M0^;L+2@=,;^H7%NT':PL[7:T.$X^V69K7MM=[8H1.0@0LZJ[QK18DOLEA$0[ M/FT!XFVWML$ACN2E^DS;TV9T=$,"%.]@"FS;F+^:)\].T]/34W,Y.S7SRU-S M?BJ?";^$:4?<),EX:Q=-1UX(1N5B9CYF>Q!W/CLWWR4$ 0FC:TG\6J))!:H! M];S)[BJ !>IZA W_;,C.6IY%8D*27Y!P) ,%R2U]!>YT*QL]P)]NRF:_![H MG\Y/T[.+N5%("13S/A,@F4.[; _P!3X^VS3$9@C#^8RP_&Z67*]B8"WM:X/0 MI SZFKPW[8"'\+&L28KH;U*T9(M P379EY\S\._^(*AX4?P.Q)@*5 M]K:PN?*'&$R2,HWB'.R88HE'%'O0:O\@HWP^>W9)G $)BO]?_(Z6Q\DUZ6T% M8P:# @, >T:/WF0P16-Q5]W,_J#SEF7FG&5P"MUD_P/$G(P8K-2ZKG,RBHAD M0))=4Q,R3DXAA(&H;5@=\(WK8,TL:<5UQ>;%;U_T ";0*C;/N3<,9,&$.FR' ML5%%T1\1K2S^R9:1U+^S,T&+.0%.LDZR)6?U.RFJ5/^"Q+,U!T7O. ["83 3 M:\N')(@>NS*#"8I@ XIYL5H1.TAY7+<@2UED#6/D:>J8IL2.LLNM&%'[A?0I M+[S@++NF$7._(+:MH<UMBULL8.T6 M2TT?C_DSF=2R:+V4U430#<7=@C_8W-B2^:I(JM#][2_/SN9/GSL"L>I6%--T M33B@J9GYN;DX/T]/YY?F^XN+]-E\;KZ?GZ?/OC\U1_EQ\K(D463/ M#M/PNNX6[:HKC09H0TTBT&\+E@ 6]>BYW#^7^>L8/SA].9]4<+8U@;"%>$/11Q=!Q@-+ $=T*1H!IT9K':FLP1?'F/=K;%YNG $?6! M!BL$T*:OZFVQ9+8654[<8XF'[L!7IR) ^),$P(E[M]F2?'RQKHH5Q4FTBV=Z MR@)(,"3^&[,DO2O:$[)6Y-,J;Z>B0 ^22NI,()/AM,?)1\*%2$WT0;BT W-2 M\\Y2<+*IRUP>OR;_3UH,RK\D8Z9BL*J!/,NH? FZ$I,H-!3#%FP9^0WZOF#% M$-T#E;:6/+.>D%7@)#M.1P:^9C]"N_]@;JY^>?/Z]W=OS(>WYOV;3[]\>(V_ M7K_Y^-N;J^N7GZX__,KRV!&C$M*.'!I.$<9W">4HI<1GBZP$BY+WL?(EUJ-+ M'FYJ]8<54=M^==FK.KOWIZXH(@!,(@;DT>YLU+OE(),01$TOF3W7-)[O<5'59K_>3RTYU69"" M9 #\Q".EY6"6="6Y4DE,AH(\=8X'^:9>M6!;,K'H7-<47JF+/FL!)_JG>D?N=/3E/3B_['$FH%-@4E M,$?KX^1M#0=2F2M6W^5>Y)Z,$[9"UN2_5]/@%;]PDN?,;F9D:*U$22/:!'2.+,44R];'.RK41JI<2(MF MYC=U6&"#^E/!*6.:B7WQ2 9+XF,:?V(B)Y+!N25MPHIXP,ZI%21"*-3EVL?N R4=-S*1ZR'+*UP@AN,PJBPH(4Q-HVC(&BX;"W0)$H&"@HDNJ9E(P%1WSQ-COYQ6K[7(@"%*V$S%7"+Z' 5 M"=W1YCCQ$OX;.4GRYF*/HH!**B8M$T164IBQ);&D$(?YB]_): / .\ZGP!;; MW(HLDXW.NZ7&SHNBSNVZR7*FTJXN]X@24W![A520'H8(=,X)H7ZM*9R9/YL- M !(7[SC!N+4GKK4[LZ5]2[8 'LBF1\<7 VZ1X-@=Z^P/YFA.%",VMKT95MH@ MB$.-[XAHR@:;O_3A37)T=M^#:HO8B-2+LECSK]BF%UB_0F-OID=="B(KQ*2*0!],I6LW 6 ML01@(4.!,2AP'IG.SUS_0F8/+Z7'-'TNY(M>C>EVA!E)$8E)LP]P9 VYN(;- M!6\N!D: @EI3,F=/ZNID45.8)\=SQ1%YY##N!FFXR2"':^#/,NLF\RIN1&A: MQ](N=.4X@*-8TDIH#!?V,DEX<@G9R?@04;8%J5$"581H<%XWR8R9N0&YDBF/ M@A]V(CQ*9I(6"E:KN(!+AK-/!)X#ZX;K+2F92DG(V&F! KR>\BPR 7Y6?': M/N_* ROUC)EY;85?B M6/8B0!&E)Q1W"Y_91D[D8F;>>'<*,&Y$] 8)>D_J M>KLEL!QO4(0-;+R!\QL0/%QL8E?6B\N*0F]/9OZ=.V^YZ#)I.Q(=L8R^)O,P M&'45*N*AB"._Q & ,(EB^L:Z';)DCBTE-O0/>< I *!<&Z@YSPURR))&J(4E MGRAU[<&#,"XAMB5:_Z&T/A$,@08=F!VXZW (H]:O\0!RE%QRP;*QNEF0A(DV MRGW)RM/YLW0 1<(D/7MN1"0. &1>"9,(5PH"*HFQN90FU-^):R!2]2SN4_-7 M4+Z3FR4E?^ .+SX!<[G=@0!@-CS5HSPB/=33Q4F=+TIZGL30&'1>6(J$44(P ME9,>RJK;+J16.D0E]"L BS?]V!+%M*Q1/JOTBZ*1B7(=V1268?L%;0UW2"22 MB,_'R0=V %>#F/!:8D+^*9D,%QOK7:TWJFFH%::'<3#CT$&,I[IG?9O-1&VV M..)-[@E;4[*Q[42^4+'-E/#=J>&10M:HFB,E5P"CSL]G34"-J84Z :&JRLYE M$]]=&=N!A[(-4:6F$-:7G)A&T?5*$_*OI!(AZ$A&27&<3"L\DTGY UD8B4.) M?@/#^Y$08>DRKTBPEPF%^BC:<"PF>N]1ZEKIG^44:.1]/D+Y*Z6IOOD96T@E MJ&]N'13Q>SWP3XF4UUU+/I]-9:*QL"@4>?BB9# FH,1_E$@M.Z'>6BK@FK2' MBCU*2TAY:BDD@TGEMR1CK&" MWC*5Q-^,SAQ:@OCD _7(E0:1Z/=44$3MEY9%6SV%LQX*29R!^RTW8Z9QD@WP.Y.-0'-@A^8S4(44EDKRF MV(,%R8]S,/GHCS,2].UQ\KM0^$VHU\/!R!A!@.'K$PALERIX6-3X1T,#YC\8 M&FA =;1CHYX"<6^;?;91;X&+'20YVX&/4*$.V@VBJ=%#3S+4M4Q=$Z+LJ-[EXEI$;WJ\_KY59 )#DC+XZRKMLEZI>%X=(6,?]8SG*O7[)/*O1;[ SW%1VCO!>$B.A7J MODF\N*;'"8F+\C V+#V(C8U"!C.P6(-X/AD_<\M.0HLU7*WHT'_49YWR&1'= M39\RH?>:>?'QE.Y$QB?;4[[I.$ ;' LK!L6KC;1J@VJ@Y7E'J23728N^CR)2 ME@X7>]%;LFPS1?M0+I6?F9-:!2=XRSV/[$R%F/'FH4_E$N[/::KG#5";?0D0 M'=1)B#IHE"%;=YH*:MF\[XVPM@R;1H?()N SK).V^F0 8-S<2\WALF@J)^6R M%>?S4BKC)(R[O )KK,"BI1)5@@%A9]]1'W3]R>!5Q\E;4/SO_L>W0:VO*XID M.]%KK$ED V[&K[@3+R%4'YMHG0@V1Y1P8:-4#\E!I3S%/$I6Y*'\"87.@OG9 MFZ,,GJ!H9ZH>C^GU9<0Q"/%+N08UK M8=L[SF!E#[+V;8&CV'A5VK]#]"SZPA7\Y.]!WEITF(H_.VX(2#2FRR.)-EL* M(C$Y66Q)]V--K!=7!RJXZ6"ME,G9Z*!3EUE'"OK!5$L M,]<.($Y%.K;9GIO>]U)J1AG?]T^>?O_-A@N/E9V/Q:"%#WM2]>8>9]LA7C8@LM*VNN@*,K_XEL M5(="GC-_#D#FV@.Q%>TI 2\9@O=\]$!1!>0"%&@3".+/N4#$<"C[)D"5V@L/ MD:&T4"_J)M/PO%^4J.B3:$NE![E#FW$ 7$I,3F:QE)$J/QKP+?0]-SY]__U0 M>'MP,4DD0<,"TXEM*W!7M==)+5KN^[IM/".@SBB2^ &,(R+/1G4#EG^$ ^EP M*C"=MMCA2_(]X1N>[!J$4*H&;D-XR;Y<$^B+?$1FC%0$%\[3L!4'3ABZ^,(> M%WL4*+PYY/D0=I2.)3;1\$I*B./#*AYL4SJ@/C,8EU3;/J9$/[(&#R^T6$0. M;X"AK_C\=^!/'@"39)]65!N>BROA.6\!-U=#XDSTCRY?8ZW,__&CX!-39#G@ MBQ8J$L)%H.-),)MS8AZL (_5@=%"3,)&4W5G$P/?OQI:)I5]J[F5A M*:VO.X[KFD%-CZ1&?^#N!V;$KJ5)%[$* $8$W[,G6BI"1"$9?R7(%U)[87J' M"4+A5RCCAX%&;\$$TF :?#R5J%,)Q!(AS$QTE0[ZVV *S+K+4'*REJ3!J$__: M\[Z'*'G'FK2RW(%TM0[+,2$F;(C EX_04\RVJB TG^L-*J9[! M92)C59?W>IC,)GTR>UC$&18;?&:DK@8/\D %Y2T5-X9::<'Y\JP?C,9O/D&Z MWV4F@6*'#IZXP0XXGIX'_SG!XII;<]UUF_\YLY=.+T]2WQL0@'/UYG/R& M 9'W?60VV:>6+(!G29AH?OAIK(@%5\D.$A$1#:]C??#MI\:62SE0[Y?UQ=O! M.*)((HP1Y"44SJ8'V]/(N]]CM*)P-)0:QL,(7)V2:9S1H+BM;HNFKB2F'%EW M>K[6FH'.??ONES;#%'&.H8%-A3:NCFG@+I>_/# S5T)ZWI%T'P,^OMPB;2M( M I&-.<_!NS*+)\WW'#>2Q^4Z$1GE?IK3V]@#H\_%%F%Q! GATF88:/JK.3M- M+YZ=I4^_?V8NS\W9T_3IT\OTR?R)>3(W3]++)_-T_N3"/'E*'^9G%^G%&7VX M9+F*Y0C#G#IF41(ZS">[S#IURYZ:_)MCP?(TZ,DJUI6HL"LS;H%C&>_*Y)![ M1/=G'_?A3RR-8CJ]FPL?87,,26LRF6H5^*"(R^=)& MHUJX3KE]+]@:8=,/&@:0PDAED06U6$8@3@MJX*W);0:&6 MARK4")#]>/K8YPG:==&"::@G2&%ENI)2Y0?5%/_EN* RS>R-S==H=8XEV8,: MX_,0Q\.=/.;F?7P?UY@:'TSUO:01JV.'#%^3>("LS-YIW@HR,4FCBM\0)O>0 M/9R 'M.4* 7@WD HY&!2^P_M<:^*+VPZ_>_CT[Y!U Z/_18Q&XO8 ;:05VGF M@6"-%6K:"7STUG9(D% I6<#D:%$ENZT[Z7_X@E%SG+SA80WSGB_D\$T\'>Z( MI2-()9>4HVO2_=B0#'WHQ9ZHO<,F4P*/_L'^^EA,(/;3_54P7UI)XM)F41'! M8,TD1X70ZW1KVD\6R4'6#KI__:/#,=?3UQNM6>-Z4HTQ;5\L;ZR&,=J. MJY)XZ^!-92:6QP%0;J_]]8 H4L3L@V;)[,@W5LOZ7^&;BR^\D;RXX^3GJ*DY M<3G,_YP$X$-CS+I0[0EWX*5-QOEIW_I$N0*]/\_.,)7D( G]4/%!RW2)H$P&G]SA\?_O/C@(LF?KA7KO<5XB'&<"SKD+,@F:# M)DM]5K*P:X0?B%N2#-L1G3).+8?%,['K+$EBZ)?C,8*A1G+OPC>P0MTFZF"A M3)6M +OBKT8CF88AU50GNN@WNSWH.>Q[9F##%:#B9C.@X$4LUS<,WGC=L MR'%2N#_AV^\L4A:RG:&)_$M]A_A.;7I@Y:'2+R'7K9S4O.6O%$G#GKQ$A.2 M#BR-=*K9#O0@'40)Z4!P/ [)O3B$NN=74)6(V4UC&_3.%Q@/)"5JZ$+&1#]A M-/B._E=E81+&Z9/Z-X<\"&H2F8AXJL 7+RSD*UC'09TZ[*F3"]7((@]AZB^N M12,HFD(ENC\G:]$I_;2+7*#I[?0!\X+72-2$]]F^'[G!5+E%+*0!-3X:9RDG M:_7*05'Q[ 6!I.,I/,6DN>3)Q%7J>/$4$/?LZEO,WF>$<5JHXJ''J*O(MNM+ M=::=AU;J867K53=OS0RM?-V)JP=R=?(GH> MK4TBC]"W@[Q3Z WD-ELV]4DH6,27V<,-=W\YD$S("8J9*+Q[P M'#E>M93&EJ75J?@B##U2-/,//*H78*?9.7X3 ;R#QMJ'UN@ ):VQC:Q0L&>A MYC71*'^8/ ,[-#1/XP?36*5@6;6KE:?1^-[HLDXVC,/X=1FA!!7>:T)IZ+]5 MT3R_Y(JF!\^% 9E!(,SL2S$Q1HIZPHIZ./$GBAKLR%=O2!3-X()&/XDW=,L2 M++JQ(>K-"XBSBB"+J*VO,F%AXV12%GAXXP$H#4:!_MGI\\/[^":^C\^KB$@N MGKZ,AG[Q(B_,W+6X&+O$+O%KX$CU:[P%9'OP^BX4.@J\G6>KHQ6@?W\A&-?! M!K/%@XU"8SU<20RL+>V/SXFWX!F=&M0IC6D4L>SDH)6WP[ND8+>]WCP MV ]GGLWTX/#,3+U1[W'T^D-RQ6M^R:.3*K&\"3%\&]XC^5)>G]@OEY=0OB<= M1LI2VA4]>CI[>OE(YCW]A[;>\$MVN^ M^!=02P,$% @ 0(6!6)F+RN]?!0 ?PP !D !X;"]W;W)K&ULC5=;;^(Z$'[/KQBQJU572B$)A-XKT9:>K40O*G".]M$D M!JQUXAS;E')^_9EQ+J5=BO:E.+;GFV]F/H_=\[72O\R2&Z%R MT'Q^T1J$IU<]VN\V_"WXVFR-@2*9*?6+/N[2BU9 A+CDB24$AC\O_)I+24!( MX]\*L]6X),/M<8U^ZV+'6&;,\&LE_Q&I75ZTCEN0\CE;2?NLUC]X%4],>(F2 MQOV%=;DW[+8@61FKLLH8&60B+W_9:Y6'+8/CX!.#J#*('._2D6-YPRR[/-=J M#9IV(QH-7*C.&LF)G(HRMAI7!=K9R]%P,!Z.SSL6L6BFDU1V5Z5=](E=&,&] MRNW2P#!/>?H>H(,D&B91S>0JVHMXPY,V=$,?HB#J[L'K-I%U'5[WL\@X%LOL MBJRTZ^VVHU-P:@J6\(L6RMQP_<);E]^^A/W@; ^K7L.JMP]]3[[WVNUFU6U[ M)1Z4P0+3'/@+DRMF>0HL3R&1S!@Q%_1I@ N[Y!KP2&MF1;X I6$N9TY3O+:Y45+-]X"*]T:MR@9E(L6-D,K(-RJRTA0J%$H[&F^YK7=M#J5" M=.):[R)8BH E2-H7UPM"451,_8+_XQWTP+0W[F6F5DXKGU MW5FOVC;"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=OP;T@LBE+)O[,H."[ MJ>59^X5EOLV47G"B2DN8E5#+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 BG!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&ULA53;;MLP#'W/5Q!>L2-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.$AVFEB51.!'L.RUT.7)2!PI U/\ $.X 8:.[W:A1.26:9$,IMB!MMF&S1E-J@S;B M*+>7LM#2K%*#T]GM_;?9_=/#_':V&'K:$-JPE^_ XQ8/P).,4\SY$@0NA'T8G^**NO*CABSXJC[\BUT*^PY2JG FU MD0@_KY9*2_,>?ATKN26,CQ/:'KE4-]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>%+NNF6I="F]QJS-,,. MI4TPZRLA]-ZQ&W3C,_L#4$L#!!0 ( $"%@5A%<_T!* 0 "P) 9 M>&PO=V]R:W-H965T: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@GOEIM0#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$B,U,^R,_CX M(4SIIW=XQP?>\7OHOZG6NYBG&:?GP:]SP=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*(]R!BPB48H$?4.1H'LU/JTQ"!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-H965T5D,\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+/B_O'UPBW7 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.%H6;K;709E*= MF9G5B-(FF/.-$'KGV +MLHW_ E!+ P04 " ! A8%8O9LGD) # # " M&0 'AL+W=OD>3#(!JTG,VJ9T[]??V(% 5Y3KW@OQV#/??#/C M\=#="?FDUH@:7O*L4#UWK?7FQO-4O,:K@_H=S9VBF7)%-Z*["M/]+KG=EQ( M,&7;3#^(W6?+'(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*L'<"\*O580%@DFKP$\ M(E'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:X=D9 M';.0XD\GH4ZQUVN=AHW>&>1":OX/L\Y^HYMJ<_+Q/Q-9KUVWWX6@WH!H6!JM M>JF^6*/#6X,G%>D\84&J$(0S^3-X!3XHB$EBO =F53 ;5Y2D=& M5#>OFBJ<+Z+[P8(:Z.YQ\?A S7,_?5A$?PX6T70"X1^S<#(/'4I)\Y@.([9. MA>M3H7TJ=*K4G7N3O).I0IE:V=EIDDBE*0=,M5N-YT$YE8[JY6R_9W+%"P49 MIF3J7[5;+LAR7I:"%AL[HY9"4UGL1RH^NE=H5%;H]F^0@5AT[M2^D M_/>S$TB92M%>DKOS?9^_LWTW*)5^,2DBP5LFI!EZ*5%^Y?LF3C%CIJURE'9E MI73&R+IZ[9M<(TLJ4";\, C._8QQZ46#*C;3T4 5)+C$F0939!G3VQ$*50Z] MCK_J6JWM2R9 MP;$2?WA"Z="[\"#!%2L$/:GR%G?U]!U?K(2IOE#6N9U+#^+"D,IV8*L@X[+^ ML[?=.1P +H)/ .$.$%:ZZXTJE1-&+!IH58)VV9;-&56I%=J*X])=RIRT7>46 M1]']XZ^?L)@^/C;E\YY\..$PEZCL'>*_3_OX23'<867[=9' M;EBDV!JK+&=R"RDS8# N-*>M?=#U^0"EC(!I!.'.CMS9<0F246%C9],0J!4D++,M_(Y.422PW()@,A%*)P:L\7%YPS17A6EM4"9*&[!#!O"UX+EM M>X*\T+$5AZ8-\_'M=/)\/X7'&_A83LL]$_=6PM9]H[;9["MBA#O:XFA;$U%I+J=FJBS3"ZKGOP/;V>9 ],K[DT('!EH4'[>]\# M74^'VB&55QVY5&3[NS)3.U!1NP2[OE**]H[;H!G1T5]02P,$% @ 0(6! M6$43="N/!0 ; P !D !X;"]W;W)K&ULQ5=9 M;]M&$'[GKQ@H1J 6VMY4XYM0 <=*Y L5Y)3!$4?*')E+4)RE>7*1W]]9Y>4 M(B<^VJ?"!KG'S#?W<'1Z+^2W:LV8@HR3OJ?I M#<$7SNZK@S5H2Y9"?-.;47;6HEHAEK-4:80$7W=LP/)< Z$:WQO,UEZD9CQ< M[] OC.UHRS*IV$#D?_!,K<]:40LRMDJVN9J)^TO6V.-KO%3DE7G"?4WK!RU( MMY421<.,&A2\K-_)0^.' X:(OL#@- R.T;L69+0<)BHY/Y7B'J2F1C2],*8: M;E2.ESHHLK\Q@IZSZIL H4DYB<+ .U3A3$5]=P MS>06,IY!*104NKVH-=/UPDMNZE&L4.1R6R%;50'7!9H*F25ERK &U!HN>O,^ M#$3&5SQ-#,M";'@*$?4)]'>, U$L>6GN*XO ?' 9#V_&,4PO$& T@R^]\4T\ MU]O%90R]^3Q&:WN#WV]&LW@(O:LAC$>]_F@\6HR0#.]O)O'0NM[*=(W%#BG" M\HS)6H&CG3NL7E4QG44I)IADV8DU2*HUA,1UJ=7?\CSCY2VX)/2I]IHUUNEF M[S8\6?(E_@8$PR<4$D.J&BIT%W),F=0HLL3H^4)1)%+'"^RXH=4^TR[_JG^(.Z8 M_,E8-PQ0%%& MM0_Z/CF.P'5]0GT;>E;S3=#W.DTPJ)ND?'S_+G+L\.,3Z2N1XX<$;3J,=(SA M7'R%2;RXG [A1UY;_237"44 &PLKEFACTUQL+9Y$CF/-&%:_T8S5S:)MSG<& MX']S7M1-Y$ 7QR&!Y[PLQ-E1_"HCTJGQKV2$B!!8H__N_[U:G[:EO>S MBB[ZX3>L_B4RC$IK?^U0.R*'L6AT0J%'>&D2>0]F&:#=:6%];L;FA?V*GRV,TWP_^5*2&WB!M';$7-I2'PG M?";H3MT #F/S:\KHIA&1J.N_+LKND&U"8&Z?ROUEF M;:18<66R)1>F].O9KQ[#H/!].9*GQW$JDDX+-\K M;'-5DF,6'8$=$.JYQ LBO8F(35U"0VI]DMJ.QBZ/! %>A2&N'.H1U[8-""]3 M43#-2*A-B>UHD,#6'6MIFQ]9(H'I>>=7ESZMF'62-:IA9!"7$B>@ M) HQHQW2=;$%X,?400VQX=AH#O$0P8E\:+,/UJX6=F];/\WJN7FB MFCFW A.6>AC5E!SE;(2H]#OP6RGFWKC1(;,T\N MA<+IU"S7^'. 24V ]RLAU&ZC!>Q_8)S_ U!+ P04 " ! A8%8K:.ER\0% M "<#P &0 'AL+W=OF M0!\2B^1L>'I9C+&QE^+J\<5KW&2JX*:;RRAIR<';5/^ONG0Y:/ K\HN?); MOXDSF5I[QXO+_*B=<$!2RRRP!8$_2WDFM69#"./+VF:[<9K6/_].JEDW';'O8"S+-0+UN;.JU-I<^8 MZJ?TT9JP\'1AL#=HDAU$>X-G M[4T#G2N?:>LK)^GWDZD/#HWQQU/9UK:&3]OB8=GWI_0Q:O)FF:'&R)Q)W^P6Z'E($5X969LVG2JH#%Z0/]0*,DZ21)TIHY6\0SI+-4 MMO+TK?\NW>(09U8O8>9Q=,H3N SAD)C/G9R+($D4MC*!A:J2@JT]2P^P>&]' M[<+]L+,.@#HMZ.\H[(Z2O4GRFF6D5G,UU9)R6P CE8%O,C;*2&52+04?EAK1 MCA)ZW8** IHF6/?0H4R4); 4 7Y2]A']=%&"(%$S1&9B3)4IA3;CIZ7<.F-AY= MQ 7C@NB+J72MS1PR@)/N"#GL;,XV,YK2'HWY:#<::S4U>%0ARL 3N##\FN%P M&Y"8S12S+#@ZMHKARO BLX!) ,C8&[K*-YG,K,:5@M4^9(I2JXA$;#XM5A O MG5TJOCT\PSU3L)(I@.8#]R'8'>NGQ.Z M0_4%S#<9=V_VI4)J]7*&*W7J5:Z$4[*&J7*8STVL.6A/Y@8V.Y0K7]I:,:(B MT.2<\AP)A+I2N''1D0MAYM)#FZ;U3(-F_! (;+@U+2*0K466@)511^"I(T7\1[W7?HDC#W# MQPEWHJ!Y)3AV&UOZ[0CS\RX=Q?D9C*C?&8WKQ:UM>9DQZX?(#ELU%N9AS0"> MIM:!JGEB )M;RS[=Q9UX>H;68P,10.AM\YZ@Z%*%AV:N6D"&JQ48;J$U/&-8 MX_C*=3%X]8AM@>P]6M_S/,22!GS&X+NF0C>CR]%E<%%K=^EF@2[>@[NB56># MT&&T"NPT3L^SN8GH_/%8#VB%V$%-_3@>=\;OAK0SW6T-&\J: M)$QO7RF,B8(9X7MB@_\$&?S/ G_' GQ;-=V *?(6-8.#..$ =GLX8R7P#Q.) M;VA55 7?;\HR,E\P1&KVP+$T7=%:3^+Z4P OEN6,Z@FW?&H3:Y^"]:+8,OX M_IK: ':+/Q=X/DO' CB?61LV"W;0/,B/_P102P,$% @ 0(6!6 37\)' M!0 - P !D !X;"]W;W)K&ULG5=;C]HX%'[/ MKSBB5062!Q+G/AYW EYI]:<:_A9%I6Z:JRUWIQW.BI;\Y*IMMCP"E>60I9,XU2N.FHC M.5M84%ETJ.M&G9+E5:-[:;]-9/=2;'615WPB06W+DLG[/B_$[JKA-0X?ON2K MM38?.MW+#5OQ*==?-Q.)L\Z199&7O%*YJ$#RY56CYYWW R-O!;[E?*<>C,%8 M,A?BSDP^+ZX:KE&(%SS3AH'AZPPO[&I9&C<@VRHMRCT8-2CS MJGZSGWL_/ D[@L N@=0JW>]D=7RFFG6O91B!])((YL96%,M&I7+*Q.4J9:X MFB-.=V_&HS]@-OQR"]?#_NRRHY'3K'2R/;Y?X^D+>(_"K:CT6L&P6O#%8X(. M*G/4B!XTZM-7&:]YU@;?(T!=ZK_"YQ\M]"V?_R+?7,-UKK)"J*WD\$]OKK3$ M;/CW.6MKKN!Y+E,AYVK#,G[5P!)07/[@C>Z'=U[D7KRB:7#4-'B-_3=B\2K^ M>>T\VG8>$T,3&+2D00Q^.PDAA"B$*B_ =XGO!W9HGB;,+37\+K7S'I(T(#3T:V)#$I+$BTZ4 M60N"T"6NZX+G0M#VS?9!.P0O)JGGF9?GHEYI2FB40N"%)/!=F E0/#,1EWS# M[K&1:!!+8-4]L%)L*ZU@+B2&"/798NY*T&L.I9!ZA=V(V-E E!L#6$E6:92; M:I'=P=],+A3:8.ES?0\Y+J+#M9.;1L4*V$CLFA)7GA*C FA_4:"@40$;DV+Y MXHAH0W/1,M[V0VMQT$Y=Q$O.X9XSJ8S?HXBD88Q.(9[GHZSK!B3&R'@D\BF) M8@I-W@+?X/<.,$I13/P4!7RC'>H8Q*AW MDAB]_8C$:0+-=] MT6SJ#+"=Y=76Q/7)7D^^4*?/"K,5@3]9M<5C#3RL%O1%&%C_O$!$V*K3J'B109YYAU2RE*:XV)8Y1$^% ,-<4ZC(_2 M-\9:EGW?YA*3MG:"F:G,?FA(@GD98 9'CXQZZ/+QU]ETUAM=?\:^U._=]$:# MH0V#,]YJI;%"C&_F-3\P_=CMOQ,5UD(G( ?698F'-)X ']XEU/,NX#9?%*8$ MIYIIKJ#/JCM4\\P\SOQ_H-@JK/@'5FXN8";Q3/^U5SF+M]$<2C\Y 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*WGT@C@^E((?9B8#8Y_%+K_ 5!+ P04 M" ! A8%8O-C8>A,' 8$ &0 'AL+W=OO(-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\EP^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=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'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/F)Z2:L.-('[@N6G(2!!YKI9'A-'(]9(3E2"=!:&;Q!164>H#7>H,#_%08B9?A-J2+G4IB\&DE%S@ M)HA15D(N3E4::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)@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" MG;\)*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%@A7\N5Q,B%W@_'XWW#/^7TPOI\X7T -Y-;W2.#%;AK$ MN*$D#:CM@[!A)*)XT4AP$]O;!G;[$+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&Z*]ZQIHK-J@3 E@10,VA5F>C#(']6]1)5QK M\AX"[.\1/AD:')YFO#$$+ -H+4 %A/'8DG:YA*>[4$@ MYW,IS6Z#"O9_#+CY/U!+ P04 " ! A8%8C(]P4^ # !'" &0 'AL M+W=OO(+QA3UY\B7-9FP3( M;6B -@WJ=GLXV(-B,[%1V_(DN5G__2C92=.#MMA#:THB/WZD*#*C Q>/,D54 M\*?(2SFV4Z6J"]>5<8H%DQU>84DG.RX*IF@I]JZL!++$&!6Y&WA>WRU85MJ3 MD=G;B,F(URK/2MP(D'51,/$\PYP?QK9O'S?NLGVJ](8[&55LCQ&JAVHC:.6> M4)*LP%)FO 2!N[$]]2]FH=8W"C\R/,@S&70D6\X?]6*5C&U/$\(<8Z41&'V> M<(YYKH&(QN\6TSZYU(;G\A']NXF=8MDRB7.>_\P2E8[MH0T)[EB=JSM^N,(V MGI[&BWDNS7\X-+I=SX:XEHH7K3$Q*+*R^;(_;1[.#(;O&02M06!X-XX,RP53 M;#(2_ !":Q.:%DRHQIK(9:6^E$@).LW(3DU6Z_GMS1(VRSN(KJ9WRY&K"%6? MN7&+,&L0@G<0_ !N>*E2"0U@$MT3IR"(Z=9\"'B N,.='T' B_H?H#7 M/<78-7C==_"63)19N9>P00%1R@3"?].M5()*XM=; 3=PX=MP^IE=%Q9PG3 M!E+1IS"0^MB8=V#V#K#U JS_8I;'=6YPF(0=SZEYR N(YE?+Q8P72]@L;I^N%\NX/HVBEZBLW3UZ!(*K#4UMY8_4TIDVUJQ;8Z@N*:L!,%3 M?9"*0LJ"@L\0.(-!SQGV0Y('CA?X3M\+K9_FC6M.3RBH99%U45 >#&\*LU84 M=)D0UH75!.H'3M@-G>&PK\7NX)O3]?O6H@U=GPZ_.6%_8,1^WPG]WCE;G91S M'_]$_^C[,WB=(#"?WN#D\WRW#W,4BCJW17TF?@1>Z4XIX9!R2? H"FFNBKPD M67.D220H8V)A[@[67"'X/0>^?!H&@7<9&:3;!LGL^9<$4.<)5*1:JHSE^7-[ M^VV=+3<105FFG&I5"W2 8H0#A0,E-]G(ZZ3QIY4H)17EP+1UJJUC)6F8+<:L MEB8W"0?):2AHURG=&)TAC0%B\-58T#3HT!/0H;[:M(YI, D_55_G5?5-U_>K MKZ;P5C]H8W._NEU'9R4W/4<\)780>H[G>> [72\T$CU!@58;*;S5/]RSYEZ@ MV)L1IM]:7:JFSY]V3U-RV@R'%_5FQ-XPL<^(1HX[,O4Z@YX-HAE;S4+QRHP* MZ@$T>(R8TJ1'H17H?,?I"MN%=G#Z[3#Y"U!+ P04 " ! A8%8$'%,8(D% M $# &0 'AL+W=O_4&E'#0UE4ZGBXUKH^&(U4NL:2*5?46-'*2LB2:7J5^4C5 M$EEFG/"H9KX8G1W;N2IX1EN4C)=8*2XJD+@Z'L[\@]/(V%N#6XX;M3,&$\E2 MB#OS,L^.AYXAA 6FVB P>MSC&1:% 2(:/SO,X79+X[@[[M$_V=@IEB53>":* M'SS3Z^-A,H0,5ZPI]'>Q^8Q=/&.#EXI"V7_8M+91.(2T45J4G3,Q*'G5/ME# MEX<=A\3;XQ!T#H'EW6YD69XSS4Z.I-B --:$9@8V5.M-Y'AE#F6A):UR\M,G MB^O+L[_@\NIZ?OEM<332!&D61FGG?MJZ!WO<_0"^BDJO%5Q4&6;/ 4;$94LH MZ F=!J\BGF/J0N@[$'A!^ I>N TPM'CAO@#73.+'4SJX#*[8(^E)PTQ*5N5H MQW_/EDI+$L<_+T7?8DX<+U&@=GHJQ9]0AKIH !:2Z] U';JJD+5L'[=V^2(/ . MK^C%#OW##Z[QA+J1M5 (8@5ZS148"Z"G%E!+<<\S!)9EW$"Q GB54LJI"JW! M'3X"EG4A'A&5,Q"K%4]1*@\X+K=51""W'"*G,(LA48+J9HT1?4K39,Q?W*H8-DH.B.E M7)AKDR1>:3150\9,=PFG6:4:S 9-96/8)M6D07/=T%:5J#[^;%C!5YR<=X]+ MM:>28X62\JU1EI8-VS"9*>@Q\=GI4GVT#'S/@S']C"16HJ!^S:LN'- [<23+XD[H"><,T\1W/FH3N>$Q_L=^-!V<&MBC( MB +#AYJ4FL%[/W2B)(8/%G3B]1Z!&P:#GAR930C6CSHSVCMPH\B.I\E^Q@'X M3IS$'2$+WW$.W2#>0V@<1];A@S6+XB<7BF&'4;*ULL#M8S^7D+CX?O3$92:V &9=PSXK&6B-+U[T\H5I7Z:S;_#[>S+S07,%HN;KVV?'9BCI S5U-D(TD9AJ\<_[(HC M=+W!G/0G35^2Q,JD*39IBN"/P:T@HFW_B6/7\R&>NG%,"S]^9?D\\#XU>:=M M*[V8_N(QG#>2XAST];FO/)UG/;<'JG@!42M+,R15)&,/XL )(M\\_&1B%Z;A M^,EH$CB3T(H;%HQ'B9.R$8Y]TT/8QEN<2TK:SVRON MK+W9/9FW]^.O3.;$'PI&PO M=V]R:W-H965T;B?7R4+*)S>X*<=![ PAP\(X K'-&F?(F -9 M&\\[9M!MZ82'_3W]D\_=YK(@&F>2_:"EJ<;!10 E+DG#S+W0[L77 J6A;\K([AP/!1?R&(-T)4N^[WTH,A;I%J)B)Y^V\O0- M>9+"G12FTG M2BQ? R+KI3.4[@U-TY/$*RQZT$]"2..T?X+7[Q+L>U[_#=[U M^># %1;^>W R-I7VT(:6[N^6]G'$I4+L.M+*J8H:V:M/16X4LI&!>MX:4[NU7#2UF; MD@N\5:#KJF+J\1I+N;MJA:VG@SN^*8P]Z POMVR#2S3WVUM%N\X!)>,5"LVE M (7Y56L4?KA.['OWX"^..WVT!FO)6LJO=C/+KEJ!)80EIL8B,/K[CF,L2PM$ M-+[M,5L'E5;P>/V$_LG93K:LF<:Q+/_FF2FN6OT69)BSNC1W\C;LM2&MM9+47)@85%\T_>]C[X4B@'[PB$.T%(L>[4>183IAAPTLE M=Z#L:T*S"V>JDR9R7-B@+(VB6TYR9CA?S,_'B_GJ;G%S,YO_ ;/Y:GHW7:Z6 MEQU#\/91)]U#73=0T2M0801?I#"%AJG(,'L.T"%>!W+1$[GKZ"3B!-,VQ*$/ M41#%)_#B@[&QPXM?,U:*E!@J6=+-!F;"H$)MX)_16AM%"?+O2U8WF,G+F+9H M/N@M2_&J156A47W'UO#=F[ 7?#S!.#DP3DZA_UYX3D*]3#2\:'NOZH S8/#> MF\YOR57?R5%4C$8#UW1<\HH;S.B?K7G)S2.D4FVE8K;6O+-W;_I1%'R\N1F[ M5?CQ/9B"&?DZ)H8 !,99)P\S]>UH?U&EKD/=)>[*ZD$LQI9"6RC>$IU M1F*P53*K4\M#P!<4F33,AYF-J.2Z#:L"82RK+1./GMP)R[77A;@+9(9W;$;% MOI+.E.GB!PGBKL%(X'2/WVIK%F&@TJ[RB9( VP?KDFE;^N3AC.K5%$3%BBS< MVX)O?Z36;:W2@F1AM%&(5K.7,>NX16KD&A6X[ [[;9@\(\'(TB<-A&[(JE]" M![:WB:@6UHMDC17&!V-ON:%5BIAI+ZV5<@+TB G#4[YUQ$HI-N>$7[D;74AE MFJVP8CZQ2G4Z)MD<)'WFU?62T ?#IL.5&CX0-\0C22 MHD\MF7RLN;/8]_9)2:^L8LH4=,RW-TO1VL9T'F MQ[CDAQU3F>^<0/V35W7U4[R5C;3")BMJ:EWJ-]R]HQM/DYDZYY@UZ6>DS=EC M)9 36?A5LK"C(+Z%V(^BKC_H7L!R_'DZN;^9>HM/,)DM5W>SZ_O5;#%?>M>L M9,*ZDEHE5C:?]NTR)(#([P61WT]B[SBWX*S7'_A)G%!I4T,\/^Z(_,E27=@$ M)'84;5DA] :AWXNZK^N+G+:N'\3)3]HN0JMM\#O:0C\(NP27O*XO=O8-@M / M!P.8U(H 738\(E. ]@/T?YDF"_;=@O M./"&(0'86*+N61+ <=3.0.,8MM-A&/9 2[1-5!8]DJ[K_?H=4K;CI&FVA^U% M(JES_WJTJKO4]Y/NBHFF\-%8"P]<7WN=U;06A&7_N97:.*BWCZ?H@_;WS'7V9 M,_\+T_L957REJ[)VQ;V@2)RXTVAQ.&S/\. ]TS4&=WJ\A9><<,N[E2<@O*4J,TNW"N.FXT3C0V*!.C M\*M /G,S*3[<%\-I<4=@,O@P'+P?]'O#*?0?)].'^V(,@^'[A_%];SIX&$)O M> =%_V'X<#_HPUTQ*H9WQ;#_VU77H"%67+?<*[UME=+O* THW,O&+#443<6K MYP*ZZ,'1#7IPXY:^*?&.EQ<0!@2H3\,WY(5'6$(G+_P>+'R!F6=@S-=2&=$L MX/?>3!N%2?3':_ZVTJ+7I=G"NM1K5O+K#E:.YNH+[]S\]$.0^#^_86MTM#5Z M2_K_%<(WE;[N4I!=>/^!-3!=*&5JU8A5W[%K6%47#NG=U:\MV(- M3A/[:O9FCOH?5]VX\%[,MBXA6_ M]D=PVQ_U,(@-QE14*+CR)@SS GZ$.*4DBV)'<(VL:GZS>B!6]_,=8T(Q$ M"<55A"X'E/A^VFZRR,Q> 23"D&06,$+1USB.[2K%Z(3! M/T;BH"'(2)9C"&E"\AC?UIHX^0;[,(Q(3&/$'F,4V52* )]!2"C-7V*/*1?X MQ,\#B#*,3TH"/P#,O3C#94[_!?:8IUE 0L3G:>5@]&S'0F>$D6K7EO]2;ALL M26R&+ZOE4S%\+.!#,2S&/9P@."O@<3BPJ\D4#R9N8. XZ=WU/%MM+HQ>'PN^ M8AB8-+:1B6SD8FI3R7O$OH(P3HR;(*X)SY1DE2VNV!8#1A9%%,$ #B)*XM360H#%FN7^ M"Z"QX6!N8B;9_"1)GB/-$[J8P9A?)(QC)PK3UR=IEB"ZBG.OO?-RA9ZTH[LFM& 4NW-U?@Q/:7I"/I\??BUY[ MJWXB;_]-[AE.G\;.[CFR^A=IW&F#>-@8N79W[)DT:+U;+O$7B2M+@-_G$@?I M?F,5''^Z;OX&4$L#!!0 ( $"%@5B>4YAW>0( (,% 9 >&PO=V]R M:W-H965T$ DA=&T'D:!E6J>U M8F7M'J8]F.0@5AT[M9W2_ON=G9 QC:*]V#[[OL_?7?)YO%7ZT12(%EY*(J MMH)+7&@P=5DR_3I#H;:38!#L-N[XIK!N(TS'%=O@$NU]M= 4A1U+SDN4ABL) M&M>38#JXF"4NWR<\<-R:O36X2E9*/;K@.I\$D1.$ C/K&!A-SWB)0C@BDO'4 M<@;=E0ZXO]ZQ?_*U4RTK9O!2B1\\M\4D. L@QS6KA;U3V\_8UC-R?)D2QH^P M;7+C\P"RVEA5MF!24'+9S.RE[<,>X"QZ Q"W@-CK;B[R*J^89>E8JRUHETUL M;N%+]6@2QZ7[*$NKZ903SJ;+^]ER_NU^?OL=Y@\T+L>A)5IW&&8MQ:RAB-^@ M&,1PHZ0M#,QECOG?!"'IZ43%.U&S^"CC%69]& YZ$$?Q\ C?L"MRZ/F&;Q59 MKPP^U2@MS)]I-/!SNC)6TR_QZU"]#5MRF,W9Y,)4+,-)0#XPJ)\Q2-^_&YQ& M'X]H33JMR3'V__L@QRD&Y_V3?VC@6L(7)FMRGFMKT@-;(%RJLF+R%;@Q->8G M@U$OBJ+CJ1O-I*7 M%P)[*3;[5Z8:6.L/^G-\T3%;;ATZM<$C?H?1@'HQO)-8%7E;;92 MEDSKEP6]DJA= IVOE;*[P%W0O;OI;U!+ P04 " ! A8%8XIB@AW ML %:D>1KFC: XR2M@:3)B9/NAX/S0)$CB0U%JAS2CO;7[W69*T4QV<$&SD,; M2QJN6;/NM^$OCW7S6:^5:N6735GI7X_6;;O]^JLJ^&59-YNT MA8_-ZHG>-BK-Z:%-^60^G5X^V:1%=?3\%_KN??/\E[IKRZ)2[QNIN\TF;78O M5%D__GHT.[)??"A6ZQ:_>/+\EVVZ4O>J_;1]W\"G)PY*7FQ4I8NZDHU:_GIT M,_OYQ?P,'Z 5?Q;J40=_2SS*HJX_XX>[_->C*6*D2I6U""*%?Q[4K2I+A 1X M_&V 'KD]\<'P;PO]-1T>#K-(M;JMRW\6>;O^]>CZ2.9JF79E^Z%^_%V9 UT@ MO*PN-?U?/O+:B_,CF76ZK3?F86!.>/-&A.7+ MM$V?_]+4C[+!U0 -_Z"CTM. 7%$A5^[;!GXMX+GV^?W=;W_W-W>_?J7AZ_K\LB*Y0^^>5)"_OA4T\R _L%PYX?@#V; MR[=UU:ZU?%7E*H\!/ %$';9SB^V+^2C$ERJ;R+-9(N?3^=D(O#-W^C."=W8 MWDV6U5W5%M5*VG/*_[U9Z+8!:?F_H1,SO/-A>*A"/^MMFJE?CT!'M&H>U-'S MGWZ874Z?C6![[K ]'X/^_#;5:YE6N:0_7OW=%0]IJ:I6#R$Z"FH8T>/T1!S< M0WY<*W%;;[9IM9-9#6J9JT;+M"SE&B2_W,FR@-6Y+*H'I=L-/;/MFFP-.I.# M5+<(5]9-L2JJM(0_0*G1;"#Q0;NZIFAWLE[*4FDMVS6L;=>-4G+#(I2V\%G) M/&V5@%46LFQKN5 R0VR5QW8BW4'Z/\FT :"P<0O_6E -8+4$W*JL@+^* M2K=%VZ'I &@CW+MPW+L8Y=Y'U6SD2[6M=3',L=''#W!L<2(BN!&7@#YR67>- M;'%);I< ;=L^$1;(T\U&-7AV#7:N^@RG!F! D4:W$019(-A&_D->7D^3Z70J M+R93.;N8RK,I?P:R"V(IJ%-1R==JT71@\E%KSR?R?;I#GL\F9_)' 1@H6-8F M$@!GP'1@)G(D;]+'"M%"IML#(=[PS[:&IV@5N!FY;0I IJK;(E,H5>"OTK+= M,?;MNFCR ]A?S:;)_'PF#:: BGR;,I(D.-MTA^@S?K2W;$#Z4$;/)G#*'R?B M;ADBJP"NB=9=.ZRY'M>X.K%'5@M6!\"_ %^:$: MTEK\1G?;;0E(3.1=1<;9@B\\@@*57[".@"B)"X&U9_"M= ME$J"\>S4A(]% H,"1Z8#0RNV$J=%E9B_4#$A6(*5<,)'"HUP,S2R*T6;"(PH MNS)% Q[@AD?,B^42I 9T7'<+\#-%VM")+$TUT12DINQRQ2Y(?0&USPLKWUG7 M-"1]<@'2M4)S0\**I,0-2>[0B@@##LEE:$_8,3'YK_Z.@%\#,:7_%:&%G !; M5BT@KLCELJ&C2W!5S4HA%X'T8+4T8D3/)R /50YBMA(,[QA@J^(!%Y 18C\' M'T_H,SBDLFBME-5 T#7$XGQ^9'.C2N*K.:01NI]^N)[/KIYI0+'JEA#;=(W; MH*DS$"?\"#\8X!-QORZV6[O&HFC/(1=%6?(F'*)2) !"92A$E&_ I5:=DL<8 MJ\E34/^+^3R9GIW)\[.S9#J[D$_/SY/KV4P^G9TEUT^G8^I^Y=3]:E3=;TJ0 M9/#@B@S@R[I;M,NNE";.&U3X48 '%#X_$5_9*5)YH/%#0:)*.AD\E]OG4OO< MXUI5R";0$XRA)!C/ @5+@[R4F,ND"V32S@0^'4!JT(E/_-8L0:2VP!20*XQP M.]AXATR!O(99YW08]BRR=8+6'K!-/"[(4H!)Y-A]/$F:B\>&K^I-D9'\%54.8D:JB4J.(5G"DHY_ M@J1JCN)4FD$H5ZRJ8EE +-$ZZ4Q(4P '8;^1&1B(HCT%LPHQ0F4-*CA#M$-9 MRB8%[ Z@/.J(KIUD7H]*YGL@!7 *R(M!]19YF\@W"D+8=5WFO/L=A&-@K9!Q M-V"TA^5U?)MC=2*^:RL2V&6-;"*UYR]1 D"W_[^ZN6G-Z_DN]?R[:N/O[][B7^]?/7^ MPZO;NYN/=^_^(,WI0*0$&)PUR(;896 MOUN"7*BO+GM1IP=_ZHHRQZU(+#>HV(I3G=G@^H]-6I0@;,V(3CUU.O5T/+@#ZU$TQ$DP M.6_J:G7ZIG@ B3RL/:, #UC[)81WXSN!.@FTFDU.)HZ,T>N;^Q=@X'*R1606 M/]9;,&AGE]-$>A5]7Z*A0G%RRCIF;F937]B9CA+G=8W!1R5OR:)FN\'ZS2B( M ^18G8@^;#8>X(OPG*#TF?W>> )KYPM-'S]-[B?@6,HR;4P2<^A1#)-C&"Z4 M"6-#"_@6_"9\58D0.$A@I7RFE&C&1MH>TIEC&VO;'07O"'Q\ ).$*W(. G%;5$@@5D"H-/^KLU4< M(#&!A*_! 0-<'9*RQQ9?0:$,@R$LFWJ#JX5C6O# /N^3/H,TAM0'F92$'(&E M2 \X-D>B=NLX1!&4;4&2!?$IYJP<7%.\4^@,OD%W!\$]/-A0+@9A.Y:B'Y1] MK*@(*D8N=5GD1/G@Q!X^)Q+[$";2:)%P0K&".(Z=)^)DHWEB4AVSO*I!.A1& M2!7M;+!),?G+*/(KZRS4IGYTCN:'03,VPI !8D#.^F!93T!,*#9,#O\X+-^9 MTAY$IPZ8$7"%6CMLZJR <(52#Z0QH-FKM1* ?,W?I$#("/ MXON5JA2KETUZ(.K=@-I Q$WRA[^#9T8"/E*Y!,4&X+.N@2/.N\SDG(NBSM6J M27/BXK8N=YA=)2B-2ZSTP,,HHIW6S,@_:HBN9]>3""&.XS0EY@_J5+=J*S< MMR0+99%L_'%LK>\!"P-J2S;E9WD\ XZ"F+7>AQG>84Z!-?)CX#EY._K21MOB M>'[H06,KR%D($4@)LW.X9$VX((;,F<$G T@(X5F9PE. M_+2N3A'.3AY+,ZL%Z!/7T3#F$I)WI2D$4I2J@ ME:@QU$Y(.?_..8,$XPA$V12@1@)5$46#ZB&#S)C(>R27&/)X^,.6A<>0&:0% M,A+@X!J\,&0]P$8P[#XO?8:G;JBBK-^^*$I%I!Y-"9KWJ8[(ABJF78%7=.! MV3\NRQV6\Q<8:5"WAI[,.U0N4:89210GV":CWF$=,/0YP*Q*8>E+ Q$'Z_MA-AYJ4ZY8)]:1.1.!QF)_KV1);0HJT!TR@I[ZD,?:%@!+\T*1 ME\,C8LD66TJ%+;0$0896$7W'O=O<>[?YJ'>[;VL@Z9W67%&7KVR\@.>X9]D= M3';&X1[P=\6)^*8-0X?CA:/>;("0F@ 4#H * 6@+ "A(964*#KR +R'3LH)! MOU/;/6?K _8)\V^VY;;Z.HY&7;G.H2O7\B]A2,5B!2D<4&*+92:*UCG:M@]9 MQ"&DRA45F+65'PAQ.+LU/@&\.#?:H@?1'+IL85PZ? M[-MIS9NDX91(A'0#C M]& ]!WMZ^._C$ ,[!$%'8X21'^_QE*1DJ.2VCR-,L"<@J%%^,8$^FIVG418 M".+[_)EDN=U#D 2*)0D8 K%5Q:D55?991+;L<8&?7@Y]6>L%VK33^VQ=8Z6& M%Y^B!%+O&N.J2;RK/7)//M#JZ; @8GLD5G!";"2VT4G469J88$:8/995MUEP MZR8^BNOR(B[6HR)(K.VGC1%&HZ)LO\#RZPY,-2F:^H+-8+U/I'&Q];,,L_%A MAG?DF&^C7.*.<8;/)^+P+I)^$H/)3*-LH&5=:N(Z+,E^ED:D[M D MA!%8AE$!VC8_8V):G:6*NR7B0%*5@(=M![+9BCPF)Y?:N!VNJO<*MMRH0F1, MZ&-S>CP:,15+@7!48SBI,FI;YWV;.I8+L\8W!4MH2663(/=;FG+15Q)=%W** M7LDF+/48? 9+1B,U@G&I]3,"A]Q 9=X H-M^U8Q5Y?UML2^Q1; MBKIK(1PEGRA,FL9&"8+/HB0T!K#$_[*TS#IF[8J;FJ;>Y9JP6-K&:E&.@((, M+[0_UJ9Q_MR@ =<3]#N(HQ_M,>@F1!PJX7 5IJ&:# I*="JT?40E#BQZ>\;6 M--QY3W=S0X- +ST5S$'5EY;TSH0$6EDLN.:$9W^@_OKPF?A!2B=0D8%DI_8A M0U'T+@$"IA[C\?"IR'YIS'+)D-^>9T\^]L6!G+HMYFBL[@!)7D)83()D)_6( M?/#'?%P+_4S';'RHXQ.SZ)5MC0YJX?<,!HSJN7BW#>G4P;Q<4?=RQQ>"Q$;K*46HM)=V:+-Z\K<3(>0\$(Z#FK>._\CK2K >;E#\^-D2%23>HVF/&Z) ME;*)9SBU]LB;ESO3"77T9.]J6NB8M&##V<1G(/M4JZ=$7@?U"[)Z'L5&!3&A MC,QIE >+_C,/Y%Y-$9:J?!W.NYAGM>$SYA7WOM2 LSZI%1]+Z8YE?'#*P ZY M1,=&CKD545%ZS:-!3C5PQ.:Q@"@?^Q^%;S*SE"7Q8BMZ&7X$=*TV"CK2V G.=+$OS)5Q/-_/)CS?&H&33" M;-SC956G3'4;89RP=&S2'+6E?T$-K7#@KV6?TIR77\(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[&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<>\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&'M89BAN-B[%-R'=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'-^SM7PZ):F?,X@ 3.$N;XASJ/^1\FIQ?SY.KI]?RXDS.KY*KJXOD M04?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!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>_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 M])>9_U@67\ATVM_[NWV#J.UO^RUBUA>QO=.BO'(O&0G6**:F&C@/%I^PUF*S M2BPO+=#DF$I4^E!WW'[[>OUO[J^[S,>ON[RB,2WYEF[;TIL+N%DX&$!\SYV7 MYD07J VJFN3F1^/%*WDBIJ$/N'XVO4.1*;5BXN>!9#-YW$_4C/("W M$[S\&*OU4-,AS2#1,L* "Q(^Y9I/?R2!NYC^"$:IQ#?;K-:F3X+WFVN\ F0; M-(TRL99I65;/'4]FI<$&KC\)*I?U"TL5:FE?05ONGP;O^X M4/LI]_GXE/MOP>3 M]V$'P=X0+3UB1C?2=J?A:.SZQLK[4J.[@54W$6F(HF? M9,":&;;RK>2Y\4R-0NOOUNQ-0/1S5YS"P"J/P]F69C:8!OT+"X6NVF;F4D@7 MPZ$)\^X'5QYOJ!I M6BP^ESD#Y\(ZOUX]3.^<2',_#I/E/(=?S?T$0!A=+P' MI[<4_=U!P,H3AC0ZP]<*P]DD%*^NPA@0>W$F,?89Z$*M,)S#.%"D" [HE%(9 M(:[@LI\DH6?'F?6G@F+C0:T]V]]UQ<.@P8NUTG2)N)OS&_LFAG%(3%H;O"-Z67HS5T%M(2F!E$MZ/DEY0\"%4"/^4N[1FFR&4*OH@ M<)P$E 9P4G#HW,*>.XY:.LV-%ZX1F $B+UYL[9+(*/(@!]D!C])>U)5$@F// M( Z>P17?OW)4SD#T\&F=WMDJ]YZD!/,.*&.LGV@TZ!5/7Y6%01R'=_*O[1M% M500F(ARZL84JA?+EK&/4+'$PS6!/U;/(,4[^?GDP46924F'@4_(;[.*'U_@> MJ;?3>\QS7D,8$^ZK)W:"#J\J*8PM38*"'Z56D..VYN9=4=%H$J!DILUH*-'D MYJ<#+[@)%P\A<0"JG<"P/L/=*T!5W/<8=178=KJADAQP'J9=A%:V7H:LI08D M*PWB&2$T,"I'Z]EZ^AHM3ZO$5KYN^M:$ A'P):SGP5H1> 3?D[1.P1O(39HU M]:DK (6O&'+O';)W^,&$G&+A&AV'C\NXETGO8U,KG*/&^XY!(4DGHO=NH2PV MD9Q81X(0DM2VMN,15N MAAFBF7_BH^8]%D4S-LF>%G#US-<2!.9)Q\D1V*#9/ M_0>34*70LIK6:IX$T[B].ZMI'(?1V]9<2<^]%@_2^O^H>GUV0=5KBYYV\V-1 M($SL2W"@$A3UE!1U?X"7%=79D:_>:"N:Z$*='ZR-W3('B[IOB+QY0>(L \P" M:ILWX9&P47+."RR^X7R@"4;Q^//IL_UW^LCPG3ZT"HBDPV'J8(8?WQ<\/D([ M]W5N!^=GQT$>R'Y:?)G%^%Y[+ZLL\$V4&S,F MA<+B7S*"5[BC>PT1(#>*XEYS@URO*6>*%N9%SK4TOM^R<_5+$5?TOCY@9+KK MM35%OE&>N"JANSI>*VVZ0F6A'I0SFN;N$@W*X$?Q#<<,;OKS?!.7:6E.FX_E M!RC\H=!(^7/0"!]E],WPI85A:7L2O/T;XH85O>-<-;M M_8 ;N+?+/_\W4$L#!!0 ( $"%@5CJW)]>+@, "<' 9 >&PO=V]R M:W-H965T&/P)3QC$!T,HD9WZZA1.6.6C8=: M[4$[-+&Y21-J8TWBN'1)65M-IYSL['B=?%TDMTD\66Q@$L?+I\4F67R%U?(^ MB9/Y&O[:L*U \WX86/+F;(+TP#QMF:,SS+T('I2TA8&YS##[E2 @F2>MT5'K M-+K(.,/T"OJ]#Q"%4?\"7_\4>[_AZY_AFZ2IJJ7E<@)AO[I8S-YO-5X_S.)ELDN6B2_%ESDV!7JX$5::[!&8,6@-,(Y5;JC1E M#9B%5!D+3&;TLU-8*6>6]FOC+&R!4*(M5&8:!).R9@(T00R80NTE;%W=W\#O MU7NQ*JO:HO8*IK.]4]$/__ HZ:3:.=LRP62*W@.3=4X9JC7M>OA<\XJZA*6_ MH@N]S'-.P^]@4\7.'M5<9,Z5BY"7E58OZ)@,]#KQ&\VX0'U&_:2FDE9;0AB@ M5##7-3ZZO'A$J^$:7I%IXZWH"IV+#DCO\P&SP;202JC=:R!ZC?8KK*('C3O,CA MKFG1!IK2;/O8:??T"DS:YO<3WCXA#TSON#041TZFX=7G:Q]TVY;;A555TPJW MRE)TS;2@EPRU ]!YKI0]+IR#T]LX_@%02P,$% @ 0(6!6(60282$ P MJ0@ !D !X;"]W;W)K&ULE59M;^(X$/Z>7S'* MK5:[4F@20X!V 0D*W2)!BPC%S)^>1X_ M,^/QT#MR\4,FC"EXSK-"]NU$J?V-Z\HH83F55WS/"ES9,!H; M4)ZYQ//:;D[3PA[TS-Q"#'K\H+*T8 L!\I#G5+R,6,:/?=NWSQ/+=)$. 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>@%\#0"^ MA34>/-1"I#6B&2TBU*7^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 M4GPDU6S5AX=E^_F]O6SB)[TXPV7&%K,V:"_R68T!MP?@( '8% 9 >&PO=V]R:W-H965T,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+::#C3L9<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%%72H?P?/[?GV#YW^ MX $\E?3'_D9 MKZ02^+_X=:C3%B>?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,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&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.;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:,IMMJ0[;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&X4*V"X,JG^Z5G? =FV;^MH434MLQ3: M-&!C%N;%0VD#S/Q*"+US[ +=&YK^!5!+ P04 " ! A8%87U9\D.\# "J M" &0 'AL+W=OY+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: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,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.3R- M[ _3>;U5F1X&>%IJ;9]T,/KPCL7TXQN\PXYW^!;ZZ/[BUXC&&=94S:%^!<2)"1F(:H2%(DL8D223N$Q*&(9$LZ8T;/"EFD>.@ L/W M/(J A930D$*$)HLP<;EMG+:P47:Y4U9#*$B8"K\P9"HD[=VN5GFF07CLU>^ZA#Y1BF'#^\2SOC'H]V[TOC9V9CBA[XD"4DD/RZ' MH-Z#SC:5*XC$L:H'DU/JTX!!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]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=OYG6Q87O MJR3#G*@342 W*QLA^*B22U(%RYH=!<.KGA'(O'KG84L8C46I&.2XE MJ#+/B?PS12:JL=?W=H$[NLVT#?CQJ"!;7*%^*);2>'[+DM(<(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&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&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&D2YUW%SQ@MGT+-[,SGHB:W.>($S"6J;YTS^'&(F M=GVGX1PV[OAJKTRG,FD4C]<']!OK M._FR9 JO1?:%)WK==RX=2#!EVTS?B=TGW/MC"<8B4_87=N7=CN= O%5:Y'ME M8I#SHOQG3_LX'"EF*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!+)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%(\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-*$@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&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/=== 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 M #4- 9 >&PO=V]R:W-H965T4[$8Y=F_/ZJ9;4."S-V MNY%JH=VYW));.J=RN9T*F+5KE)3EM"@9+Y"@ZZM69%UT0W5>'_C(Z'UY-$;* MDA7GG]5DD%ZUL")$,YI(A4#@YX[V:)8I(*#Q98_9JE4JP>/Q ?U:VPZVK$A) M>SS[DZ5R<]4*6RBE:[++Y(S?W]"]/9["2WA6ZO_HOCH;P.%D5TJ>[X6!05>*-,L^D:1S*?@]$NHTH*F!-E5+ SE6J*#,I8!= M!G*R,QA_C.>+43Q>S-'9@JPR6KZ];$M 5OOM9(_2K5#L)U L&XUX(3>\F[B^',9I0\BBWA_+P2SNHVC<1\-! MU!T,!XL!'(/]Y2CNG[*J4>]IJ]"O86-,=R+90 VAA$-9IU0079JOD8=]T_?. MC:@L*02&)%]V3-#TPNB1V&;KG MIH8'"T#%M-S3BAX26)>+K_4[-'_$[*KXS MU@E\T'QN#)4(J[,1T8Q!?1,)4KLMG%-2/&-I)77F6J;GA,#I W1:I/L9Z"B9 MW@7-=8*_1H[CF=BS4$,6>G46>B_.PAB"N_B$1O'B9M)'7QO'J1QK1#V=8Y&Q MOQB4-7)#48_G6U(\OGD5VE;P_AM?K7D&MPE$X"7\C"[)2)%0$T%3T<5^:"R6 M%4EB%X_N!O^]NLYE1N>'G.Q;=-W[:>5V(<3/^H(52*_ M2$< "+XQ^._94M/Z?5=0Y&"D*N9[B@[XX;>F=/'K=/$;T^4ZXP(XH"[4>/IL M>VW$^LGV&M1,@_\EL1M17] \?S9) VR9CA\^GRH.#DS/#DYDFUWUR>.D^#%7 M56\-S?#<>UZ3AZ'-^-XI3?A932KE7!!WS',?-Z5>6 S MR?5@45U"D_DKW)Z MH;%_:&IL!5\SJ:LOX[KQ5P_JZFV;Z4*67/>]O1=)DO!=H=:/?,[4U7;4_GZE MT88.B\H"8PR77$G@+0A1LGP3NX[I^J&:A*:%'1,'V/@@E!U[NUS3]V$K"&!D M8]=T+$N#L"+A.56")K:P:=D*Q+?4_>2=C'K[Z"F;4W&K'^PETJZH7K7U:OU- M$%5/X:_'JP^*$1&WK"A11M<@BM\%<"F)ZI%>323?ZH?QBDMX9NOA!KYKJ% ' M8'_-N3Q,E(+Z2ZGS+U!+ P04 " ! A8%8$T3A=Q@$ N"@ &0 'AL M+W=O:0$) M*'N[)PJHT#V=3O?!) :B)C9K.V7[[V\<*&UO ?7Z 6([,\_,,YZ93&LCU8-> M<6[@9Y$+W:ZOC%E?-1HZ6?&"Z4NYY@+?+*0JF,&M6C;T6G&65DI%WJ".$S8* MEHEZIU6=352G)4N39X)/%.BR*)AZZO%<;MIUM_Y\<)-#JM-5OR*3?W MZXG"76./DF8%%SJ3 A1?M.M=]ZH76/E*X'O&-_K5&BR3N90/=O,M;=<=ZQ#/ M>6(L L/'(^_S/+= Z,:/'69];](JOEX_HW^IN".7.=.\+_,_L]2LVO6X#BE? ML#(W=W+SE>_X5 XF,M?5/VRVLEY4AZ341A8[9?2@R,3VR7[NXO!*(7:.*-"= M JW\WAJJO+QAAG5:2FY 66E$LXN*:J6-SF7"7LK4*'R;H9[I#,>CWV$VN+N% MFT%O!F@1()?"K11FI6$@4IZ^!6B@5WO7Z+-K M/7H2\88GE^"Y!*A#O1-XWIZJ5^%Y1_'F!FXRG>12EXK#W]VY-@K3XI]#;+=8 M_F$L6RI7>LT2WJYC+6BN'GF]\_F3&SK7)SSU]Y[ZI] [T_[7PQ#GO:U36Y PP+^9<[8-,H"^+-1-/L&$:,@$);O., MB81C6IH5L#R'7#+[XI$+)K ?P'%G:WU,B$R4F7GZU=8O)[368[DU1> /)DKL M$.#";Q 2-_")$T6XIL0+0Q(TXQ?1.5]F0F1B"4AHS54FTZ-*D[S45S!1,N$\ MU;!0LJC8:)0)XQ!_%#Q"/8=$>^FA9+H+@MWIK&HJ:'0PFL"$JQ(N M$";VFR1PG-J0:VN*/6'_,AI0L@K;640#$B/YN$;4B=2+-BG6/#N%!O?SZ:S[NCF&[:"7G?8'?4'U4T>2K:3J(>3#=YC MJS8NC39,I/8JY]MP #-OL^0]2<3.\PVW68JP*4P- M,UQ#CXD'C.J%_=7F_TOK C62HQI3(Y,'^(NI="?^F17K:Y@I[.;@-9N$ADWP MW8#XGE-+/P;C$L?Q2>3'N H]3-^(UOC'H"B)O BSGMKT=3WBN$%M\4&HP"'4 MB?")N1K2VO*CY/PH(&YLR3E>6%7CZJ/DJ!_;0MN*T^N:1;EX07DIL'UY[8HW M*97"XH6U5%6IG[F$QE6T;?5&;D1"_.:=_Q=0H.BSJJW9V/.(Y_BXMA<>$C\, M#M9OX]4WO.!J64TJ&AMM*T,\"*^G:1NF<*FJ"'G"U1U+B,L M6K6=3K8;(]?51#"7!N>+:KG"@8XK*X#O%U*:YXTUL!\1._\"4$L#!!0 ( M $"%@5@*=<:+808 ,H/ 9 >&PO=V]R:W-H965T*KDF"J7! M&CZ85(TV!)<6V)2A5O U!3W=[/7;MU\2,FI]3X:D/N+C3)1GEPT-IE&@,=F8 MN:[,L%?,4$:^R$(O2I(44S$]--" F':!L6U@U^RDQ8Z87!"7VH0YS#UAS]TE MZAI[[FN)%A.9"S+BCZ23EI-,EBLER)^M<:D50..O8SE7%KWC%I$N'\LEGXBK M&O"A%.I!U)H?WM' ^70B7F\7KW?*>G/8_IQT[F\29U5XI)0J- MWFTR$U.A>$;>D]!W[2!RX8G:#@UMQX\/14O-M2"NY]BQSX@7.+831_^R)A40 MMR#4IS9S \)H8#O1@4NPSCS?CD(*3T'L@EQL]9[KH<1$/@CU1.K4IBR$D&)R MA@LO1%L1.3MTJ:6&\"F-;!HQE>I9]SK=.0V6'@HETO1J/' MY:N$ZR&8]CT49LQF3OB*\4WJY^3\N$ 5:)WY4#\:HKD02A'[ULA\> ]AN1"6 MZ\,GZ '6R _(">S[.^S[;\;^(&G?]MN]FUYKA*B!-_LCZQC>3]I^'>\[P$+R 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'8OLKKPU'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 @(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] ZS=!UH=]X:/*/3M+&WOTJ%VIN;I%XYH7A4UVU=F]W M%]56=3][%J]NN5^XF@,N $ S4'4N0CBMJ.KF6"VT7)K;VEAJN/N9QP5&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+Y?3Q80ZK^1.L[\9/<_AK M0[8%57\//(WPQLA+3U"3&BI\ RH(X4%PG2N8\XQF_P7PD%=#+CR3FX0W$6] ;>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%HU]<..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-H965TJB72Q1(\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&N98R)07(' UL$;>Q;BC_8W#4XI;N6>#SF3! M^8M>3)<#R]6$,,-8:01&MU><8)9I(*+Q9XUI-4?JP'U[AWYC>R3 KP-\P[LZR+"\8HH-^X)O06AO0M.&2=5$$[FTT$69*4%/4XI3P]G\ M;O(;W-W/IW??9_!ESA89RK.^HPA;>SAQC3.N,)O/ITW0^O9X=HGP2]##E>8*M%<](J6FQ!J6; MH99K^A=*4 G"A.^%\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([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>NPVZRP)1#>)J MH7AIAM^"*QJEQDSHWP6%=J#G*\[5;J$/:/Z&AG\#4$L#!!0 ( $"%@5BD M+DTY]0( &X' 9 >&PO=V]R:W-H965T>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#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,;$F'3D->#(WM!H_7YDQ/8 M7TH4^X5BOPR]->D^]'NS01]&]] +)]-QV)E-P]%P/#AU\6#<'[2G_1Y,1]#N?IN%DU#9<,KF4K)W MV/Q!"67&7,!UI1T];V,>:T?DFV#:MOT..Q+*.5QZ5=.O>=*_4C.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&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:&-_,!):_ 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( 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\_S"6<< MY1\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\^()2\(H.(J5YK-E:BGUO%X9*YBJ=6FV>]7A]K"5 MMK?+V'?V[4I[+_0\+[%@&PO M=V]R:W-H965T,9EJK+5Z[(.>#8&&6I&WA>V\TP MH .>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 MGAB5B4"/-(:X#N J/RMG@YVSH\"*^ #1#0K]/U#@!>$)A\9O-P\L[H15[$*# M=WL&+_0[Z EHS"1&'S^.T;]/D"V ?ST5*BN2/JOW(L<1]!UU& 7P#3B#WW_S MV]Z?IVA>":Q&^K8B?6LE/5\O!(F).O(H8EF.Z0MB6PI<)"1'A$I02TJD-@V< M"D.!?6>P]1]F,_!NNCUW<\C.NOZ%[%H5N]9%DJ(?Z OED"I:,9IA+E^L:EL7 M::KVEA&$5$7DA1&:4QCI,=WZMODM:(WE?=*8+5 =*M ='_A8>Z> MD+G=.M+9ZL"%].XJ>G>OZCP#OK:*:85H*N:5P&IL?6]_EWM6OA,:J51.@,IC MR@:A2"28PRL'UH[;- @EFGX=[(P[O]VI]D:=X$&RXEL)/H/.3(L_T>[XFAT; MOT;0/^62UPW#H^WZAHEUWX.][T&SS=CP3K'#-];H2FCU8.PS)]^>.EV^4Z^: M2)5H]5]8ZXS2^PS)MZ=(Q]?+4%TM.K%XZ_5BAV_,\5?D4_X^H?+M&=7/73%V M\,:A:-EOK(*B>U!-9S0E&]'XR-=X)HJ;0]35,=/ MF*\(%2B%I8+T;CK*,5X4G$5'LMS4; LF505HFHDJTH'K">K[DC&YZ^@%JK)_ M\#]02P,$% @ 0(6!6,;C.FQV! 'AT !D !X;"]W;W)K&ULM5E=;]LV%'W?KR!4;%B!+K)(.U^S#<2QBP1(%B-)MX=A M#XQT;0F51)>DXN;?CY0=T1WBJT >_6"3$N_1X?4ACT@.UT)^52F )M^+O%2C M(-5Z=1Z&*DZAX.I(K* T=Q9"%ER;JER&:B6!)W50D8>TUSL."YZ5P7A87YO+ M\5!4.L]*F$NBJJ+@\F4"N5B/@BAXO7"?+5-M+X3CX8HOX0'TE]5MD%/0L(\@AUA:"FY]G MN(0\MTB&Q[=-YUYX@HN1?Y7ENAT%)P&)($%KW)]+]97 ML.W0P.+%(E?U-UEOVO8' 8DKI46Q#38,BJS<_/+OVT3L!+#^G@"Z#: U[\V# M:I93KOEX*,6:2-O:H-E"W=4ZVI#+2ONO/&AI[F8F3H\?+J]FTR\W,W+WF=S. M'J_NIK8TG@>9:KC\-0FR?:N##>HD\VZ'0/>D3)K2AU MJLBL3"#Y$2 T5!N^])7OA**(4XB/"(L^$=JC#,%C3?]9C=??@W/(RV65]8YJ3:PV%>I-YWP/S0<-\@"9Y"@8TSG@] M#@O0J4A(I2"IN\#+LN(YD5S#6[QQ9-;[^2=B/D86YE96+LT0-9R:2_+EOYE&]($B=LSR2"X*/#X MKHEUUA6)!;5$F\IUL9+B&6SF M%:X9%+UKVITG1L<^->/#'R-GD!'J8H=I!H>.NFC&^6.$V]BC-"_@YB45%08* MT36WS@RC,Y_"\.&/U/DC12WL(&&T0'=Y0Z7.&REN8!>562"*)R,.?-; 8;KF MUSDAI1[%07W8)'4V2?$EXD'BP*%-F=MM@]_LC5HFQ@,D&9 7X%)A[)U/4MS, MYH99FZ?@$%T3[!R1#GRJPX(%%\E'J0.''J/.J*3=GDX2Z2X;SU"G)8B M%\N7=RYD<+RNZ79.2$]]:L6'1U+GD11?,1ZD%1QZGU9ZK5IASB49;F4WP!6D M(D_>_[:*(W9,.'/VR"*/:F$^3),YTV3X\O$0M;1 [U%+;O]@HD$66 =VME9; M]E;K[6N#>P]YW0N59JL6O?A85#)GELSG%BOS8:/,V2CSM\O: KUO=FE_46'. M2%F+VXF%7G,)N#Y\+""9HP^V7Q[ASI&5F2*6 M]<&<(K&H2KTYO6JN-H=_%YLC+]=\&ULM5I-;^,V M$+WW5Q#>;M$":2Q2\E>:&$B;^0'$/#L5*23X MS4+(F"N\E/[N5XW.Q4E&8P*TDV2J.N7R^ M@DBL+SJT\_+@+EP&2C_HCL]3OH09J"_IK<2[;H4R#V-(LE D1,+BHG-)SR;N M2!OD+?X*89UM7!--Y4&(1WTSG5]T'.T11. K#<'QWQ-,((HT$OKQ;PG:J?K4 MAIO7+^@?<_)(YH%G,!'1W^%=88?,8<%7D;H3ZS^@)-33>+Z(LOR3K,NV M3H?XJTR)N#1&#^(P*?[S;V4@7F/ 2@.V94"]/09N:>#F1 O/6QR:V03)OHUSI3$;T.T4^/9]/>;Z@>!AEY(9+R77(?R&_DB^S:_+SC[^<=Q6ZH(&Z?MG=5=$= MV],=9>2S2%20D0_)'.9-@"[Z7A%@+P2NF!'Q&OQ3XM(3PASFMC@T>;TY,[CC M5O%TNV(.H_/LI3[<-'! M1,U /D%G_-,[VG=^:Z-K":Q!WJO(>R;T\8Q'T$:PL.KE5KJN/(W=HG3+ MPZ)A?Y,*'0UH;]1O][!?>=@W>CA-GB!36!\5^?H9X@>0K4/%"'+H4+$$UN [ MJ/@.K.?)P"9Y2V -\L.*_-#XLC_\NPK5,XE!!6).PNK5G^ $E/DR3'4XVB)@ MAIV%RR1Q1H,L"%/$48 !T(!YRR>APF1)<%[R'W5&Z6<% 0 B>;*$ MC#R 6@,D6%+?$Y[,2<]Y?T)XA&17RX (-)%D@?.WD-D)Z@<_(#Q#29 '.E'% M6!#)#YO0+YZ1!\'E7'<\#R64$%P"\04JBSFZJN.)--%KG"VUJ^L \AXU'#0" MCRC<]\4JR2EAG'B:2I'*D"LX;1LSQO ?.69&U9@9&5_N?2 QPK.]4)30EKB;PNM&8 -@4>/FI1+L\:]MS7EM+0>#0:]/]TQZ ME-7.,:-SET7^Z?3W(7SB#Q%@/B\P>[%@X!*#ZPJ&+X[XF-FA(I'(,.%3D+ZN M%,MV8D67HPUWG=.>NTVJK56?[B%4RS]J%%BO2=.*\UW%V9B,YAX/'HUO(1!I MK1"I9S\=C:KSX !80FL&H%:BU"Q%]Z;CK@3M8X;1OK<]<%L:4N9YS-LS=FL) M2LT:]$V2L=^69H-M3JVM>GL(U1J3&E7<>(8*)M5SNU8A?^!'I&^,N6958]I" M:]*O528=VL\U2QJG#,!;*"9:2R9JUDQ[>YKD/W#$Q6 MBQ)FG/._OQXM[3?7F2//&]+MY6C9;M/#$76'(V>/A[5J8&;5\#&4Z.(]JFAC MOIA1#ATNMM":G&LQPICU?&%&?7-P "RA-0-0BQ=F%B_7D(HL5.TCTMV==H8. M_FV/R+?0%ZS6%\R\!74-#_H%9DJNBA7U]&4!>X>KNA,RP_4EKA%OC9-6V4=S M.G)ZVTS?0DBP6D@PLY#XC,O;>!77*_04$EQD/[<2VM4,M+?SYHS]'E;'D#'?WC9VV MDO,6*H/5*H.958:=DE/TH?<*-FL.W98D9E^.Y.K6PL4U"Y?[()2OR%$SRL$_ M:;S%!HI;2R&7VO])QZHNLH76#$"MBUSS)HTI1TO3S1P=4(=YVT+5W,6Q%#9^ ME?N>LK&0HV4?6[)@.T/-GAS+M!9 KED '2(+W-W?VW9E@;F_8_G4,L8 M^SB60RUMW.])&QLU9]BJ"]SA]FK$[,RQ9&L1Y)I%T$%E9W=;I:7L6!4ZW8T3 M,C'(97YP*"/Y?F=QUJ1Z6AU.NLR/Y&P]OZ)GD^*(40U3G'CZS.4R3#(2P0(A MG=,!\I/%(:+B1HDT/X?S()02<7X9 )^#U WP^X40ZN5&=U =Y1K_#U!+ P04 M " ! A8%8X-HQT7P# "*"P &0 'AL+W=OVW/]M)4R F=*5[ [8S\_=OQD\SV/'BIU@#2/22I;D8.FLI-Y>N*Y(U9%1< M\ WDZLN2%QF5JENL7+$I@"Z,4Y:ZQ/-"-Z,L=^*!&;LOX@'?RI3E<%\@L6[H8.=MX$'MEI+/>#&@PU=P0SDT^:^4#VW5EFP#'+!>(X*6 Z=$;Z\ MPKYV,!9_,]B)O3;2H_M.7*A%[#C@\X4 J!W+LT#WAX%<.)G-N26;"FE!)XT'! M=ZC0UDI--TQNC+>*AN5Z&6>R4%^9\I/Q[.GN;O3P WV_00_3K]\>.]]O.D^S M:S2:S:X?T>BO";J]'JG^[70TGMY.'W^@3Q.0E*7B,^J@I]D$??K]\\"5"D4+ MNDDU[;BFR./^!)M!2 J!$CQ!MS&:K MHY31.4N9?/W@'HC.L93(3;.V/="KD7L?0&:Y!'4L)((7]2H**V:O,7^( WP$ MV33J!6%H1^S7B/U6Q'OZJEY+:;U"^I:]U_-ZWA&6U2S$V Z&O?R1?'>,X=;F6=K7LB.6N\,;53KQ-FO1/:G#_H!.4ZLS>P@_X>0 MY!V2M">6YZOSC*0Y>1!%C4PVS;#7Q]U3F7Q_V'#KHQ(_A>1@BK*PJ_L2+XQM=.<2U6)F>9:%KR._X/4$L# M!!0 ( $"%@5A:QB<+R ( ! * 9 >&PO=V]R:W-H965T,O8H&Q!*\IS43/6$B97YBF2!8X1>*, MY3A33V:,ITBJ(9^;(N<830M12DUH6;Z9(I(945C,#7D4LJ6D),-##L0R31%_ MN\*4K7N&;;Q//)'Y0NH),PIS-,W$Y[AJ47A"E.I'9 JEGA/J94&ZEE_*D\C3JE%C;[ M[^[71>VJE@D2N,_H+S*5BY[QW0!3/$-+*I_8^@97]7C:+V%4%+]@7<9ZYP9( MED*RM!*K%:0D*UOT6G%H"&SW$P&L!'!7@5,)G%T%;B5P"S)E*06'&$D4A9RM M =?1RDUW"IB%6I5/,OW:1Y*KIT3I9#3JWPSB\=T /%Z#\4-\.^H_CA^>!S%X M&CP\@^'E[WO5CL!1C"4B5!R#4S >Q>#HZW%H2I5?NYA)E>NJS 4_R17CY PX M]@F %G1:Y/W=Y;!%'N\NMS?EIH)6DX,U.5CX.9_XW6'U=Q-M%$J=VZ[3W_&% MR%&">X;Z4 7F*VQ$W[[8OO6CC(#F6WP3I=[I+"[;;1*E5>H]":U MBKQS#UJAN6IBZ/3>%\.!S#8PN#4&]W\8O#8,I^& YDMH'! MJS%XG1B>F42TC8.WQ<&&EN=^!-'IOB^( YEM@/!K$'XGB-M464O 9F!*1,*6 MF239O V,OP7FU(-N\(%+9[)]N1S(;(-+4',).KD4VRN@!$T()?+M!*C]&Z<3 MS+M.D*M@:S.Q;0^>.Q\HM83Y =2G2C,LW@Z#=@#]?\S+RLS&\:OO2O>(STDF M ,4S);3. N7 R_M'.9 L+T[D"9/J?"^Z"W5EPUP'J.&UL?5-MC],P#/XK49 02&CIR^U HZUTNQT"B9?I)N!SUKIK=&E2 MDFP]_CU.VE5%VNY+&SM^'C]V[*S7YLDV (X\MU+9G#;.=2O&;-E R^U"=Z#P MIM:FY0Y-!2'QGD'*[*.'V '[F>W-6BQB:42+2@KM"(&ZIS>Q:MUZN-#P"\!O9V= MB:]DK_63-[Y4.8V\()!0.L_ \7>">Y#2$Z&,/R,GG5)ZX/Q\9O\4:L=:]MS" MO9:_1>6:G'Z@I(*:'Z5[U/UG&.M9>KY22QN^I!]B4\Q8'JW3[0A&NQ5J^//G ML0\S0'QS!9",@"3H'A(%E1ON>)$9W1/CHY'-'T*I 8WBA/*/LG,&;P7B7/'U MX6[WL"-O-N"XD)9\Y\9PWZBW&7/([Z-8.7*M!Z[D"M<&R@5)XW_&C ]\A=2 RZ".5L*4^*D?0#9?4#GQQ% C]EIR*:!$MEQD[S76PV2OZ MA?C&S4$HBVEJQ$6+]TM*S#!D@^%T%QYVKQV.23@VN)=@? #>UUJ[L^%G9=KT MXA]02P,$% @ 0(6!6$%-A76! @ 608 !D !X;"]W;W)K&ULK55=;]HP%/TK5C9-K;0VWY1T(1(-5*VTK0A*]S#MP80+ M1'7BS':@_?>SG9 %FG9]V OQM>\Y]QR'>Q/N*'OD&P"!GC*2\X&Q$:*X-$V> M;"##_)P6D,N3%649%C)D:Y,7#/!2@S)B.I;5,S.&N-E),%I8\JN%T.#$L) @*)4 Q8/K80 R&*2,KX77,:34D% M;*_W[-?:N_2RP!QB2GZD2[$9&'T#+6&%2R*F='<#M1\M,*&$ZU^TJW)]QT!) MR07-:K!4D*5Y]<1/]3VT +;W"L"I OQ_N M',)-:;?Q[#2>'Y97[I,_B>R \MN8]E]BST:)@DM<\%EX^V]=_FM2'Q-HOI_ M&]F6[;J.%X3FMNWE96)PX0:V;S5Y!S*]1J;WMDPBIPK.$_EBY(!"2UHNQ*HD MLMDK^5V:*\9>2\J9$UAVX!Y)[LKK!TXK[T"RWTCVWY1\3P7^*_ ?]^N_O+:^ MYUI^[TAK1Y[G!7W_XDBKV6I\-72_8;9.^^! @ M1@8 !D !X;"]W;W)K&ULK55=3]LP%/TK5C9- M(&TD<3X(+(T$+0BD#5 +FZ9I#VYRVUHX<6:[#?S[V4X:%0B(A[W$OO8])^O*? 4ED0>\ADKO++@HB=*A6+JR%D *"RJ9 MBSTO=DM"*R=+[=J-R%*^5HQ6<".07)(0&+D7/B'X\CDV\3?E!HY,X<&2=SSN]-<%F,',\( M @:Y,@Q$#QL8 V.&2,OXVW$Z_2L-<'>^93^WWK67.9$PYNPG+=1JY"0.*F!! MUDQ->7,!G1\K,.=,VB=JVMP0.RA?2\7+#JP5E+1J1_+0G<,.P ]? > .@-\+ M"#I 8(VVRJRM"5$D2P5OD##9FLU,[-E8M'9#*_,59TKH7:IQ*IN-+\XF=]_. MT/4YNKSZ<79U>SW]A?8FH AES"=K[N)^Z2K_.@-R\HSYMJ?$KU!/( M#U#@?T;8P\$ ?/Q^.'X*=[7)WBGNG6++%[S"=UEMH%)@[?8 MLS$O:P8*"K3DO)!#7EN"R!*8TM]D.$ZP'R6IN]FU\3(O2+PX#N,^[XG"L%<8 MOJEP2AI]K14(2IA$I"IT7ZEK1F%0;,L5[XA(P@@?!OXSL2_S?"_V\6$2#JN- M>K71FVION2(,T>V-&I(8O3@GW_>#,$F.GFD<2 Q#_R@,O&<:W9TJ-QWV.Q%+ M6DG$8*&AWL&AYA!MUVH#Q6M;^'.N=!NQTY5N]"!,@MY?<*ZV@>DE_:\C^P=0 M2P,$% @ 0(6!6+&DZ/6T!@ ["\ !D !X;"]W;W)K&ULM9IM;^(X$,>_BL6=3KM2;XD?\K1'D=K"JI7:+=>'.YU6]R(% M4Z)-")N8=OOMSPDTCK'C%LYYTQ(8_YD9[)E?' ^>L_Q[L:"4@9]ILBR.>PO& M5I_[_6*ZH&E4?,I6=,D_F6=Y&C%^F3_VBU5.HUDU*$WZR'&\?AK%R]YP4+TW MR8>#;,V2>$DG.2C6:1KE+Z[#W^L9-_+A@Y1O]X6 5/=);RNY7DYQ? M]6N569S291%G2Y#3^7'O!'X^<]UR0&7Q5TR?B\9K4(;RD&7?RXN+V7'/*3VB M"9VR4B+B_Y[H&4V24HG[\6,KVJN_LQS8?/VJ_J4*G@?S$!7T+$O^CF=L<=P+ M>F!&Y]$Z83?9\SG=!E0Y.,V2HOH+GC>VGM\#TW7!LG0[F'N0QLO-_^CG-A&- M 9"T#$#; >B] _!V *X"W7A6A36*6#0;1Q,OR9[QE M.?\TYN/8\/;L?#RZOQR#ZR]@7TRNQE_OP,G7$;@3LY0A,DFC)0+2<@?&/=;SB MLY6!;Y?<'%PPFA;_ZD+=:!.]=KD(/Q>K:$J/>WR5%31_HKWA;[] S_E#%[@E M,2D-N$X#-JD/S[*"Z0+!HBC#W7=]Q!_ZGIO&H( QR&GB\,)<=( M[1@Q.G8RG:[3=1(Q.@,CRB.?QE%9 G3.;I2\I@\.#'$(@QUG5B[1U[ET!):4_V$9BQ*=\Z[J/(8^]!M.;9Q7#4/?"5$0Z)WW M:N<]H_.GZSB9Q_#H/ M?H<%P;>9!DMB4AJ".@W!004A4*FN(&RUI0P20GREFFD,7>(17A1:_&_@ 30G M>\T))'N($VI>_&:9?:>]+34Y: $$L$LB@%:1P)::G H!!? P*M@.DZI Z"%W MMP:\;2<[)J VJ,"J,$"XCC$V756AP\<=-J<%50 .\0"J+9[7D2ADFG5+. % MK*V""2B 9BHXR]+5FM&\N0),A< J!MA2DV,7( "[) %H%05LJGU@RCEMDI6 #:@P&H=GF"(5)TGQW8D$'V$P'=WD4 M)_SNP%0&S!+[SGU;:G+ @IPEU" K4*!+34Y%8TG!@<^,E";?>CX<'=.JE9! MX+9-2 $$V!X08,UC .B174=5*]\-6V "QC '<( UCP#<'9W-35&$'DMNQE8 MD VD\!EZ:EQO5MM^[;4Y&A%V\==MGULM>W;4I-3(=H^/JSM8\W-/7&:2V3K MOFJ' ^*T-B'1\[&]GF^6TN<0:'^,_R\D/P\5S$ Z9 :B80;=CZ6Q,_U81! # M,1/#)8T*NLB2V?L?+9H5]UU%MM3D^ 5 D"X!@E@%"%MJ IFX(Y.%\LLR1Y?0'48[8V*8A51;*G)21"(0KI$%&(546RIR:D0B$(.0Q2B MVYG 2.UZVAV,P&O9IR0"48@]1"'J;H/>69U=N[.N RW0\ P:^]152P(R?$+ M1''-B'*:1>:-3?/X?=>,+34Y6@$D;I= XEH%$EMJ9[R "HQA+A1:YYO]9K/N3<1 M]AM'L+\H#W_4!_^%_4$L#!!0 ( $"%@5BE\^Q@EP( '0& 9 M>&PO=V]R:W-H965T( 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*ARIBV 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'_NFD"H4 MEQDW&4=U1F=/1MN!&UJ*E$-8)IB\)C"E_-:#L_4P<@XR3C ^!=<^ <=RW Y! MXW^'.P?DN&U)7SZN@+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"\&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=OXW-NXNNDENI6KP&0 MW!=ROH#6CQ.8 M2:[=D]1-;AQZ)*LTRJ(%&P4%$\V;WK=UV (,HV< 00L(=@6$+2!T1AMESM:4 M(DT3)6NB;+9ALP-7&X3WPTFUF(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;/&PO=V]R:W-H965T)7#RC?M!W?>1CX1.8+90;<3FN)YS !=;^\ M%;KG%BP)28%)PAD2,&L[7?^B[P<&8",^$]C(K38R5J:=*&D[GE$$%&)E M*+!^K*$/E!HFK>-'3NH4C M(;JY1%'K=_CW1O#=L1W)82 Y?*?D$36%.&"-LK@\XQ2R&,A?A82XJ MU9@[]D(N<0QM1U^B$L0:G,Z[-W[#^U"QI4 $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:5.K$EG)F'447]JJ:\J5 MKN%L.F:"HG#O_ %02P,$% @ 0(6!6'E5==6C @ M8@@ !D !X;"]W;W)K&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-<];UYN!>[+(M1WPD[C M"YB"?BPFTO3\FI(1!EP1P9&$>=\;M"]&/6OO##X16*NM-K*1S(1XLIWKK.^U MK""@D&I+P.:Q@A%0:D%&QK>*Z=536L?M]H9^Y6(WLC@!%>/O%SE8QK,Y5U\-,*.RRQP1YL.T"W M@NM0;8+\(W&6FBP$3H,#A+'D)ZAL/T.!:T@;! T^GOWX("W(O5(%3 MZ'OF:"J0*_"2-Z_:4>M#4^1'@NWDH5/GH7.(G@R86'*-Q!QA)J0F/[ ]G4TA MEYRNX]B[9948">87^ZOM8/YHMB.S6\OL'I0YP1JX79=;8#.0C6MRD/"O:W(D MV$ZP41UL]#_W9G3,/!P)MI.'7IV'WI'VYD%.LTK4%&WO]\T;1N?G+_:NOW5= M,Y +5\442JW:\D*L1^M".7#UX<7XT!30LM[]PI35]Q;+!>$*49@;9.NL9S3) MLJ*5'2T*5Q1F0IL2XYJY^0@ :0W,^[D0>M.Q$]2?%@( !4& 9 >&PO=V]R:W-H965TTDW;^?#11E M$FW:/ 0;^YSO7(.->V#\222($IZS-!=#(Y&RN#9-$268$7')"LS52,QX1J3J M\JTI"HYD4XJRU+0MRS$S0G/#<\M[<^ZY;"=3FN.<@]AE&>%_;S!EAZ'1,5YN M+.@VD?J&Z;D%V6*(J9C?Z9J#GEQ.^4SR(HS;H M2M:,/>E.L!D:E@Z$*492.Q!UV>,MIJDV4C'^U)Y&@]3"X_:+^Z2L7=6R)@)O M6?J#;F0R-*X,V&!,=JE:QD0[81D62U6"3*:5U?R M7*_#D<"V7Q'8M< N@,N682.*YG!V Z]G*33?*4DNU"D=S_5!"R=4H53KI MA;=W_G@U]>%A GZX#&:CI3^&R6JY6O@PFCTLEL&OT3)XN ?_Y]R_#WTX&Z,D M-!7G< $3FE.)%U.UL!L(ZJ6+9 MK\0:8W0)W?S_^W,56E3;EV4ZY=^G9?\0VR@E"N7BH)?ARK M-T. >C5\PG.:;P7,D4.8$([P.%5*""1FHC5^A>FU8_1.NA8%B7!HJ*TBD._1 M\+Y\ZCC6MS>*Z#9%=-]R]]2:]-HR5:I^J=*;<>\IH/JYYKZ%UFMHO5.T?ANM M4CGOI/4;6O\4S6FC]3]$&ULK511;],P$/XKIX#0)L'2)EU!(XV4-F-4VKIIW> !\> F MU\::8P?;;0:_'MM)0S>U@P?ZD/C.]WWWW35W42WD@RH0-3R6C*N15VA=G?F^ MR@HLB3H1%7)SLQ2R)-J8)RY"7] ML\G QKN +Q1KM7,&6\E"B =K3/.1U[."D&&F+0,QKPU.D#%+9&3\:#F]+J4% M[IZW[)]<[::6!5$X$>PKS74Q\CYXD..2K)F^%?5G;.LYM7R98,H]H6YBAR9C MME9:E"W8V"7ES9L\MGW8 ?2'!P!!"PB> P8' &$+"%VAC3)75DHTB2,I:I V MVK#9@^N-0YMJ*+?_XEQ+$H14TH4S C4A+;\6-X!_?S%(Y>'T>^-@HLCY^UV<9-MN! MGX 5X+K0L$Y MSS%_2N ;Z9W^8*M_'+S(F&)V F'_+02](-PC:/+O\. %.6'7SM#QA8?:*41> M4\: \!RF7!.^H@N&D"B%6D%*5<:$6DN$;\E":6F^XN_[VMAD&>S/8B?[3%4D MPY%G1E>AW* 7OWG5'_8^[FO!?R)[TI!!UY#!2^QQ4@JIZ2]B9W9?H0WZU*'M MQMG$)K'Y1?YFMX2_AC7B_)U!*%&NW'Y0D(DUU\TWU7F[%92XR7OF'YO5U&R2 M/S3-7KLB6]$R697-(86E1NWA=!F>-VQ,.L5I0TP]TLA]-:P M";J%'?\&4$L#!!0 ( $"%@5A*(72J&@( .\$ 9 >&PO=V]R:W-H M965TF;'14&4#L4>RTH R:RH8-ASW1M<$%HZ46#'EB(*^$$Q6L)2 M('DH"B+^W@'C=>@,G=/ BNYS909P%%1D#PFH3;44.L*=2T8+*"7E)1*P"YWO MP\G4-_DVX1>%6O;ZR)!L.7\VP6,6.JY9$#!(E7$@NCG"%!@S1GH9?UI/IRMI MA/W^R?W>LFN6+9$PY>PWS50>.K<.RF!'#DRM>/T +<_8^*6<2?M%=9,[UA73 M@U2\:,4Z+FC9M.2EW8>>8#BZ(/!:@?=>@=\*[,[A9F46*R:*1('@-1(F6[N9 MCMT;J]8TM#1_,5%"SU*M4U$R?9C%F_D,+>[1?/'S!UK/5D\HGBT7R>,Z05H<=K6N&MJ>!=JQ) .D#_\C#S7\\_(I^^7>Z_E M6--VR%Z'[%D__X+?G)=[M 91H!@J+JF2YY :C]%Y#W.W)K(B*82.OCP2Q!&< MZ-.'X8W[[1S@?S)[A>MWN/Y;[@VN,KC9&[B-Q]AZF)M_C&Z]D3<>!?C8!SF3 M-AZY75*S0-P[CN8I>")B3TN)&.RTS!U\U7K17*\F4+RR)W3+E3[OMIOK%PF$ M2=#S.\[5*3"'OGOCHG]02P,$% @ 0(6!6*^OJM[@ P 5 T !D !X M;"]W;W)K&ULK9==<^(V%(;_BL;M=+HSW?@+@TG! M,WREH4.V-(3THM,+81^P9FV+E63(_OL>&>*PP:BETUP$2]9Y]3Z2)1WU]EQ\ MEBF (B]Y5LB^E2JUO;5M&:>04WG#MU#@FS47.558%!M;;@70I K*,]MSG+:= M4U984:^JFXNHQTN5L0+F@L@RSZGX.H2,[_N6:[U6/+)-JG2%'?6V= ,+4,OM M7&#)KE42ED,A&2^(@'7?&KBW(]?7 56+9P9[>?),-,J*\\^Z,$WZEJ,=00:Q MTA(4?W8P@BS32NCCRU'4JOO4@:?/K^IW%3S"K*B$$<_^8(E*^U9HD036M,S4 M(]_?PQ$HT'HQSV3UG^R/;1V+Q*54/#\&HX.<%8=?^G(.\# M6A<"_&- -7+VP5F%-::*1CW!]T3HUJBF'ZJQJ:*1AA5Z&A=*X%N&<2I:C.XG MX^5L0GZ[(W>#Z2-Y'LR6DX4N/MU/R&"QF#PMR&#T^W+Z.!F3P:A@>*%2 M229% LFW C:"U73>*]W0,RJ.(;XAOOL3\1S/;S T^O?AGL&.7P^V7^GY%_0F M7TJFOI('4"E/R+38@52X))0DM$C(KYP5BCQCN10@R9^#E50"/_._FD;RT%&K MN2.]]F_EEL;0MW!Q2Q [L*(?OG/;SL]-H_ _B7TS)JUZ3%HF]6A>BCC%=4AB MCGM# H+JY=V$;-2Y%OD@%E1B>JO;18'3;@?=GKUK@ EJF, (,Z(R;;)NC+K6 M^D&L?6*]X_M.L_%V;;QM-#XL69:P8M-DWAAYK?GVF7F_$SCXU^R_4_OO&/W/ M< $U>3=&7>N]<^;=-5@/:^NAT?H8UB $)$31%Y(QNF(9;A)-,$:=:V'",YB/ M;J<5A%XS3;>FZ9HG@A<;HD#D>):N5!.%,?Y:BNXYA1>VNL&E27&=MW/1,8(\ M<44S@AM2H=@:9R4#4F!61:4$)6\;#S>CX+5D1[53M##TO59X >SDP'>-8).7 M&*0D?'UDP4P*CR7] ?(=B'_>ALWR5V.Z#1M".P@O;,2N]X;IF3]$#&*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&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?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/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]>3A)$H#+!,PC;[.I'/ MYYT[P6HXZ\+2;=,K?54QSR[-L\\+E-B()Z*4 SA'"SN::?8"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&ULK57;;MI $/V5D5M5 MB=3&-S H!4M<6ZIP*9=44=6'Q1ZP%=M+=A=(_KZ[MG$),;0/%1+>6<\Y<\[ MSC;VE#WR %' $A38#AJJFUS-N.H_+3A/L0]_QH#']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 MK4YGO!BIO<'HOC>;#WNC.5QU49 PXM?P"1:S+ER]OV[H0LI4Q70OE]3.)%EG M))D6#&DB @Z]Q$?_-8$N_14FK8/)MG61L8O>#=CF1[ ,RRX1U/EWN'5!CEWT MW$[Y[#-\O:=M*%Y@B"*@/@R2'7(A#X;@0!(?OM$P$7 OXRU##C];2RZ8_+?_ M*NMD5JA27DA-@%N^(1XV-7G$.;(=:NZ'=Z9C?"[KPG\B>]632M&3RB5V=R0' M%B<1\C*7&;2:0M58VKFR:L6N./6&OCMV4))8-PW;J!E%XBMUU4)=]:*Z+XQR M#AM&5Z$H$YBAG:.Z%<>IF[7:B;Z2/$L:,4XAS_EK\\+$HS&6B7/>-L60 M'^NT>6_S'+-J5*LGVO2C81,C6Z2TKBI25$LF\=9(.@F'6E+*N2 3)>!O,*0J03Y?D6I. 2J M0'$INK\!4$L#!!0 ( $"%@5C%WW2F1@L "BH 9 >&PO=V]R:W-H M965T)@G#@GT/TK\V(:"/?O0,@5V^2*.;U-TJ_9 M7*G<^&NY6&7O.O,\7[_M=K/I7"VC[$VR5JOB,]=)NHSRXF)ZT\W6J8IFVZ'E MHFOU>J/N,HI7G;/3[767Z=EILLD7\4I=ID:V62ZC],=[M4ANWW7,SOT5O\4W M\[R\HGMVNHYNU)7*?U]?IL6E[DZ9Q4NURN)D9:3J^EWGW'PK!Z-R8'N+/V)U MF^U];)0/Y4N2?"TOB-F[3J^\1VJAIGE)1,4_W]6%6BQ*J;@?WRJTLUNS'-S_ M^%YWMP^^>#!?HDQ=)(O_Q+-\_JXSZ1@S=1UM%OEOR:VOJ@,Z2;+DV4U7-R#9;RZ^S?ZJ_I"[ T43ON 50U8#P<&3PSTJX'^H0.# M:F#P<&#TQ,"P&A@>NL*H&A@=.C"N!L:'#DRJ@[(?/=M/CMP_W>;V^>[>?6-MOROM*(_.3M/DUDC+VQ=>^<'V6WL[7WPSQJLR MA5=Y6GPV+N;R,_'Q#^?J\P?GX^TLK!IO5&Z/?>V58/:QFW#QXW)VU?CL-7[[>,NX>/ MMSUV[_!QLV7K79/W$G+N#S\>1]I MOHO[N\CVMU[_">^JV!+/-@ME)->&\VT3YS^,#RJ?)S-#K+ZK+"^VD7EF_"F+ M,4/D:IG]MRV[=VL,VM\ZQ<8]4^EWU3G[US_,4>_?;;DA,9O$ M'!)S2!%E\[:\::>.S1N)V23F#%LB8HZ'DWXS(^[=[49[MQN9YK!W M\C!+Y)WS24R06$!B(8E)"&MD:;3+TDB;I7J_LRU1VMEC$T5B-HDY/X$9;1NO MT:/$6;WROP>!(^^[/WKTTZ!M34&N&9!82&(2PAI1&N^B--9&R59?2\$B04D%I*8A+!&%">[ M*$[TQVC1C[N74O+$.)]^V\2IVG^%I2V<6O#8<)*836+.Y-$F:C!^O+EP?V+- MMBVB1]YWG\0$B04D%I*8A+!&"D]V*3S1IO!\O5[$:F;XR6(6KVZ,BR1=&W]^ M4,LO*FU]85/+'9M!$K-)S"$QE\0\$O-)3)!80&(AB4D(:\35[-6_4.R]P*\G MJD6@&*.:C6H.JKFHYJ&:CVH"U0)4"U%-4EHST'L- ?/_>'5'/WQT4$G-KK3G M7M=PT%5=5/-0S4#G-$Z,3^MUDN:;5;E%?78O M6 \>'4M2LU'-0347U3Q4\U%-H%J :B&J24IKAK>NZY@OT=JOFH)E M0+40U22E-0-==W=,?7GGF1UBM+&#:K;9UHQIVR%&ZSBHYJ&: MCVH"U8*69ZOM=?8075526C-<=2W'U/=R]+NZQM_%Y>4R61D7BRC+C/?ZG6"T MS(-J-JHYJ.:BFH=J/JH)5 M0+40U26G-6-<-(7/T$CO!:)<(U6Q4TJFONA2;8:S/)E^->(LVZC9*R.;1\5:KTNH M9E?:?I_A9-RR4XQVDE#-0S4?U02J!:@6HIJDM&8DZ[Z2J2\L797I,]9I/%6M M$43;2:AF5]K^H8[Y*'_DBBZJ>:CFHYI M0#50E23E-;,7]U4,O55)7>1I/$L M,MY'F9H94E[H#T[1HA*JV:CFH)J+:AZJ^:@F4"U M1#5)*4USPI05Y:LEZ@L M66AE"=5L5'-0S44U#]5\5!.H%J!:B&J2TIJ!KBM+EKZR=!4MV@]#]7-'9Q1M M*Z&:4VG[![5FSQKU)N.'-?VV6UHG_?2FVFZE:1'FQS[N.TCQ^(GEH(0G5;%1S*JW9 M.ASW)^;#OZUNN^' ZEN31[E#:T2H)E M0+40U22E-7-7UX@L;:OA3/ZX2;)B MAW2J/:K4(T?'#*T)H9J#:BZJ>:CFHYI M0#50E23E-8,;%T3L@8O<52)UHE0 MS48U!]5<5/-0S4BZFF3IJTGZWI]^^.B@HF4C5'-0S44U MSWI\8B.SUU)Q]-%E!:H%J!:BFJ2T9@;K'I&E/]703YR402\>'CP/+$T=58X[=YPY-'AT$7>O[8\*&:@VHNJGFHYJ.: M0+4 U4)4DY36#%]=[.GKBSWEP>C^;NQS)5L]=^QN+*K9J.:@FHMJ'JKYJ"90 M+4"U$-4DI36C6_>&^M8+')?VT1H1JMFHYJ":BVH>JOFH)E M0+40U22E-0.] M]S9D^D+2QV3UNC@DS=-DL2C/S!NO/3C#[UF/L M>X_=:2=[1P2]-P]+M2ZZIH=J/JH)5 M0+40U26G-9-;-H[ZV"%'_RN:H766T M:(1J-JHYJ.:BFH=J/JH)5 M0+40U26G-_-9%H_[P)7:5T4(2JMFHYJ":BVH> MJOFH)E M0+40U22E-0-=MY;Z^M;2I]N52K-YO'YNWQBM*J&:C6H.JKFHYJ&: MCVH"U0)4"U%-5EKSZ*D^>&HFL6XS]?5MIH_1*C$NYFJIWQ=&ZTRH9J.:@VHN MJGFHYJ.:0+4 U4)4DY36#&Q=9^J_1)VIC]:94,U&-0?57%3S4,U'-8%J :J% MJ"8IK1GHNL[4U]>9#MX71L^/A&HVJCFHYJ*:AVH^J@E4"U M1#59:>4;0>WM M# _,T;A]?WA0MYD&^C;3^6P6EW7":&&HNZWK\F[K&N^VKD9R8&*KI9[:8[\+ MHO[^'!M$5'-0S44U#]5\5!.H%J!:B&J2TIIIK>M/@Z/J3Z^>_:6.WCMV(XIJ M-JHYJ.:BFH=J/JH)5 M0+40U26G-[-;]I\%+])\&:/\)U6Q49>7MN=;J/KG]OOK7-ENL=\ZVWO;Y; M\V>GZR*_'Z+T)EYEQD)=%TOUWHR+'S%I?#/?7++UC^"[DZG:2],8D+4).8< YMT'_[L)"0$C$NNIB]*@OU[ M;#^Q?WX>XN&&T)=L@3$#/Y(XS2Z-!6/+3Z:9^0N?'R?/'YYO)/?AR]W #'F_!>'+C MW3V#=QYF*(HS\( H1>+IO I!][]^GYH,MZX@##]LJ'KHB%XI"$;W).4 M+3)PDP8X:,:;O--5S^&VY]=0"?C'*KT '>L#@!;L2/HS5H=[V.?A]M%P[_1P MJ!A-IWH.G1RO[9_TN8TPGF*<)K,&F4['IJ- K-OV<31EOROBV MO!5@W1Q,)-KUR.[;EN,.AN9ZEY+#>K!O][L#NZK7&&VW&FU7.=HI(_X+^!O1 M %RE ;A&Z0MXY 1\N\?)#-/OX%_P0%*?+S]*8AX<@KN483XN5E614:1LM"U% M.L$\36 -LGL5V;VS+-2>3C9U@GF:P!ILNA6;KGJA$I2"<(4HXC,2!X!O-%C& MGA*E+7L%V&!G&5H7G>[>6M748H.5?L5*_XWI2QG?EH_^8?KJNEW+LO8HT=1H M@Y)!1!E,2KX3:S'@"])6Y3]F9MOSJ!/,T M@34>@FW5:M$Z2_8K8341JA7-TX76I'1'@-M:4J :IC6%MB0)]O:3H*XVF]3 MFAKXQCRH!FA-"CP4: ,HR82ZFFWR4GL%6RF>1],%H0QP"9> &:$\G&NZ3$J/ M5GM0HKVN.Z[L"1"UV[UO6V6MB?L W<1T&,>-F4\864%55>W26DY&GU M"%K1/%UHS<=0&PZ[>YYM0*NGT(KFZ4)K4EK;"ENILX]1^@&,5Y2*J7J]7>E@ MC'@_>)F4X=[!TA/Y:S^#C=6]:$WBM: K?GT7<0](<^2LZ?0AGBZT)FNUR;#5+N,)4Y]/+!3F[,P)Q5$H?HCU M!849)]#'T1K-XKPX2M>\+J'R2=>7B(GN/GU&;+4=\?",@3G' M+V>55H.@"ZWYHVSM$*!2+H^JGY:.Z5AU?-L]H$03&GYG[EG] M8OEN_^P]@7(DRNW*]0FLQ3Q4B_E"GYRF.5YWIKS&I$IC!WNM0KJH>]F:8YUH MGBZTYA.J/06$9Y$N4*O3T(KFZ4)K4EK;$:C)CJAQ6G/X/]" E+Y#N])Q+'?@ M'LD&M5N!I[B5_6R@S:"H6V]-IU:#H@NMR7QM4.!Y# K4:E"THGFZT)J4U@8% MJ@W*6T4V/'0FCE0.J?O1FK5S6!-86Q.HMB;Z1#:4O;;8%]GJWK3F[AP&!=8& M!:H-RBDB&QZ^O)"+;'5;K9DYA_V M?V :OOQNLC6^@*C1&LKLN51QT1VI[88 M';7%N(FC,!)+9ME87 %)."61+UM=TJ,3EF1!]?>FC;HKK<]$:'W58.X<^TDP M#?/C4QG(!U^< *J^K8YH7>4'D\RZ>G&^ZQ[1,.+N(\9S'FI=N'Q!T>+(5''# MR#(_1#0CC)$DOUQ@%& J*O#R.2%L>R,:J ZNC?X#4$L#!!0 ( $"%@5A- MYM%R%P, (@( 9 >&PO=V]R:W-H965TT>ICV8Y )6$YO:#K3_?G8"&1\!]6$O MB>W<)DRVK852RUO;EM$"4B)O^!*8_C+C(B5*=\7< MEDL!),Y!:6)CQ_'ME%!FA:U\;"S"%L]40AF,!9)9FA+QT86$K]N6:VT'GNA\ MH$>H\O@U%G]'."+OJ@"$WD);I&SY,^NOAZ MV;*5GM,@[6C#WRWX\0E^%Z,'SM1"H@&+(=XGL+784C'>*N[BLXQ]B&Z0YUXA M[&"O0E#O\W!\1HY7+J"7\WDG^:8*]:F,$BXS >AW9RJ5T*?S3]5B%5RU:BYS M8V_EDD30MO25E"!68(7?OKB^\[W*Z'\BV[-=*VW7SK&'79(0%L$5FL*<,D;9 M'/$96H*@/*XR7K#5[GH[CL.?[]690QNW)K9=RZV?E MCI-,WJ*QX!% +-%,\!0EG#!9I;6@\G640&Q3@IJ4?0DS=.?7NS!:(S&(+(J"V=GJ#X:J.J(^<=+$=2:=<>I MMM@H+3;.6AR"--M!/G0]4!)I/V8SJHPTC@1<-W ],#=_;R\JXC!NXL!M5BL- M2J7!Y\XYL/C\"0^.3F[@NK6FYQ\H/8X[O F%4'LGJ:<@YGFMDRCB&5-%MBQ' MRW+:R:O(P7A7E]FB*OZC*6KT Q'Z\DJ4P$Q3.C<-K4H4=:_H*+[,2\>4*UV( M\N9"_RJ , 'Z^XQSM>V8"&PO=V]R:W-H965T=- M7CC'T%M2]I9.">'@5QPE:5^;%$O M4YX=T >]6?!*AH0_SQZ9V--+RCB,29*&- &,3/K:.3S#R,\"\A%_A629KFV# M+)472M^RG9MQ7S.R&9&(C'B&",2_!;DD4921Q#Q^%E"M/&<6N+[]3K_.DQ?) MO 0IN:31W^&83_N:IX$QF03SB'^GRV^D2,C.>",:I?E?L%R-M5T-C.8IIW$1 M+&80A\GJ?_"K$&(M %H; E 1@'8-,(L <]< JPBP0ZX( '@QZC2\"R MT8*6;>1BYM$B_3#)OO8C!Y]^_]'0NSIXQ]%%QIHO5F="&,V$R M.@4F_ ,@ YD=X9>[AZ..<+Q[.*R'ZT*R4C=4ZH9RGKF1-Q%'QN"")&*+@\M^!C<+M/#Z[IBT&'H26;SH] M?;$N27N< VW+<-WZ.-P>ATS'L7VO'%=+Q"H3L>2)D#0]$_YEC"0#79Y=9VWM\?2 1U_5"@J[4[59& MCF>:IF$U,F^/LRW3L1R[D;ET;@=F[I29.]+,[\*QN ",P9 'G*3@(DC>P(\[ M$K\0UFE_*6U?^ZN$846PFHINJ:)[U(NJJU)5E3"L"%93U2M5]3YX497&=\\. M=$FFB(,/X&Q5RR_5\O=V\H/XUK2KI7M\(.FE@/V<+4J$#X$M%VRJF*'TM)U,.1T] ;^"=BXL/6G()Y] M!4],=%E2>\NY>_\,E5;KJFAU3:MZ'9K'=;BT']A;6I4TK(I6E[;J(."6%F*[ MP]L]@>G[R/$;!73'.$LT0Z;1**#E$SHTX:IY@/+NH>7/E3.WW7SEU+U_0BII M6!6MKFC5E$#GN.Y4VJ8HI6%5M+JT5:<"I27[+NYT6ZZ#AF&YEM>T9\= T?\[ M;K.UET_IT)2K-@+*^X@-_GQ:4KD_%57SA5@J:5@5K:YHU6I _[C^5-IX**5A M5;3ZZFS5>B!I_;V#/PO NNV0:[JHM?+6-="#I@&;"U#R*1V:N /KK67P!JQK,- M9+A-@W:-B*62AE71ZI)6+0.R MCVM/I;V#4AI61:M+6_4.2/Y$8P=[.NVZU7)MZ#4+W*Z!ANFXOME35 M]$A>TV\R:+C81Y2&_5>$>4*MWKO > MHLB;[V6DOV$M)=P%[#) 41F0B\<>J*S-CJ MO9[5#J>S_$V7%\HYC?/-*0G&A&4#Q.<32OG[3O;R3/EVU>!_4$L#!!0 ( M $"%@5@XO?@AY0L "67 9 >&PO=V]R:W-H965TDC9HNCL4?/J4%Y_*>RDKY\MZE95GH_NJ>C@9 MC\OYO5RGY9O\06;U=V[S8IU6]9?%W;A\*&2ZV%1:K\;$=:/Q.EUFH^GIYK6K M8GJ:/U:K92:O"J=\7*_3XNNY7.5/9R-O].V%#\N[^ZIY83P]?4COY+6L_GBX M*NJOQCO*8KF66;G,,Z>0MV>CW[T3$;M-A4V)?R_E4[GWN=,?VJ^>+LX M&[E-C^1*SJL&D=;_?98SN5HUI+H?_VNAHUV;3<7]S[_1^>;@ZX.Y24LYRU?_ M62ZJ^[/19.0LY&WZN*H^Y$__E.T!A0UOGJ_*S4?GJ2WKCISY8UGEZ[9RW8/U M,MO^GWYI?Q![%6K.< 725B#="L$S%?RV@G]LA:"M$'0K1,]4"-L*X;$M1&V% MZ-@*<5LAW@S6]J>[&1J:5NGTM,B?G*(I7=.:3S;CNZE=C\@R:Z)X717U=Y=U MO6IZ\?Z=<#ZR#Y<.9>I461-BGYV?G5^>.:.C_]\//IN*I; M;.J-YRW]?$LGS] ]YS+/JOO28=E"+@;JLP/UB0$PK@]U=[SDV_&>$R/Q7X_9 M&\=W?W&(2\A AV;FZN_G55W=VU1W!ZK3 ZVGF;$Z,U>G5O)=?G74-2VM&"8 MUIRR3\J'="[/1O4YN93%9SF:_O@/+W)_&QIF)(PB80P)XTB8 ,&TL 2[L 0F M^O1M5LF:6CGR2ST+EW(H($:";4"0,(J$L2TLW,":*XW/TR"91%%T.OZ\/_3] M8B0A29#HQ02H:]J@AKM!#8V#>KEFRN6TGF;S7V)#MV"-A% EC2!A'P@0(IN4HVN4H@LXD$3(L M2!A%PA@2QI$P 8)I88EW88F-)YU-0I99616/]9*JC,X_D:,[?@C810) M8R^ .4,!V7*BO82'$Z]S:2) /=<&/MD-?'+XU_\BS^Z%U^NXPI MFG-.6=4?%\Z#+.;U-].[04MB;L$Z1UM:\[NTF_'=-ZX_"3O7M-!F&93&H32! MHND145;5,WJXZ765SS\Y_TV+1;F=P7Y,UP^_.1^+QSHF>W,5>W?E?)#IJOKJ M7%S,S/,55+U":11*8U :A]($BJ;G2@E8+\#.5U ="Z51*(U!:1Q*$RB:'AHE M>#VSX>W.5\V::S L9HSO?)5I40X& RIK#_3#M\[)5DLK*!F%TJC4!J#TCB4)E T/6W*[WHQ=J*"*EXHC4)I#$KC4)I T?30 M*!WLF7TP8F$%5<50&FUIW65:X'>6:0S:+(?2!(JF1T2)8\]LCC=GE(L\S;I. MT-E(0>.\!/7(4!J%TAB4QJ$T@:+I&\^45B8N=%XB4$L,I5$HC4%I'$H3*)H> M&F6)B5$HVOZUVDRSS@Q4$D-I#$KC+4W;+>5N_G7^=(EJ5H^#\K_DU?VON07K MB"!I%$IC4!HGPZ8["KL)>0W]2Y3^)6;]>_3&!C/'.@=0J0NEL9:VORDABOTD M[FR8;(MIYP _\DEW?%]#PQ*E88G1V%GN7S##K <9*F&A--;2]@?9"^+0FTRZ MPSQ0T/6C.)ET!_HUU"E1ZI287>/@LRA?A5*8U :A]($ MBJ:G1RE7@MT22Z#F%$JC4!J#TCB4)E T/33*G!+HUE@SS3HS4'$*I3$HC4-I M@O0W%?LDT)8N>AR4$R6@/;)FCG40H.832F.DO[\U"?VD>^_-2QH=W B)ZKV> M *4\"7*SK!EF'0.HY8326$O;CP$AP80DI!L$U(Y85/_U.S65N_3-6V*'+T9Q MMV^9F[>-#I1&H30&I7$H3:!H>LB4Z_2Q.V)]J.R$TBB4QJ T#J4)%$T/C3*B MOIT1/7#-:J999X;TKKV\9.(F0<A5*8R^A#=X6V(+VETN^Z_M!1[BC>J\G M0"E3W[Q+U6ZQ:X99QP J3*$T]A+:< Q (($Z/CTH2I/Z9DV*7 P?O[?9W"GK MP$%M*Y3&H#0.I0D438^>4K+^!+M$AII9*(U":0Q*XU":0-'TT"B+ZQ]A<;]S M3015NRWM\$VCT&89E,:A-(&BZ0]74WXW /K=YC:==B/"+P?O'34W;)L<*(U" M:0Q*XU":0-'T>"FS&V#-;@ UNU :A=(8E,:A-(&BZ:%19C> FETSS3HST'VM M0=\3!V%_=S&#MLJA-(&BZ6E08C=X=;%K;L$Z(= =KRVM=X-6]_XL:*L<2A,H MFIZ0O2?$8M2N&6,= R2-'CC$YT4Q@_:#0VD"1=.#H=1N %*[9HYU,J!J%TIC M0=_(>G'B>=UG" \5\]RX^PSAUQ"W@1*W 5+Z7"[PP\+OW/J%ZIP^STJX!6+L>OB_7W*)U%J!.%4IC4!J'T@2*IN=*.=4 MZU0#J%.%TBB4QJ T#J4)%$T/C7*J@9U3/;0X308V"OEA;P4X,S=K'0>H/X72 M.)0F4#3]?0R4/PW-_A2P.FU;Z*T .[/US-P3VX1 :0Q*XU":0-'TA"@%&IIO MY#]Z$6+FV$XO4!J%TEA+T^[+C9*P>U_N0+$@]+S.0_,%JF_Z^"I;&1YA*X]> MA)AAUH,,E950&FMI^NVV;A!WM\CRH8*13Z*X>P,VJG_Z0"L1&9I%I/6?RJYD M\>B\S3[7O_S-W%":W\<&ZBBA- JE,2B-0VD"1=,CIDQF&$!7)"'4:$)I%$IC M4!J'T@2*IH=F[[VT[!ZU>F!%TM*TIUV$27]!8F[5.@W8=\/JZTD2NJ3K)_E@ MNC/+:WC,4'G,\ B/^9V+B&T+YKL-9N9^6(\I5%I":1Q*$RB:G@\E0$.[ MV_.?^P/7 8SA(<8S/XE[4T._6.QV2PE4U_3A5;(Q?,&31U^TY#A^N[FY2]9)@6I-*(U!:1Q* M$RB:_K::2FM&V$>61M#-GE :A=(8E,:A-(&BZ:%1IC.R>V3I"RYCVQ:Z+CSL MW#$V,_?$.B%0NPFE<2A-H&AZ0I0KC-S%Z5+XOZZG-=3PQWSUUO1GT9/@F2L&?#S2U9 M#S?4G$)I'$H3*)J> &5.([/R[/JQP0Q ]X)":11*8U'_B:$>(6$0=,_\_7(1 MB>*D>]Y_#?<9*?<9F=WG]R\FCI=BYJY89P2J3Z$T!J5Q*$V@:'K@E(V-$NP2 M VI2H30*I3$HC4-I D730A,KDQJ_^@91^\M!F^50FD#1 MMA$9E_=25C2MTNGI6A9W=.?B>C<>_U<^^$ M>@.O,^^$;UX?*_ST]*%.SV5:W-59;3>YDN9-$4J+]_F^?5MR^:!I[RXM/F<*9_ U!+ P04 " ! A8%8 M)X]S][(# "0# &0 'AL+W=OZDJ[UPP4G0 &>VDW3??C90DA 3 M=5=[DV!SSM^_L;DR&Q4DC0G!4]I 1A9](U;>#.$CG(H+;ZD M9,O=2(.'*#7X8!J!]1V<#H<[-K!+@.MR,JP1EC@J,?H#C!E+=74 M19F;TEM&DQ9J&^>"R;NI]!/1?/AI/'K^/ ;3.S![G'Z9S"?3!W W?023A^'T M?@R>;K^"\=?9^&$^!A>#\*22/4C7C M>NU!M3;J6!LB<$\+L>)@7"0D.18P92!--.@MF@$ZJS@B\36PX4> +&1K@(;O M=T=G<.PFN7:I9W?H38J8Y@0\X5]8\NW#\D=A2\TP3OG%./AAO&2"& P*\?P8(D MA.%,%W"EXI8JZJ6SC7S7]@*Y?=O#4$[-H 5]RPT;NR-*MZ%TWT_)!19$QUAI M> >+VXX5NJC%>&KF>)85!GI$KT'T?B.1E,DW4Z&#]$Y6ARY$MM>"/#5#Z+84Z4/N M/ "UV''F72N$?GN+-(8^1*';L47[V@;/%[>G3K33.G4%;>3;;AM-4]#D&]'U M6FCF06^7$[8L6UX.8KHI1-48-;--6WU;-I.M^8%JM\N><2]3]>KWF"W3@H., M+*2D=:V:6U:UO]5 T'790;Y0(?O1\G(E/QD(4P;R_H)2\390"S0?(=$O4$L# M!!0 ( $"%@5BA5_)BW , ,D+ 9 >&PO=V]R:W-H965T^6C MC)-TC9?FAAZS3QDJS64D_8H\&&KF .\FWSS-7(KE3B)(-<)"Q'')9# MZP[?CK&K'0J+/Q+8B]HSTJ$L&/NN![-X:#F:"%*(I):@ZF\'8TA3K:0X_CV* M6M6:VK'^?%+_4@2O@EE0 6.6_IG$A:*84FWJ7QA^Z]P#,C7>A%+1?&+ M]J5MX%HHV@K)LJ.S(LB2O/RGAV,B:@XX:'$@1P?2=/!:'-RC0Y$YNR0KPII0 M24<#SO:(:VNEIA^*W!3>*IHDUY]Q+KEZFR@_.9J/OTXG;]^FZ.D+>IF.GQ[' MLV^SN]?9TZ.>F3V.GQZFZ/7NK^D<74U TB05G]$U>IM/T-6GSP-;*@:M9$?' M]>[+]4C+>IB@!Y;+M4#3/(;X7,!6\%4$Y!3!/>E4G$!T@US\&R(.<0U XY]W M)QTX;I50M]!S6_1F><0R0*_T@":)B%(FMAS0WW<+(;G:L_^84E8J>F9%?9!O MQ89&,+34217 =V"-?OT%!\[OIG#_)[&SX+TJ>*]+_13\ M3] DC2@RG:4L(O M)/0MLQNY 7&)[PSL73V02[NPY_>=GE_9G3'Z%:/?R?@V1T)2N96,OVM$Q*D$ M80(M=;!3(W!N7,=O.MNHP7*:!$0F9,9:D2G']SW_<:E)=FU\1S M<1":*7L59:^3[Y&P 6PP5 74 M<[R6O/8KXGXGL2I1J@#EU?Y$<;)< H<\ A-O_Q*C3]RPWZ UF!$2!+@%%CL? M1<3YR03O:+JE98%.58M 6X"/>G64,/1(T VF"EB$M0VSCEQK>SA3N)7)FE: M.UL(U'G+!: K#A'; 7\W%S=LV!DN"=WFI6 PQ)[:0D$+./D )]VIWG*U#:0! MWDW[UN[UA1EP%=%KRA0Q+:Y++N+:K;J1^^*+JPQ?Z_[U*+9^I I MF]P'RE=)+E *2R7IW(0*BI=]8SF0;%.T7@LF52-7/*Y5KPU<&ZCW2\;D:: 7 MJ+KWT0]02P,$% @ 0(6!6*?=%(Q7! 5Q, !D !X;"]W;W)K&ULM5AK;^(X%/TK5G:U:J5I$R>G'/]N >WUHS_R.8 CVF"K:5)Q01WV)89SO7*)Q'?C.,VH:5,X($0I%#$/FU M@AXD28XD>?PL08WJG7GB[O4S^DTA7HJ9D QZ+/D[CL2\;00&BF!*EHD8L?5G M* 4UGFFSR6A=A)P.Z1!+M,L%^;X)0) M3B%TPZR0U2>"=%J#\(D<_ G9ENTHTGNO3[?KZ:847U7 KBI@ M%WCN$;P>H20B: 0KH$M W1G0\ E]_P+I!/B_*GE:O'S=764+$D+;D LK [X" MH_/';]BS_E2)/1%83;I327<*=.>(]*\+X$3$=(9N69:A'N'\2>X,:\*C#'V_ ME=%H*"#-E%5P3EF%$X'5JN!657"U$^ ON5FRJA))7HEPMQ(J\1O$1H&8[Y2K M3M!H8-]KF:M=68JP)FXVW"JL1KA1$6YH"0^I('063Q) ),M *!EJ(=051:J1 M^3A.3:-7:?2T&N]X/B3BZ1."G\MX(1N'0(1&* &Y9\]9HAZ6#::W4V_':N+] M43F,3BJ=_P" (/*MI[Q$]#&LZ M3=MQU$R#BFF@9?J-)$M2]-!N(KLXH2&H. 8'+[]0DE3$Z5@V*Y;-%U=E=%!3 M%5$MSAMF^L=Q:D*QM6W!UDOK&3@E2=6#QA(]#@&=#4>RZ>I:D1[YK;OPJ=#J M==BQ(OC_:TB6VE@3K/\@WKX 1 ==E;.X*U??YUC:W$ MJ&TX&#ON_BZOBO,LWU)O2WCK%K#>+KRO,Y6@NVSLP/6;[CYK19SOVL&1[H2W MG@'K3( SI"C*15U]=;VWV6U;#H5NX M\+T=IU?GO[4+6.\7WCF-#BW!A>T&OH7W1T<1Z :>CX^T9;QU#UAO'VYB*BU# M+-M53#/!E\>'0(OSEB'X.%!=Z]:#8+T).31UB#*!.(1L1N-?$"EUG\J0G "H M_H]XZTALO2,YV"R2F$SB)!9/RO_#)S4A)5JC-L5M#Q_LW.;.J4=^Y/2%\)F< MDG(%366F=>E+"+XYQ=G<"+8H#D(F3 B6%I=S(!'P/$#^/F5,/-_D9RO565KG M/U!+ P04 " ! A8%88#CX^C,# #F#@ &0 'AL+W=O@;(_?$.( ,]QE/"^L1%B>V:: M?+$A,>:G=$L2^61%68R%G+*UR;>,X&4*BB,3699KQCA,C*"7WINPH$=W(@H3 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+SD;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_ >'(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!K)U>!&D)C_/B8YH[:/4ZOWX8QO\8+T#?F'YX3MB1%\^01=Z[M&>*<0WM&Q M!_=4X.B8J SFI##U3NV#C@=]Z#@]>$'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>>^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 M !D !X;"]W;W)K&ULM59K;],P%/TK5D!H2+"\ MVB2,-E*;#C%IW::5 =+$!S>Y;:(E=K#=Q_X]MM-F;4DC0.5+8COW')]S;>>Z MMZ+LB:< JV+G/"^D0I17I@FCU,H,#^G)1#Y9499@87LLKG)2P8XT: B-QW+ M\LP"9\0(>WKLCH4]NA!Y1N".(;XH"LR>AY#35=^PC>W ?39/A1HPPUZ)YS ! M\5#>,=DS:Y8D*X#PC!+$8-8W!O9%%*AX'? U@Q7?:2/E9$KID^I<)7W#4H(@ MAU@H!BQ?2X@@SQ61E/%SPVG44RK@;GO+_DE[EUZFF$-$\V]9(M*^$1@H@1E> MY.*>KC[#QD]7\<4TY_J)5E5LQS50O.""%ANP5%!DI'KC]28/.P#;.P)P-@#G M$- Y G W %<;K91I6R,L<-AC=(68BI9LJJ%SH]'234;4*DX$DU\SB1/AU4UT M.[Y$7P;?+R?H; 0"9SE'-Y@QK/+[%KU'#Y,1.GO]MF<*.9]"F?&&>UAQ.T>X M;0>-*1$I1YU9'YM\GXAL+PN=.@N=-O8P6C &1*",Q+0 )/ :P5K^ M93@TV:ZXNII+_6*6H6T[OA=\Z)G+74<-<1W?LX*@CML3VZW%=EO%OBQ9KI8L MWEVR)KD5F[*]_?[KT3D>U9]VOK_O\[@?XILW BLKTL!'46@I-NZN"WL]6\J1OB M C^P/.O@#)H[]:< -M=E6>J@"R*JGWL]6E?^@2YX!^-#>2.H"O@+376=&&,V MSPA'.%/X" M4$L#!!0 ( $"%@5CM'E0K] ( #@( 9 >&PO=V]R:W-H965TC'40"0M5*?2 RM@_3/IAP(5:3 MF-D&NG\_.X$TL("J:GP@MG//N>?E@JQNM9UGJ20 M8]ZA*RCDG05E.19RRI8Z7S' \Q*49[IE&)Z>8U)H8;=<&[.P2]+K M/,?LSP RNNUIIK9?F)!E*M2"'G97> DQB.EJS.1,KUGF)(>"$UH@!HN>UC>O MAX&*+P.^$]CRQA@I)S-*G]7D;M[3#"4(,DB$8L#RLH$A9)DBDC)^[SBU.J4" M-L=[]IO2N_0RPQR&-/M!YB+M:8&&YK# ZTQ,Z/86=GYJZ& MDC47--^!I8*<%-45O^SJT "8W@F M0-8QP#G!,#> >S2:*6LM!5A@<,NHUO$ M5+1D4X.R-B5:NB&%>HJQ8/(ND3@1QL/;432]'Z&G&S3HQW=#U'^,4'1W/_TV MBM#]4QRC\6B"XMO^9(0N(A"89/P2?4'3.$(7'R^[NI J%)>>[#(.JHS6B8RF MA1YH(5*.1L4[#V'@;66<8(D@ZRS<_(,BR[1=#P[7#KC!R[+JE= M\MDG^$:8%:18NS*O5N:=51:1;"V.MTNES6O3%EPY MGG^DK370\QS3;=?FU]K\]U6M@@6-A$9'[;$#56U!KM^N**@5!>^M5O 636U! MKFB.LOJU;K]]::J>^H#9 MDA0<9;"0E$;'ER\;J_I4-1%T51[U,RIDXRB'J6SMP%2 O+^@5.PG*D']L1#^ M!5!+ P04 " ! A8%8\S/ZP&0" "G!0 &0 'AL+W=O%)N) MA39,=+NZ38P_Q@BQ3/(8\L,MD)^:0* (V>2\95'Q=:5Q>>I[(" M2J(ZH@)N=E9"ED0;4ZX]54D@N0.5S M]O^>5A'*<)LXWDVDB-II1#C.)U*8L MB7P9 A.[/@[PWG%/UX6V#B]-*K*&.>A%-9/&\EJ6G); %14<25CU\2"X&,4V MW@4\4MBI@S6R2I9"/%ECFO>Q;PL"!IFV#,1\MC "QBR1*>-7PXG;E!9XN-ZS M7SKM1LN2*!@)]IWFNNCCKQCEL"(;IN_%[@H:/5W+EPFFW!OMZMANA%&V45J4 M#=A44%)>?\ESKUXF#X:Q^QA>G<[ M1Y_&H EEZC,Z0ZH@$E3B:9/9XKVLR3*LLX0GL@0ANA%<%PI-> [Y:P+/E-S6 M'>[K'H;O,HXAZZ H^()"/XR.%#3Z=WCX3CE1>XR1XXM.\$V(Y)2O%9J!1'-[ M2NC'8*FT--?TY['SJNGBXW2V=2]413+H8].;"N06^SI@&MZEE.VL>V(1&6;\^@-J6EZCL;.EFUZ'OOF2;SMH9:_PX+(CP_C MZC*]@SM?@ER[4:!0)C9H];;39N":[(U_:*90/33^T-0C[(;(->4*,5@9 M2K]SWL5(UF.A-K2H7&&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, MQAJJN<#.SX'CRU1I_"\T;>[1-P;9TEA5=6!24 G9 M?OE35X<-P&#X"B#J -%[ 7$'B+W15IFW=<8M3Q.M&M NF]CC&^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]MC4[]'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=OR?=@#7:4_8C7A'#P' 91/#36G&\N33.>KTF(XP[=D$A\LZ0LQ%QAN:$#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 M2SZDN4E'"S5^E)3Q@3/QK2_&\='#Y,/-]9>/-^#N/7AXO)O\#>[N'Z=WG\#5 MY''Z=?HXO7D OU\3COT@_@-<@%^!">(U9B0>F%S,GZ"8\WRN<387:I@+(G!+ M([Z.P4VT((LR@"F(%^S1*_LQTB)>DWD'V/ =0!:R%80FQP]'&CIVD4P[Q;.; MDIDDYF(L5M4"3&@HMEJ,T\5ZQ1B.5D0L?PYF+V _[AZ_I+>O=I@MP/>/ A), M.0GC?U0)SN9WU/,G6_XRWN Y&1IB3\>$/1%C]-LOT+7^5"7G3&"E5#E%JAP= M^NC3-IP1!N@R7TWOP)BL_"CRHQ48XP!'X6I+M:TM_2AX(H&GXB3#SD 'DF;.['!&R8/R=':LCF\/:X MV1WD5@34@U"GYZGINP5]MV7._Q++DE=W8L92"]5VI;FU(9HI4QZ]7RK MPGK0@DX#W;T6#K5T;TH9!AM!/>5]B#:L)0]V>E72VJE/;!(026GH;:M)KQ = MHU 5U&]XU$)I!:"V?=;6T"M3/ L2VM'B0)?(X4NM#D+%-E8%5GIB68)LT5#? MHP\G_[ *1[&+H5V5H(I"#0\B*+LUU+?K-Y>@6W<1754%M#1.W2.RJT-]6S]V MCQPMVU4\5/NUFIW)()1%R]8/];W_UH_\CE:0UFUHDO0HZU:LZD9T%ZSZ(1=[!KY-#5?%<->T-8 W-I59#>JC0Q;]O[\FD.JM"R M.?'AAJ2Q07ICG/T MQN:7HYR3WZ,<;!RVTI7L)3RG M7G_GTKQE;.E*[--<2=OV9]??A:A$G,G,9&+-O<.KD+!5>J87@SG=1CP["2KN M%N>&5^EI6>7^&%Y.LM,_"9,=1MYB)AY[,0C(4D!:HI\;@&7G>]D%IYOTB&Q& M.:=A^G%-\(*P)$!\OZ24OUXD$Q2GK*/_ %!+ P04 " ! A8%8T1P6"4$# M /"P &0 'AL+W=O MY[FSS[[.EO%[L4*4\!!'B>A:*RG34]L6\Q7&1-18BHF:63 >$ZFZ?&F+E",) MC5$]T9 MA5W+T8HPPKG4$$3]-CC *-)(2L?O'-0J.+7A8?L1_=PXKYR9$8$#%MW14*ZZ M5MN"$!=D'<@#<6#@ M-8\8>+F!9W1G1$;E&9$DZ'"V!:Y7*S3=,*X::R6.)GI7II*K6:KL9# =7 S/ M;BZ'<'4.TQ]7@V]P-?DQNOH.Y[W1-=SV+F^&T)M.;\9F= H?SU 2&HE/'5LJ M>@UBSW.J?D;E':%R/1BS1*X$#),0PZ< MM)=B/<>Q?>]2L0SG->@[GX&S_$\ M> \VB!7A*"J@ZT5C!\"%56:$D1W2!\ 5V2+@H$UD-4R\S?"*H60AJ5B*-:4+C=0P_ MQQC/D)<&K!+AE0'S"WW^?SX._C_PKE5XUZJ,_BB1J% E<"*Q3%QF[CK&7E_T MF\"I.6[+[]B;$MYVP=NNY+UED8IB1.6NC+1=1NK[CEM.>E*0GE22WIF+6NT/ MV2!7#P\L".6P(=$:@2V I7I?!2S5OLKGMU0F+,-O'^AR:XTCH7"=_47L5*< M>7@Q!:HA7GE*W(.WPOW/69 +^,L.>GL'O;#CG!TWSPF\^$V0K46NIEX%GUE74D2TW%,V-2U4^FN5(5*W*] M0,TO&)./'4U0U,#!'U!+ P04 " ! A8%8F.2KNTP% #P&@ &0 'AL M+W=O*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_@T1N]N0=(H%N@3Y9SJ +]'%^C+^!:]^_5]ORW5 M@-JL[1?@-SDX:0#'!-VS5$X%^I@&$&P#M)6GI;MD[>X-,2+>@G^).O@#(A;I MU#@T.MR<&-SIE-'K9'B=1KP)< X!&K%$)9:@V=*\5K%+0U"+7:K9E%-TEP;1 M(@KF-/Z /K[Z\3R(TA"-IY3#Q8U:@P%ZI"O=72":J@83DH.,> YQ RE,(O7L M^]]J>'0G(1'_U$U&[JM=[ZNN!U=B1GT8M%3""^ +: U_^P6[UN]U@3P3V%98 M[3*LM@E]^##3<10H5'&4*CHSX+Z*A"HK=;1S+"_#TE5K,<3]]F*3BW&T$[DX M)1?'R.4K"$U! D_JG#<;.V@%E(NZ^3$:GLC)+3FY!\V/JD-1,D_*>6HB:48S MD#0:GDBR6Y+L&MWZENT $%S0!7"U]-2FI;=%G;F^*FI<;4 JH5$<36I7I1F< MY)P1ME"25TABHX"N:J-@A#HQ"KTR"CVCHV/)_!?$MA.RCJ\1YMCBDX.Y&RGM M];!E665>;W'Q2B[>$5S@55652-2S\?8V#G!S MD=<-?W-C2=5??K]V+\YAG0U_.EVGX^Q60_/P)ZXGO"$X\$%YA=9YI:I[Q (U M'S,E[7058>A99YO/PC3ZMX&K>8QU>KE%=M6M,3/$J6$@51B(T<4136E T1,L M()T#N@XA]5?H^STDS\!KMWN/RT8+&:I&QR;JL%$6P-A8GJ"54&P9[KQZY'O8:BCBN M!!4VBZ(C^)F+?#'.IH,8.V2WS-=T\UROYS7PJ$04-NN>D7)0O6Q2O7B->7\F M%52P^1F:"E>B"G??4MZ?25H5H?T90@U72@V?2:J9<8[)\'V=9KN-,@U7.@T? M+M0R79"*6HUMACF&B+=?">R>TT"$5%*.F*7<=1!$FH1Z3RAH"!2H0J4DS@'S M1/8%G4N(O:OG:KOA7K?!^4JH$;.(.D(NFY&.F(@":'-%8==ITM2D4EO$K+8^ M)K.8K0#,E=8,CJDFX'-S"IY!0QRZG_66O=_9=GTNNZ MWFZQW>^';:_3:YJ(2A@1\Q>A8ZIM]Y"O$S6]'-O96S'MC;.#!'B8':D(Y+-Y M*O/O\N7=\MCF.CNLV+E_@Z]&^>%+!9.?!=U3'BJ9CF*8*$CKLJNBQ_/CE;PA MV2P[H7AF4K(DNYP"#8#K#NKYA#&Y;N@!RD.NX7]02P,$% @ 0(6!6%!! MG^]P P %0X !D !X;"]W;W)K&ULQ5=K;YLP M%/TK%INF3FK#(R&/+D'*8].JM6O4M-N':A\V N#H,0PB-M!6G,?GNL[<%828-4@,D7BS(#3$7#3I M4FRIH##0+<-HZR'V(\WIJ[XI=?IDS0,_@BE%;!V&F#Z-("#;@69JNXX; M?[GBLD-W^C%>P@SX73REHJ5G*)X?0L1\$B$*BX$V-,_'9E,&J!&_?-BRW#.2 M4N:$/,C&A3?0#,D( G"YA,#B;P-C" *))'C\34&U;$X9F'_>H7]3XH68.68P M)L%OW^.K@=;5D <+O [X#=E^AU20+?%<$C#UB[;)V$Y/0^Z:<1*FP8)!Z$?) M/WY,C<@%F.T7 JPTP#H,:+T0T$P#E'-ZPDS)FF".G3XE6T3E:($F'Y0W*EJH M\2.YC#-.Q5M?Q'%G/)Q>W XOT>SV>OP#G4R 8S]@Z">F%$N#/Z,S=#>;H)./ MG_LZ%Q/*,-U-P4<)N/4"N&FA*Q+Q%4-?(P^\(H NF&9TK1W=D56). &W@9KF M*;(,JUE":/SZ<*N"3C-SKZGPFB_@S5:8PME(;",/C4DHSA;#:G<.A7W1$L1^ MYVC^A/+CIOA)=0^WF'KH_E) H@L.(?M39G R?ZM\?GG&SUF,71AHXA SH!O0 MG$\?S+;QI2' MNXOQCL3PB0R+I@>\".T5,+B K M(VL_XV%:'>N ;.6L;S2^G6EJOTW3!@=K*).4X-DY22VC<^A_Y:3EDE"%FDZF MIE.I9N)O? \BCZ$8:+(L91(2D&Y.@M$P[ ,)E3,=+Z&;2>A6GX2R9+#/%Z?H M6AT2='\%X1QH:5JHG.'8M% 36,&,7F9&[YTS:*].JVH"*UAE&OMOM5%7#DV1 M_I-$2T;9+3LWK$@T5U28K\TY">=7;.EJR&,7JBZTH@'6W@#KG;=U2J NNVI" M*]JU+Z/,RM+CJ(U=:T64HA4^WVW[61FAYPKL$.A2W3L8B([R]-[B!)@Y-8E?%SPL6E0#VN MQ+T-J!P@WB\(X;N&G""["3K_ %!+ P04 " ! A8%8@O1H3LH# #?#0 M&0 'AL+W=OMG<3 QZ?*,2RG F0&[2-!#?AICP7=\BULO$$UW%RDS8 M@]XZ6.$N*[]U@(:AF\D"M8$&ZDXFGAK!FDE.7_P=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";0>N[[02:TG]3T?-+>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>1YGQIG>D8O/,D%4 M\#5+F>Q;B5*'6]N648(9D5?\@$SO[+C(B-)3L;?E02")"ZR,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=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$.60*+',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&PO=V]R:W-H965TR?#,FE!F#7O9L(@8]OE8193@1(-=Q3,3++49\ MVS=L8_=@2ISYYG\.$. M%:&1A#$1@J3)_@B7\&EV!Q]^_M@SE0Z>0IA!$>@V#^2\$&_=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"=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&PO=V]R:W-H965T7WFVDF]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/9N#;)Q$/;CB-V3^JZI7BMEH\?Y OV":8TZ$A MGE1<=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<,^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_ M]NP?5=1OMS1^H)FR:V@57MHU3B36&"RT)(2LG]D_*_43E>)4:LU:[ $9OJZ' M5GGDS@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$>IPAEJ,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>-)C&UD6%!\XB$U5$?[O#99LU[=#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%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"$#M1S]X>JO\Q, CCP FB;A-XI"QLE(5GE=5EWB;M+.YG MDW\ALB.+46,Q^AW%&5TR/Q*LX9%!S77"571!2>E^6-8&'JN M_BRU%6;'+/58SY*UG&ULQ59K;YLP%/TK%INF5EK+*[RZ!(E"ND;*TBHDW8=I']SD)D$%G-E.TOW[ MV4!1Z&C45I'Z!?RXY_CHJN/"V,D^6*RP75[Z[Q$F+@T_4M%3.U9IDG&>0L(3FBL.@I@7X1>C*^ M"+A+8,?VQDAF-/Q:G41TK@_OB) M_:K(7>1RCQF$)/V9S/FJI[@*FL,";U(^)KMKJ/*Q)-^,I*QXHET5JREHMF&< M9!58*,B2O'SCQ\J'/8#>>0%@5 #CM0"S IA%HJ6R(JT(<^QW*=DA*J,%FQP4 MWA1HD4V2RZ\8]Z/IL(]NKM#P9O3];#BXZT88Z MJY1LCBM,ZIC]'(FOX8]?^V.\KSA)F-VK.L!SG66FVA%F:ZVGMA>G4JIR# MJO;OS+A-W4'X6_T_$EDC4[?.U/V(^G2/Z<^1R!K^>+4_WOOJT_O_3G0\RW4< M]UF%M@1V;,]SO>>7I[K7&\B^[ >FRR1G*(6%@&KGCN"@9:]33CA9%^W"/>'B M8Q7#E6@/@\8*R'6-Z;)HQ6FA%_2-6;R9D%92H3,^";-"7L1P\3NNL8=6-_,(Z7*Z$.3*^] M)DN9QBQF.: <-%Q^C6;_R6DM<"'V/<\8,U*"8S2A_59C#O M&)8R"!.,A$(@\F^+/B:) I)F?"\PC?))I7BXWJ/?:NZ2RXQP]&GR*9Z+5<=H M&3#'!=DD8DQW[['@TU!X$4VX_H5=(6L9$&VXH&FA+"U(XRS_)T^%'PX4G/HS M"G:A8)\HV/8S"DZAX&BBN66:5I\(XK49W0%3TA)-+;1OM+9D$VZ&03@-^C68#.["P>W [X93\!\FT]$P&,,@O!V-A]WI8!1"-^Q#X(_" MT7#@0S^X#\)^$/J?X4T?!8D3#B%AC*BPO&V;0AJGGC"CPI!>;HC]C"%U&X8T M$RL.03;'^3& *5F5U.P]M9Y]%K&/T24X]1K8ENW PZ0/;R[>P@27,@D%K[#0 M_W,\>X]WQDZG#(&C<9UG<,>XQ6R#-1B2;Y2!KX..#+Y\D((P$)CRKU7^S%&O MJE%5]=_P-8FP8\CRYLBV:'BO7]5=ZUT5]1<".W+ 5>F JW/H7KA)9Y(O78#\ M.*D$RI; BS#!SW,1Z^7 K@96'ZRM9[?-[2&QLT__([%&2:QQEE@WBNA&D1AC MA/&6S!*$+T-4;+]*8M,50RSCSZNLN>G/?D M&))/#;]A\AEF2-@RSC@DN)"0UF53.I#EKF2HQ0R)2#O M%Y2*_48]4 YGWB]02P,$% @ 0(6!6$'XVC"^ P ^!8 !D !X;"]W M;W)K&ULK9C1CJ,V%(9?Q:)2M2NU R8DF4R32)N0 M5;?JK*:;SO9BM1<..4G0 &9MD\Q*??C:P) P0]S)ZMP0;/@_XQ^.XW/&!RX> MY Y D<3$V2F5W[BNC':0,GG%<\CTE0T7*5.Z*;:NS 6P=2E*$]?WO(&; MLCASIN.R[TY,Q[Q029S!G2"R2%,FOL\@X8>)0YVGCD_Q=J=,ASL=YVP+2U#W M^9W0+;>AK.,4,AGSC C83)QW]":D0R,H[_@G!,SE17G#Z;Q83UQ//-$ MD$"D#(+IGSW,(4D,23_'MQKJ-&,:X>GY$_U].7D]F163,.?)/_%:[2;.M4/6 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+]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"=7Y65Q! M:65D!Q\@/Z'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>6QEUY-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<#?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: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%&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)$;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 M4$L#!!0 ( $"%@5@K9EWGT08 ,TX / >&PO=V]R:V)O;VLN>&UL MQ9M1;YM($(#_RLI//:DYQQBP6S65,*SMU6'@ /LN3R=JDP850P0DO?;7WRZ. MV\&AHWL9\I08._CS8.:;F=U\^%I67SZ5Y1?V[S$OZIO1?=,\O!^/Z_U]>DSJ MW\N'M)#/W)75,6GDP^KSN'ZHTN10WZ=I<\S'VO6U.3XF63'Z^.%\KJ :PP=E MD^Z;K"SD075@EZ5?ZY_/JX?L*:NS3UF>-=]N1NWO>3IBQZS(CMGW]' SNAZQ M^K[\NBZK['M9-$D>[:LRSV]&D],3N[1JLOV+PY&"C)-/=7ND23Z%B02Y&9G7 M\H1W654W[2O:\R>2\2F5+SX]>FS*998W:>4D3;JJRL>'K/BL3B,_Q1A\C#8. MYY^G(+ZO_D\8R[N[;)\ZY?[QF!;-*8Y5FBO HK[/'NH1*Y)C>C.RRZ>T4I]' MOH$XG#Y;(Z% I*KWF7RB$H<6CQ*EJ,L\.\AW/[!%DB?%/F5M"&L J"& VJL! MLC=! B"G".1T0,A(0:@_J%EYQT2Q+P&DCD#JKP9I)_4]@#002./5(*.FW -( M$X$T:2&#Y!M[JEF05NV?JV^DD]7[O*P?JQ0@SA#$&2VB*.KLD%8LKI*#3'/, MJJJD^'P*)B"<(X1S6L*%%8F(^4L6A#SB7FS%PO< VCL$[1TM6B16GE@*V_)B M9MFVO_5BX:U8X+O"%CR"F?L:2]W7M)@NMZ(N#2H28I,\!RIB(;>YV%D+ET,T M3"$38H<(;R>_8'YX<>TP84R(C1&$?L##^/8MXW]N1;#AZJOF.:R]IFL?8F+* MF! [([!B2=:)&B:'";$=5K[O_"57%\F MBYB'&^;PP(]$EPR3PH3:"O)&B.+-Y27%+# AUD"T]L/XJHV6*SRNA&"'W!$Q M!,1<,"&6 ;R:"TBE8;E?(\[]PK/]#6>Q]7=;*%A M"(!1#QEW'G+8)%F;V48-SR$F)@!-&(#1-M%)+VN MI,YW%]E6PP2@$0L K6S_T2 F)@6-6@HHYA1B8FK0J-70%N#L39S(]ZU_@[,( MS U38C?T5.*]C)@KIN2N^%&2][)AOI@2^P*MS3LWR12=.5&W$*?:O#=\F$2F MQ!+!BW0&,3&53(E5\K)*[XTDII$IL49 N=[+AIED2FR2;EG^.R4.X#U#&#Z,0&Z53,O728.W1B=_RR2CV10DQ,(SIUVX'5JAV- MZ)A&=&*-],YAV1LG;9(LKV&ZUM'%"V*K1/::.UNW'1!L>+SV'?6;3-VRR!$6 M[,MUS"HZ=8."5JXZQ,3,HI,W*)N-%=ZJ$(9BM8ZO_.75-GIV-+,@)B89G;I= M 1=]ZSDB:@/*'5G9RO@&$!.3C4XLFW,?<+YGO*2J$K7VW$F9F'%TZA4-$$A\ M4&]@WC&HO0,PSQW"[8^XPF@:F( ,8@%!S)YF 6)B C)>M8^!7;2!"<@@%E G MFN>>IN^28_HQ!M3/18/C\*6 F.CJ.;%^+N/7GXH,3#T&M7I )&71)C:62NC+ M;;R5A;"U@9B8>@QB]:!=;*=Z,S#U&-23,A#-GHX68F+^,0;TS](2(=M9[I:W M96>\YA#3Q/QC#N@?E3/CVW.MV;;B$!/SCTGMGY_5F\SQ2_&Y&A&^W#\R MPRPT&]!"G@JAK.*M=HS0IGB(B5EH-LQR__.(]45^AYB8A6;48S@0337KLEM9 M.L+=JKK3A9B8A68#=D$RJ8NKEE#L^&D,"S$Q"\V(+?1R=-VY\! 3L]!L0 O! M83:S;!E3F)!FF(5F _9"'(X*EQQRST'Q "X5JZ]*6LQ7W5/TA90GSYARST'S07LA;7;E2E,YYAP%< MOIAC%IJ_YFZUS@!VCEEH/O1NM6[NA)B8A>:MA<;MB^N/'P[I75:D!T^^12V/ M[Y-\'U1,_5!GFFBZH;;UWCWFN2V/^85;)H?S?^.=_Y/PXW]02P,$% @ M0(6!6$#*==&. @ 3#, !H !X;"]?:[_,[';;/;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_((@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-KCY1G)S_=GNS'T75E^.\6??CL,V<;;SR>K3:>._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?[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&UL4$L! A0#% @ 0(6!6.!%AFSD!P 7S0 !@ M ("!#0@ 'AL+W=O&PO=V]R:W-H965T&UL M4$L! A0#% @ 0(6!6#GU) AI" !B4 !@ ("!-QH M 'AL+W=O M!PD 'DI 8 " @=8B !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% @ 0(6! M6(.GW!I7 @ M@4 !@ ("![S( 'AL+W=O&PO=V]R:W-H M965T&UL4$L! A0#% @ 0(6!6*7@9!23' :5, !D M ("!OST 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ 0(6!6&R$,3EY @ 2@4 !D ("! MS&( 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ 0(6!6+V;)Y"0 P P @ !D ("!B&P 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 0(6!6(R/<%/@ P 1P@ !D M ("!GXL 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ 0(6!6)H86N'*! N@H !D ("!$9@ M 'AL+W=O&PO=V]R:W-H965T4YAW>0( (,% 9 M " @;"C !X;"]W;W)K&UL4$L! A0#% @ M0(6!6.*8H(7+'0 :5X !D ("!8*8 'AL+W=O&UL4$L! A0#% @ 0(6!6$..H_-Z @ M=@4 !D ("!@LL 'AL+W=O&PO=V]R:W-H965TK0 !X;"]W;W)K&UL4$L! A0#% @ 0(6!6%"=8*!> @ 3@4 !D M ("!$-4 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ 0(6!6"^I[G/7! -0T !D ("!&]X 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 0(6! M6+P78IM: P R < !D ("!$.X 'AL+W=O+M<# 9"0 &0 M @(&A\0 >&PO=V]R:W-H965T&UL4$L! A0#% @ 0(6!6-F)(R,H!0 MPL M !D ("!V_@ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 0(6!6#^MF0W&PO=V]R:W-H965T M&UL4$L! A0# M% @ 0(6!6#LU@W7H 0 ]0, !D ("!@!0! 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ 0(6!6+&D MZ/6T!@ ["\ !D ("!#QP! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 0(6!6#7>-I]5 P Q L !D M ("!;2@! 'AL+W=O55UU:," !B" &0 @('Y*P$ >&PO M=V]R:W-H965T@( M !4& 9 " @=,N 0!X;"]W;W)K&UL4$L! A0#% @ 0(6!6$U#LL]P @ O 4 !D ("! MA#$! 'AL+W=O&PO=V]R:W-H965TX , %0- 9 M " @7PV 0!X;"]W;W)K&UL4$L! A0#% M @ 0(6!6/$3=7S1 P CPX !D ("!DSH! 'AL+W=O;1&PO=V]R:W-H965T&UL4$L! A0#% @ 0(6!6#B]^"'E"P )9< !D M ("!UEL! 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ 0(6!6*?=%(Q7! 5Q, !D ("![F\! M 'AL+W=O&PO=V]R:W-H965T9W 0!X;"]W;W)K&UL4$L! A0#% @ M0(6!6.T>5"OT @ . @ !D ("!_'H! 'AL+W=O&UL4$L! A0#% @ 0(6!6*B*&PO=V]R:W-H965T&UL4$L! A0#% @ 0(6!6%!!G^]P P %0X !D M ("!QI$! 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ 0(6!6*T,>6LB! !$ !D ("!"IT! 'AL M+W=OYH% M "I' &0 @(%CH0$ >&PO=V]R:W-H965T&UL4$L! A0#% @ 0(6! M6.=P+ZWC @ ? H !D ("!F*H! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 0(6!6/?IG%4O P [A( M T ( !(+4! 'AL+W-T>6QE&PO=V]R:V)O;VLN>&UL4$L! A0#% @ 0(6!6$#*==&. @ 3#, !H M ( !8< ! 'AL+U]R96QS+W=O XML 103 Show.js IDEA: XBRL DOCUMENT // Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission. Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105. var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0); e.removeAttribute('id');a.parentNode.appendChild(e)}} if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'} e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}} XML 104 report.css IDEA: XBRL DOCUMENT /* Updated 2009-11-04 */ /* v2.2.0.24 */ /* DefRef Styles */ ..report table.authRefData{ background-color: #def; border: 2px solid #2F4497; font-size: 1em; position: absolute; } ..report table.authRefData a { display: block; font-weight: bold; } ..report table.authRefData p { margin-top: 0px; } ..report table.authRefData .hide { background-color: #2F4497; padding: 1px 3px 0px 0px; text-align: right; } ..report table.authRefData .hide a:hover { background-color: #2F4497; } ..report table.authRefData .body { height: 150px; overflow: auto; width: 400px; } ..report table.authRefData table{ font-size: 1em; } /* Report Styles */ ..pl a, .pl a:visited { color: black; text-decoration: none; } /* table */ ..report { background-color: white; border: 2px solid #acf; clear: both; color: black; font: normal 8pt Helvetica, Arial, san-serif; margin-bottom: 2em; } ..report hr { border: 1px solid #acf; } /* Top labels */ ..report th { background-color: #acf; color: black; font-weight: bold; text-align: center; } ..report th.void { background-color: transparent; color: #000000; font: bold 10pt Helvetica, Arial, san-serif; text-align: left; } ..report .pl { text-align: left; vertical-align: top; white-space: normal; width: 200px; white-space: normal; /* word-wrap: break-word; */ } ..report td.pl a.a { cursor: pointer; display: block; width: 200px; overflow: hidden; } ..report td.pl div.a { width: 200px; } ..report td.pl a:hover { background-color: #ffc; } /* Header rows... */ ..report tr.rh { background-color: #acf; color: black; font-weight: bold; } /* Calendars... */ ..report .rc { background-color: #f0f0f0; } /* Even rows... */ ..report .re, .report .reu { background-color: #def; } ..report .reu td { border-bottom: 1px solid black; } /* Odd rows... */ ..report .ro, .report .rou { background-color: white; } ..report .rou td { border-bottom: 1px solid black; } ..report .rou table td, .report .reu table td { border-bottom: 0px solid black; } /* styles for footnote marker */ ..report .fn { white-space: nowrap; } /* styles for numeric types */ ..report .num, .report .nump { text-align: right; white-space: nowrap; } ..report .nump { padding-left: 2em; } ..report .nump { padding: 0px 0.4em 0px 2em; } /* styles for text types */ ..report .text { text-align: left; white-space: normal; } ..report .text .big { margin-bottom: 1em; width: 17em; } ..report .text .more { display: none; } ..report .text .note { font-style: italic; font-weight: bold; } ..report .text .small { width: 10em; } ..report sup { font-style: italic; } ..report .outerFootnotes { font-size: 1em; } XML 106 FilingSummary.xml IDEA: XBRL DOCUMENT 3.24.1 html 266 378 1 false 95 0 false 7 false false R1.htm 00000001 - Document - Cover Sheet http://flexiblesolutions.com/role/Cover Cover Cover 1 false false R2.htm 00000002 - Statement - Consolidated Balance Sheets Sheet http://flexiblesolutions.com/role/BalanceSheets Consolidated Balance Sheets Statements 2 false false R3.htm 00000003 - Statement - Consolidated Balance Sheets (Parenthetical) Sheet http://flexiblesolutions.com/role/BalanceSheetsParenthetical Consolidated Balance Sheets (Parenthetical) Statements 3 false false R4.htm 00000004 - Statement - Consolidated Statements of Income and Comprehensive Income Sheet http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome Consolidated Statements of Income and Comprehensive Income Statements 4 false false R5.htm 00000005 - Statement - Consolidated Statements of Cash Flows Sheet http://flexiblesolutions.com/role/StatementsOfCashFlows Consolidated Statements of Cash Flows Statements 5 false false R6.htm 00000006 - Statement - Consolidated Statements of Stockholders' Equity Sheet http://flexiblesolutions.com/role/StatementsOfStockholdersEquity Consolidated Statements of Stockholders' Equity Statements 6 false false R7.htm 995410 - Disclosure - Pay vs Performance Disclosure Sheet http://xbrl.sec.gov/ecd/role/PvpDisclosure Pay vs Performance Disclosure Notes 7 false false R8.htm 995445 - Disclosure - Insider Trading Arrangements Sheet http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements Insider Trading Arrangements Notes 8 false false R9.htm 995512 - Disclosure - BASIS OF PRESENTATION Sheet http://flexiblesolutions.com/role/BasisOfPresentation BASIS OF PRESENTATION Notes 9 false false R10.htm 995513 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES Sheet http://flexiblesolutions.com/role/SignificantAccountingPolicies SIGNIFICANT ACCOUNTING POLICIES Notes 10 false false R11.htm 995514 - Disclosure - LEASES Sheet http://flexiblesolutions.com/role/Leases LEASES Notes 11 false false R12.htm 995515 - Disclosure - ACCOUNTS RECEIVABLE Sheet http://flexiblesolutions.com/role/AccountsReceivable ACCOUNTS RECEIVABLE Notes 12 false false R13.htm 995516 - Disclosure - INVENTORIES Sheet http://flexiblesolutions.com/role/Inventories INVENTORIES Notes 13 false false R14.htm 995517 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS Sheet http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholds PROPERTY, EQUIPMENT AND LEASEHOLDS Notes 14 false false R15.htm 995518 - Disclosure - PATENTS Sheet http://flexiblesolutions.com/role/Patents PATENTS Notes 15 false false R16.htm 995519 - Disclosure - GOODWILL AND INTANGIBLE ASSETS Sheet http://flexiblesolutions.com/role/GoodwillAndIntangibleAssets GOODWILL AND INTANGIBLE ASSETS Notes 16 false false R17.htm 995520 - Disclosure - LONG TERM DEPOSITS Sheet http://flexiblesolutions.com/role/LongTermDeposits LONG TERM DEPOSITS Notes 17 false false R18.htm 995521 - Disclosure - INVESTMENTS Sheet http://flexiblesolutions.com/role/Investments INVESTMENTS Notes 18 false false R19.htm 995522 - Disclosure - SHORT-TERM LINE OF CREDIT Sheet http://flexiblesolutions.com/role/Short-termLineOfCredit SHORT-TERM LINE OF CREDIT Notes 19 false false R20.htm 995523 - Disclosure - LONG TERM DEBT Sheet http://flexiblesolutions.com/role/LongTermDebt LONG TERM DEBT Notes 20 false false R21.htm 995524 - Disclosure - INCOME TAXES Sheet http://flexiblesolutions.com/role/IncomeTaxes INCOME TAXES Notes 21 false false R22.htm 995525 - Disclosure - INCOME PER SHARE Sheet http://flexiblesolutions.com/role/IncomePerShare INCOME PER SHARE Notes 22 false false R23.htm 995526 - Disclosure - STOCK OPTIONS Sheet http://flexiblesolutions.com/role/StockOptions STOCK OPTIONS Notes 23 false false R24.htm 995527 - Disclosure - CAPITAL STOCK Sheet http://flexiblesolutions.com/role/CapitalStock CAPITAL STOCK Notes 24 false false R25.htm 995528 - Disclosure - NON-CONTROLLING INTERESTS Sheet http://flexiblesolutions.com/role/Non-controllingInterests NON-CONTROLLING INTERESTS Notes 25 false false R26.htm 995529 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY Sheet http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependency SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY Notes 26 false false R27.htm 995530 - Disclosure - SUBSEQUENT EVENTS Sheet http://flexiblesolutions.com/role/SubsequentEvents SUBSEQUENT EVENTS Notes 27 false false R28.htm 995531 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies) Sheet http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies SIGNIFICANT ACCOUNTING POLICIES (Policies) Policies 28 false false R29.htm 995532 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables) Sheet http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables SIGNIFICANT ACCOUNTING POLICIES (Tables) Tables http://flexiblesolutions.com/role/SignificantAccountingPolicies 29 false false R30.htm 995533 - Disclosure - LEASES (Tables) Sheet http://flexiblesolutions.com/role/LeasesTables LEASES (Tables) Tables http://flexiblesolutions.com/role/Leases 30 false false R31.htm 995534 - Disclosure - ACCOUNTS RECEIVABLE (Tables) Sheet http://flexiblesolutions.com/role/AccountsReceivableTables ACCOUNTS RECEIVABLE (Tables) Tables http://flexiblesolutions.com/role/AccountsReceivable 31 false false R32.htm 995535 - Disclosure - INVENTORIES (Tables) Sheet http://flexiblesolutions.com/role/InventoriesTables INVENTORIES (Tables) Tables http://flexiblesolutions.com/role/Inventories 32 false false R33.htm 995536 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Tables) Sheet http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsTables PROPERTY, EQUIPMENT AND LEASEHOLDS (Tables) Tables http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholds 33 false false R34.htm 995537 - Disclosure - PATENTS (Tables) Sheet http://flexiblesolutions.com/role/PatentsTables PATENTS (Tables) Tables http://flexiblesolutions.com/role/Patents 34 false false R35.htm 995538 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Tables) Sheet http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsTables GOODWILL AND INTANGIBLE ASSETS (Tables) Tables http://flexiblesolutions.com/role/GoodwillAndIntangibleAssets 35 false false R36.htm 995539 - Disclosure - LONG TERM DEPOSITS (Tables) Sheet http://flexiblesolutions.com/role/LongTermDepositsTables LONG TERM DEPOSITS (Tables) Tables http://flexiblesolutions.com/role/LongTermDeposits 36 false false R37.htm 995540 - Disclosure - INVESTMENTS (Tables) Sheet http://flexiblesolutions.com/role/InvestmentsTables INVESTMENTS (Tables) Tables http://flexiblesolutions.com/role/Investments 37 false false R38.htm 995541 - Disclosure - LONG TERM DEBT (Tables) Sheet http://flexiblesolutions.com/role/LongTermDebtTables LONG TERM DEBT (Tables) Tables http://flexiblesolutions.com/role/LongTermDeposits 38 false false R39.htm 995542 - Disclosure - INCOME TAXES (Tables) Sheet http://flexiblesolutions.com/role/IncomeTaxesTables INCOME TAXES (Tables) Tables http://flexiblesolutions.com/role/IncomeTaxes 39 false false R40.htm 995543 - Disclosure - INCOME PER SHARE (Tables) Sheet http://flexiblesolutions.com/role/IncomePerShareTables INCOME PER SHARE (Tables) Tables http://flexiblesolutions.com/role/IncomePerShare 40 false false R41.htm 995544 - Disclosure - STOCK OPTIONS (Tables) Sheet http://flexiblesolutions.com/role/StockOptionsTables STOCK OPTIONS (Tables) Tables http://flexiblesolutions.com/role/StockOptions 41 false false R42.htm 995545 - Disclosure - NON-CONTROLLING INTERESTS (Tables) Sheet http://flexiblesolutions.com/role/Non-controllingInterestsTables NON-CONTROLLING INTERESTS (Tables) Tables http://flexiblesolutions.com/role/Non-controllingInterests 42 false false R43.htm 995546 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Tables) Sheet http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Tables) Tables http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependency 43 false false R44.htm 995547 - Disclosure - BASIS OF PRESENTATION (Details Narrative) Sheet http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative BASIS OF PRESENTATION (Details Narrative) Details http://flexiblesolutions.com/role/BasisOfPresentation 44 false false R45.htm 995548 - Disclosure - SCHEDULE OF METHOD OF DEPRECIATION (Details) Sheet http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails SCHEDULE OF METHOD OF DEPRECIATION (Details) Details 45 false false R46.htm 995549 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Details Narrative) Sheet http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative SIGNIFICANT ACCOUNTING POLICIES (Details Narrative) Details http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables 46 false false R47.htm 995550 - Disclosure - SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (Details) Sheet http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (Details) Details 47 false false R48.htm 995551 - Disclosure - SCHEDULE OF UNDISCOUNTED RENT PAYMENTS (Details) Sheet http://flexiblesolutions.com/role/ScheduleOfUndiscountedRentPaymentsDetails SCHEDULE OF UNDISCOUNTED RENT PAYMENTS (Details) Details 48 false false R49.htm 995552 - Disclosure - LEASES (Details Narrative) Sheet http://flexiblesolutions.com/role/LeasesDetailsNarrative LEASES (Details Narrative) Details http://flexiblesolutions.com/role/LeasesTables 49 false false R50.htm 995553 - Disclosure - SCHEDULE OF ACCOUNTS RECEIVABLE (Details) Sheet http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails SCHEDULE OF ACCOUNTS RECEIVABLE (Details) Details 50 false false R51.htm 995554 - Disclosure - SCHEDULE OF INVENTORY (Details) Sheet http://flexiblesolutions.com/role/ScheduleOfInventoryDetails SCHEDULE OF INVENTORY (Details) Details 51 false false R52.htm 995555 - Disclosure - SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (Details) Sheet http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (Details) Details 52 false false R53.htm 995556 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Details Narrative) Sheet http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsDetailsNarrative PROPERTY, EQUIPMENT AND LEASEHOLDS (Details Narrative) Details http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsTables 53 false false R54.htm 995557 - Disclosure - SCHEDULE OF PATENTS (Details) Sheet http://flexiblesolutions.com/role/ScheduleOfPatentsDetails SCHEDULE OF PATENTS (Details) Details 54 false false R55.htm 995558 - Disclosure - SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS (Details) Sheet http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS (Details) Details 55 false false R56.htm 995559 - Disclosure - PATENTS (Details Narrative) Sheet http://flexiblesolutions.com/role/PatentsDetailsNarrative PATENTS (Details Narrative) Details http://flexiblesolutions.com/role/PatentsTables 56 false false R57.htm 995560 - Disclosure - SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (Details) Sheet http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (Details) Details 57 false false R58.htm 995561 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Details Narrative) Sheet http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsDetailsNarrative GOODWILL AND INTANGIBLE ASSETS (Details Narrative) Details http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsTables 58 false false R59.htm 995562 - Disclosure - SCHEDULE OF LONG TERM DEPOSITS (Details) Sheet http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails SCHEDULE OF LONG TERM DEPOSITS (Details) Details 59 false false R60.htm 995563 - Disclosure - SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED (Details) Sheet http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED (Details) Details 60 false false R61.htm 995564 - Disclosure - SCHEDULE OF EQUITY METHOD INVESTMENT (Details) Sheet http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails SCHEDULE OF EQUITY METHOD INVESTMENT (Details) Details 61 false false R62.htm 995565 - Disclosure - SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (Details) Sheet http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (Details) Details 62 false false R63.htm 995566 - Disclosure - INVESTMENTS (Details Narrative) Sheet http://flexiblesolutions.com/role/InvestmentsDetailsNarrative INVESTMENTS (Details Narrative) Details http://flexiblesolutions.com/role/InvestmentsTables 63 false false R64.htm 995567 - Disclosure - SHORT-TERM LINE OF CREDIT (Details Narrative) Sheet http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative SHORT-TERM LINE OF CREDIT (Details Narrative) Details http://flexiblesolutions.com/role/Short-termLineOfCredit 64 false false R65.htm 995568 - Disclosure - SCHEDULE OF LOAN COVENANTS (Details) Sheet http://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails SCHEDULE OF LOAN COVENANTS (Details) Details 65 false false R66.htm 995569 - Disclosure - SCHEDULE OF OUTSTANDING BALANCE LOAN (Details) Sheet http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails SCHEDULE OF OUTSTANDING BALANCE LOAN (Details) Details 66 false false R67.htm 995570 - Disclosure - LONG TERM DEBT (Details Narrative) Sheet http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative LONG TERM DEBT (Details Narrative) Details http://flexiblesolutions.com/role/LongTermDepositsTables 67 false false R68.htm 995571 - Disclosure - SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT) (Details) Sheet http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT) (Details) Details 68 false false R69.htm 995572 - Disclosure - SCHEDULE OF RECONCILIATION OF INCOME TAXES (Details) Sheet http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails SCHEDULE OF RECONCILIATION OF INCOME TAXES (Details) Details 69 false false R70.htm 995573 - Disclosure - SCHEDULE OF DEFERRED TAX ASSETS (LIABILITIES) (Details) Sheet http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails SCHEDULE OF DEFERRED TAX ASSETS (LIABILITIES) (Details) Details 70 false false R71.htm 995574 - Disclosure - SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS (Details) Sheet http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS (Details) Details 71 false false R72.htm 995575 - Disclosure - INCOME TAXES (Details Narrative) Sheet http://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative INCOME TAXES (Details Narrative) Details http://flexiblesolutions.com/role/IncomeTaxesTables 72 false false R73.htm 995576 - Disclosure - SCHEDULE OF BASIC AND DILUTED LOSS PER SHARE (Details) Sheet http://flexiblesolutions.com/role/ScheduleOfBasicAndDilutedLossPerShareDetails SCHEDULE OF BASIC AND DILUTED LOSS PER SHARE (Details) Details 73 false false R74.htm 995577 - Disclosure - SCHEDULE OF ANTI-DILUTIVE OPTIONS (Details) Sheet http://flexiblesolutions.com/role/ScheduleOfAnti-dilutiveOptionsDetails SCHEDULE OF ANTI-DILUTIVE OPTIONS (Details) Details 74 false false R75.htm 995578 - Disclosure - INCOME PER SHARE (Details Narrative) Sheet http://flexiblesolutions.com/role/IncomePerShareDetailsNarrative INCOME PER SHARE (Details Narrative) Details http://flexiblesolutions.com/role/IncomePerShareTables 75 false false R76.htm 995579 - Disclosure - SCHEDULE OF STOCK OPTION ACTIVITIES (Details) Sheet http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails SCHEDULE OF STOCK OPTION ACTIVITIES (Details) Details 76 false false R77.htm 995580 - Disclosure - SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS (Details) Sheet http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS (Details) Details 77 false false R78.htm 995581 - Disclosure - STOCK OPTIONS (Details Narrative) Sheet http://flexiblesolutions.com/role/StockOptionsDetailsNarrative STOCK OPTIONS (Details Narrative) Details http://flexiblesolutions.com/role/StockOptionsTables 78 false false R79.htm 995582 - Disclosure - CAPITAL STOCK (Details Narrative) Sheet http://flexiblesolutions.com/role/CapitalStockDetailsNarrative CAPITAL STOCK (Details Narrative) Details http://flexiblesolutions.com/role/CapitalStock 79 false false R80.htm 995583 - Disclosure - SCHEDULE OF DISTRIBUTIONS (Details) Sheet http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails SCHEDULE OF DISTRIBUTIONS (Details) Details 80 false false R81.htm 995584 - Disclosure - SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (Details) Sheet http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (Details) Details 81 false false R82.htm 995585 - Disclosure - NON-CONTROLLING INTERESTS (Details Narrative) Sheet http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative NON-CONTROLLING INTERESTS (Details Narrative) Details http://flexiblesolutions.com/role/Non-controllingInterestsTables 82 false false R83.htm 995586 - Disclosure - SCHEDULE OF REPORTABLE SEGMENTS (Details) Sheet http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails SCHEDULE OF REPORTABLE SEGMENTS (Details) Details 83 false false R84.htm 995587 - Disclosure - SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (Details) Sheet http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (Details) Details 84 false false R85.htm 995588 - Disclosure - SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE (Details) Sheet http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE (Details) Details 85 false false R86.htm 995589 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Details Narrative) Sheet http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Details Narrative) Details http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables 86 false false R87.htm 995590 - Disclosure - SUBSEQUENT EVENTS (Details Narrative) Sheet http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative SUBSEQUENT EVENTS (Details Narrative) Details http://flexiblesolutions.com/role/SubsequentEvents 87 false false All Reports Book All Reports [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 form10-k.htm fsi-20231231.xsd fsi-20231231_cal.xml fsi-20231231_def.xml fsi-20231231_lab.xml fsi-20231231_pre.xml form10-k_001.jpg form10-k_002.jpg http://fasb.org/us-gaap/2023 http://xbrl.sec.gov/dei/2023 http://xbrl.sec.gov/ecd/2023 true true JSON 109 MetaLinks.json IDEA: XBRL DOCUMENT { "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 & 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 & 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" } } } ZIP 110 0001493152-24-012435-xbrl.zip IDEA: XBRL DOCUMENT 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_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:29+!R,''WMKYO!R!%E8"3RM+RRVR8RGPPA*TI+'>S;^,\#8<, M9,@XAB_AM[1S$Z'XP\"[-TG7#.!7:Y(VQR8][1QT/W"^5^MF/OW:H?J9E)6BCS?/MG8$ZBY5ND^ M+Q3DCR^^?9H_\YC65)YZ?^Z?BP#=LV?_QR7HJIF(K;V?X5BZR:JJR.OETQ:8 MK7'<"B))?L:J*5A8^54>KABYDZ&(>< F:-'*OAL5\W[*]7$]WEK9WO.JMD<* M^_9Z'BF6(D4$?Z&\#OATS$/@>S=*; 9%+V;A=YEGP2M4HH6,M \N9#T (NN& MLV0S5<9/(LRWJ$=I;.#%@\JS!Y4U1917:X\HJ.:+\1A8DQ1Z9^O]4A!;WZ , M4(BC:CJ#YB&UR0ZX0$C$HDN$(1T?=L06:6^CHR4]IH0)@[.L1@=\_#V1DZ02 M),[TZDV,F.(0<)6(8SY@L7-H@:<P&B M7]WK)@B0W\6E,SA9WU(;8#_D)'N"XSIF#C"%J,B\I>L0.1 )O@N$@A[JD?,H M)Q/>"R_1&H+ MZ2?ZFG*[92,LM DNA<1,:'>HC-DD( NPN4>*CU4KB]4OFD"5':2 1LX@R68 MY.>@]63!.8N-YWT6+#G>&$L@$##@2H57(F;-V_*[0;MRD2,E.E,2?TA8;&\[ M+?-ST,4 1$62:WPB=5M_E<'^6(V2,.NY(@JL[7_M[ 2?!8^C]\$IO+D/<(._ MQ?X%K];%\;;ZOO?S[3H]LNO=@ MN^![J@+U+[3TT_H;HL-7OOC3^MVK1"&Q^EW[2E4O(Q] 1KY]TC+R$.YYR:CR MX**2W7J#O)Q-A!WGF(\*YR$N$S[<2(E*.D2BLC37]8(D(75=(BKME'%R*>-+ MOE!&GQM5OJ0-C!!'@P)6P_M]'F:MH,>! FFT@QU V%$PDI>FDG%QEK%--$W1 M\#+U'=J]Y49%""":\=GJT4)?J*P1U8L>4SQ"2A?:6,]58?#PV@1X_:4)\/J% M1X.[N?N70NA0WW(62A'<\.-Y>*L6(@!O3UCJ6DU !DA:9L&'L%*LXH9;H[<9 M#!(U ;VUI158G;O'K^#:!$CNYTFT#&(=Z1C#FF*+]4'"LCR= U8RYQ$GREXX"@9>L&*?SD&O#!^ MQLS)M"5%!)I($@^VX*_#Z1@5W! :GM1V@=3&D S3.XV-XPE2QPEA]D.XY1* M\48<>W8@6.H/<3=D",]%7Q'3GJ+)T#0=NWRN0Y*CU;_%MEV2_;3/ MOKJ3^,DBVEWIZ&TOSGLI&C91N')!4/7U\DQBD Z&&N<<(1,:1@JVPNT;P\O% M+V93F1=MC9<"7@JL=QGA?B/*"+'>,8J$[IOGQN%GIK, &?+M6E*QS9? YVI# M>^\7^+#L_H(&^S_Y-.C8[GBX5X_;)L67!3\^/Z^K5K>W]EK='0L5EC HBNPJ M>P9;G('F0.4!1ZQP+Y[B6VI;MXKK<9Y@ M)"&5E]=5107&Z9=&];:[\+N01WG*J5.5LT>1N@57D.E@=^]!LF19Z0H6>@)MEF:0Z2@$,%,N$ MZIL,$..!SM@5:6S8&1E-R7(V@G+TPILBTTC[SF?#NZ&IS!SGJ@9,C4DU=@^UD9J9J*_2P,W*XH" MJ[SW%VBVY/NW?0[F6Q=@K2RITZ;5-5YN%&(W.F[R0E9W839!8,;) )M#,95H M#5T$7O!XP=,4#\&%JVU^R8$&1.C^7&_CEI4R!9@2^%6Q74]#J\$OL#SZ-AVA MQ((DQZ;X),/(5U 59,4SC9PKA"5B/LF@>;EC2OD!JY R,X+#?8*#ES)>RCQ=*;/^31/:B&I*][9U M#D]%0@$\F<:X"RM\S?RT10S=T590-\$Z2\R .=7MXUTQ9'Z&2I%AJF$\1=,A MXG7+(@/PT1U%L2S*Q.JIX)-2HC)']_Q"]$9XOP6"+T\ -?#LGE^T',MAV;<% M\P7X?-=-N1G,Y9BO8Y7 XY=@O_(EV"LHP7[E2[!]";973AK6IN3$O>+9EN&I MF:$]_52.:C8H6C^V,TEUN$_=Y4H:A Z@N!I:NJ":JEZ^\ZQ:7/=,Y9Q'A2:@ MPOHW9CBU+.ZHCA8U7Y2,1PK_G%W @K,<=-:]E[VW.WMZH)5NW5D.Q:;9D31W M4A=/E .E';5CFP:#+1!,M4,Y#VQ+<5[FMG2[VQXT/&CB< M?>T>PTMW8[5_?>EP-\Z9]WV4= ^/@R.3XY/ MO^T?=0\>;!"7 Z_M^9R)QV.VM4LB:\PH+N193(L7[@%I$(>F8N^K<9C9LKUN MZ2U;O]J8Y]-PWP^V6D6$-S55_D%/AU]CD:!"J&AN;Q!QU T%U7O:SL"8NB*P MTPL8QC,-Y:UKV?238<7O]141'_,D4K8W/>;Y:!]O*-(P'Z%+/"2/O?@[IV(U M*FU1(LOU[^E2EIB@):G.2L8+!'.+0&V8$-]:IIV5 MN &.L1)]>/'8X ,;&T4\U+-SBMGR$FM7G=,!L-1U00X =MKPX.#!P8/#P^>$ M5OB^A6,Y;,.;"-M1&NE^*?A$EV^RA7#"%&9P(CY4D,-UJC6+=6H-.;QE!B;! M2%RA/5#302Z9B,W#Z4H=.].]Z>84E+7SB#\4J#SXRE9$J' MHT[2IH38-$M:VC4:GI M5F4+<_G1]]>+(V]P M-BEIM.N:#*'0 233S$19,8U_U-.#_[)"ZUSBS8*-!K6R)JF,-]0N]I%(6 K[Z="?HY M#8?@C%K)4DY<3$4JK:+^I/QRD OJVT3?:75%%R:6!. W]K*'TA$>KUN,9V3/ MR"LD\[,-DCLFNO.4A#UQ)C?U7B!\_\Y9"I(VUD/*I\#&.QS^4N7U:@"@PM#] M'R:$@$3\#4@@L@=RS[WT0."!X&D P:G-FW'T(U2X><33 2KCR/JL4ME;-!DR MTW*KOV$@^#-EN@& MBY B7\H4]]SK^?>)\*]<*6KO^TO5*AE,2V.JFWA3Y5C MRWCZ:PATRA']%6<5D8#&K+L\#8VRCER-NKN>\B;[GF\]WWJ^=2#S*[*AXU1= MH4()+U/PI>HT)>]>\EB.B[FV8"]'>:@EK?D[I?L";2E7H)^'0^>,FXR'PT3& M"3P2."$!AN)=QRW' I5VT\*)F%!NQ%;0>>^U;CWFYXN5*0^5*.\QRUX@,N66!8S.>4.+37Q06S$;UC+I21G4L@A:CD4AXX;*U%4>S-21ARB.1 M!2FCINVZ1DK_'61F$OHL!\^GGD_OM801(Z3D7L7$19SZ&,H1\I_VO#"=WT#9 MSCA2H5(;9AIO%A4;\Y7)GGD]\WKF?0@O"QJPX9"KN2H%&\ $MIRJC(]4)0/Y M4D=5J'40V&=_^VE<=K:0+W[&=5M&(-GP/U)NVT7-C M*R]P\#-#^5D<^-_).7#[,=28GWPH!6>? +'=[=W/CLW'0C/-T+$TK^4IOYGK?+%N=C)M3*7: M;]#]S 04VXQ/I-CS+X^+D2V;&Q&HLV6=W2+C%/=8C4&T%L]+>NPYA,MRJ&\,')WU0F@$"L*GG[Z90SDO-)DK- M=C+=W+ SOB9#B=79.1P0$&E%][29W@WDFQA2<92B]J@T#@Q#SI4F%_!E.1#, M%%"'^N0M.4R;&_U*V66@@X.%7!$)C4:[SN?AYG;R1_<?#Z!]]@YH+D!."/O^+#[1_?P6_OHG$8'_+/S9]#Y>GIT M\F>G^M9KE@K6P"$"[KT.;CO; MY$Z]E>H/;A%,P0-Z<5"R?F]FHS244<1$F20&N!H,",6',H[6KV?;/03/ M/-@U%>S6?[B"87#0%=PXN5 L9D'N%!@54Q8JH**'DP(=-'X4_S0PL\"%Y%JL M6D,K5M-Y'@H:?GV\&.K]P]LJUU"ZEDT0X-]-G<0)>5 MF20_]]/.21FJ-SU"_X-#@,PYS1/TD+%@+&4\2R2%@192J +XE/5BH8:%L-W< M*,E40Q;')A!5#;?45'FX4\QU2X1I -LF053R+) )^>!&Z"8SW9_W[&$.F)>4C3;8]YMBL#LG^5T8M_6_ .WD MY-F&1CPG-D!G77\#_>.W3Q*!L3H2C,E2B<* C">C[&!:(>%C*AA?QP MGW8;49L4.R%A)ZA!?#%(;9&G8N9W^",UFPGB[ARX*6TDN#EKQ 09<9)CGMRE MBS[0 3_.==2R[#=I6TQJKT7*1TPD>K-,&DQ?P.KA7Q52%:9G2YHXE;G*C+EU MQ4!5F7I37=]-)'LGB1@2#BM9YJB M_#F6&2;ZX<#:R(+<.)670MTI0D3Y&J,1V'KP; "%TO!36KRU*)7B!JF'P%*5 M>6YDF$P2;!.FTT-,56B1'U(FAU132U(^8&DT _0D/]%$1IQUGA>V2)Q&>4H5 M;XE&\QG)IL']QNQ&-T(<9=JUF9"48GKMS.'G@?;7=WMXX[L]K*#;PQO?[<&[ MKKS^TK"!9J"_=*Y"/KY#B@DF87Y!U_A0C(,#D#A**RD7B\,W()M;*!99$,*U M.[WI#OX9])@2:#A9/WI9!>!"RQ)C.,]0<[&J#L,.A2%-V:P+ 0/U$'2Z/.4SCGZKROVQ>[#[*NAQ4#$^:%TRHF&E#/>CI),7AP1? MI.-^\&J8A"I53$S?6+\@]216L>S(?M]NVA)JN]W=_=VWSU6/\:C?E(!%8XH\ M3@M\<$=_ %0$#+1,T.!2&+9T=Y'2)[."Q(=!/'^OJU;7B#!(P8=N;'U+IB4G MEE7XP/XS3UON(7*CHO8H=.H0OBS1\L@+LW;#%;U&\!B(L;Y]3MC:@X9S&*K, MS[)%\J(OR'A8: "]TZ09=$[:@PR:OE,X)(P&LRHOW T/ M1'Z$1<.G!R(+0 +!1+L!C."?8^?''HO\6(IYL_*C*6\5-3AXMZB/&0$1 MVFC[W[E(;5XZX''5>[Q7%&LM."!%G%H?$A;;<7TMD]'>X\% 7&*FE#(H3.T= M1@'+,FR<%P5X/<@*.&B=JZ'HB2QH[P:'VD]OW/KZSMIS'.!H$2/<3$+[LG6U M9AS>%+''D82PX#Y/4RP$H"9/]?7N]DR.5Q#*%&OQ6K;ST@+3%ZU7?@76:J8S M\K0E6W-N4Y1^&8V[P0EL)]#Q0RLE/N578WR)\+JP(]7R:\=YJG(O9M M;VZ,X/B5[PV>3$%L\@@NWP>\UW(CWE<7/'G3?$WM\D:DF%GON'NBV6J#LA7F M=1P:M3 H"[;$TIBL4\S4,?,-8ZN4C^R]AAZ:O-?P88V(,54!%]Q^-\\A-=<< M81YLR-6=O(8%FEC==9DS0:H:U;_ V[KX? M]?:%$BBC8I:J"V_>ZP"'IL*AGD>?BW!?4\G>B-30DO4=RRF-X*Y:(-W^,O&. M_4 P/Q$0(L1O><:I[L0D%8GD4L:49?2#ID>K@C+DP]!%A+*7,>,^*1PLMAO1 M4/!^T"'W#?8?*EN1W*%HC^[UN3!GBGOUK\VL"16ZT5"0!AB&X,LWH M%F>JM2J&G78M4:N@=,DV>KCU<'M/7:*[3GK4;1\?=!Q!XO/G[D'G M[#ET?;[7".^MU[7BAOX7IL$8A>+0\J_TY3MDB>" Y29\NY\*GF $5G?X+X)Z M6,:#K1KF.%BRU&D02QGG$ MC2PV)=+O'_L=^4*!1\3O]5.8VVNO,+<-R_+4N MNI#&%Y;<:^94%3^\K0)VXUDLR[]O+OA_ZPO^5U#P_]87_#^[;)*[1UX,1J]+ MX&7_$0,O9_Q2\$D!DT(WDBUJ*25Z1),I?1_',P$3M;FQU/9=4"]^ZQ+PO8#U MP#1_N+#)R^7-D;U-['6J:U[>P?KK5)A;Y%@7(528*U4;Y5GTD6#4&(O:^66< MC5J%I68QQ'3\6WGG"ML.8S(4X9 BPQ@IL:6E]79;-R5VWJ]KP(.)!Y.[O+S# MM0>34TI1=V;E4(X+_TEIIJ$3'G0*3/]>YC^?[\U@^/W9LO*]^Y#NQ:LWG^E; M.OAJ$P%FQRS@E8#_5(1Q0U&'<=*9,!2_) EE*BD64D$S0RG;5^*@!';)1*R3 M?V7Q3"J'T'>^K[* AWD57C \4N2E,:&7LV]'CD&7O9>]MSM[P<59&X].<'K4 M/CY_OA$8STN-4+*:-''S=]W9WHTK:XV:'ZIUU36:4H-TH@=9PS<"M03"M.A;U-Z3 Z<4E^QS$ (:]5;[*@)W2G\!"V)&58JDH.@CYE4<.C MX/X73\^IMO>,YGH3:&QVR2QWGE[U+(7-XQ=$EG' ,[L") M&ZEVZ()$-R %;J>%4Q+=!B43Z5%]9O6T$'8#]IIO4S3?QHRN.S>*@9OJ>Z;!D]!R+71?[_!?"X[\=5U9LA'=6T]3OM,V M9054@^#&E)]1!,YK"2#S%4]!ES*62P2\B][@VYHM5I]R["G+@B2WD^WQKK'5 MN @T MM.1JOK@D@+H3NBNG@@U)#5,EI-R7>F8VY%*&1C./D(;KJCFJ,X* MGI]%'6!4!?]PCO22$Y[SW659'!-0;6<7NI1V4F"-H>,^'$ 7WINV/TO;/NG7 MY)XZ\KC]NCWJ>]1O6)L?.P+.C9$7SHLC;CXWN2#[)JW#E+.U:VXLJKZU>(.I MH=K=HP'G3L&)$ITJ]R-/%GZ!T];1:@1$'X+!NKSP7P]TN\N.+!X9!RB59[5Q M<;7!JBKO_65&DK#9+)HB,<9CG,>XM<6X1K04N--X9CL<'='KUF-%J//B=0H4 MNI-=AU7RY#8CC^VH9 \7'B[6%BX:4%U5EE_5-T)2]2A&PV M:XD98-6D,=B#R-F56SCV.ZL'I;3''S$D-S-:T$KM\%]NT$DR% M2 9%-\RU=\OMI>PL*L-':WKO93G;=HI.?67+^_=>[8S@10Q-#C U&> ,@W:L MKB51/"2DN%QTES=T45$!'.6U)083S2&+"( MK?(1HW,(Z=D2V\&[E[K9)-*Z)>"#5S-=*$MZG%NW83Y&+%5.R?(87!DIV..= M?R)Y\.?_GNEU5%B%9>_JE*L\SE31([\/=W3U:L'2T\QTPZ5ZK&*K,4_+O.3: M>RNF&J-K[RKD\-'>JY>SVX&W< RDF'MCI=7\O_AJ_A54\__BJ_E] M_H[7,QHV!ZX=.PH1/3B!%TY2+/C"> M*B8IM/SMOG=VLC;C.A'=17=RU$3=J M;J>Z+-=&6 8HS8""UUJZ^K:"'M;NK;BM,=5MIR?G%SL7G;.OW>/V1??DV'%Z MS5G[^+Q]@#]\QA5NC>\Q*-3FABD^QZH/D>1952868"]M[#E>J]G9W!#TC+&DCAKFU]>7K)@TA2+; MJWR8H0'7#U^)Q3;@?&0034FTQDUY#Z5"H!@KEV0FH"Z(3125/S?L$LU$)]<^ M2;";9BCH\H$04_'-US+5^1A!+),!E8^;.X#T?5%IIWO-4O&F& 7%A+X+:D/$ M=T(0DREETE6;$NG$8]R3Q:EEK6!HJS8F(H[!Z,%0Q \!JD5QP^VN4E^2)%$ 6KJ<@@[F\)[?FST\G7'3T3-Z?Z[.4K.1>?XHML^<@RT=([;1Q?=SGG0/CX, M#KOG!]W3(]"3SOX,SMO'6NL)GH/: UMH>:RR6,]G#:MR:DQ]_P&H5(X^$Y2F M!RG6.8*$/^7P7U0BUJ+8J4$&R(.L@;H?43:+]E\K4R!,L4IO:#E@;#E S_VV'L&8 M)X-L. W^8O ;U!!+[91F-ME!U_71C;AG5,-2V3AJ!L4P^?LO?"X1L9 7]GK M9=XCRKS&5/;>:6[:H5"A ,,RX5[2K>$:_M!RB7JWU'L\ E3V>40=3["R)L,P MR36R*V83119_,BUD HT%GQTN!;(LY6&&*2!&&83I5/CN:@.O**3GH_)/Y1$9DX(Y7U4W!;H M] A9KKB7(5Z&/*(,.6B*##GC8YEFSEGGP.D%4CT]D^E:YT6SEM)&U+3XCT:% M-GS07JC+%I03<_(%A$@PP#J%Y'I+B2(EWQ,Y487G'&V"2WM$ ,>QK=#4Y"D8 M>EHZ^R"E(T@X7_Y C$8@98 &$PA8/.8O^(8>_XAK$:"3 +$0=9Z JC^[!3)M MX?U(FJ&9F<>9"1+9INVS48=]R=((%WMHY*0R00Q+#-7!TFJK'GLUE#GYZ3&O M@.L]N3Z*T])BEJ)5A26%#66*G;::S0Y>KCZ*W[\Q;O^OW7-\[>WCSLFW-4Q/ M6'$8_^GG)A D][ 53BPNN6TO"9\YM\DWT661J3)QK&Z=Z/!L[?:;&P[W-XD# M('G3S$2NA;60:$@(P#0(#JUSX23<6>%DQ&&U[PU5 J+K=#R=G1E@9'[*+P6Z M&&%W*&C=TE6!"_>G3GZ5>M.9$]XR=1D*41>(>308%:WCT8-K.D*@+#9M>2+* M.9PGCJ:?#%+.R_'Q4[U>? $H89^DE_#ZC/A??4;\"C+B?_49\4UTO]7)UZ=A MY;8P8-(XTPU0VW4,>V!+\BW=$6T5XE*$OTXND$'3]X#-U MX@53Z5S&N4Z)ZN(&:Z\A"K9N$NXN$8EX[Y3+OI&,(X[M!XQ[EB\T!.DZZ^6L MC%\N\]&MF .I;TJ MBFHT1;,\3692+ LS=T$26FTPLWX78S2Y,?6QX!EJ+G=O$OI)0=D]D-]M;6[\ MO]G_M3#+E:/GH'Q+6C7KZD[I",/=3(!\IM?^@1,Z=3&2P MH<%8;TG]J;78!B=76-5J>/R0QJ-[7:H*YZQ">N?B,])'E^JM/YGAL*OSN9 6 M5^JN-VG@+KXCLZ0W[_YQCV_%S,M=-.3WU3_F)OS>^UI?/O1:[W#"[IE$,ZCW M7H_I;>^WTBX*I _EJ2G77_A6KCUOCT'T(6APU]#[F*0]GY-S#1NOW8%9(>0T M_["L3D+XX^2/TZ.L=.LT%4FF24&?XG9#!%<##TX18FNXB7.]._\W[\Y?@3O_ M-^_.;W 2U -X]3O__M+=[UYL;K2;NQ!S=RJ'QLR@]T$^'O,4DVYIC=8!M[EQ MK8.[N1N@JT>/S[N'G;/-C6),\LE1]^#/AUM5PSW-JW\IQQ)$ -&OI+NY8>(U"4YSF@93F5-7DRD. M7N%Z$'#1-Z12!WC[<.<6OG(3*"P"?_2O;5WDI\>B:O;6'CL;]< T46QW8BE0 M&,K444'UU(Z,SPZ]EZJ+57?T^*]WO[YY4S2E!&B1=9Y(]\ M]FJQIT?X_9(S4;WI6NR3Y]&5=?EV;;\IRK93B-W?>8;U&"FO#0H_H%'WP3DQ M+56B)%D\U8V;6!9L\2L&VA=0\5E@NG(VQ;0?JLMP[,&9RN_H6L%:ED(G!UQ MPW';\[?G[^?.WZ>FK\8/\S@*S!L8W?.;Y[?GSF^_BW[F.$/J>N$)EJ_76#V' M>0ZS9+:Q(NV'IZ9349[[HQVXFZ.@5T'W"62[8K,C$LBMDXQSJ=?IY2TY"%2\0AW#-KI((?CEG4H^EL *E8(WPU MMT@ST9:J;#FO3D!QW!F,X*SPG3N0@WS'B!OEG3.EOWT[.WTI44A9OO;U$)>?.+,42^_NT? MBUQF:W&LGV4A3B-KF?P)6D>RUNX$S13QO?\Q#%N"6T^G?JU!M0BS>EFE @L5 MUAU;A35?:Z<)!359SM:C52ZM/J]2DD<9N]><"RP),_^MEH35*&K4-F.I0(\' MI>NL-[W!9WAH?(9-+7+Q:O]M"'Z]4DVS;;S2FK#>] =Q^@Y&P.M?UKX!S:NU MI_#>.Q;9\/K"D&B!%M4J7<^\"\[Z/1CMAJIOLU',CR^^?7IN;/!JM0Z%=M6A MIZD[U5Z]?0X'7CVXP^3U:MG\.703:9XIY\FZO3SRQ_59D[4Z1%;=_0 MFVK>TKBF?'O&_KBF*]2[#\&)+NA]'QQA=I%O$O7C3:+>W;5)5//;."WV7KW8 M/SG\DPSG+Q=?CS[]?U!+ P04 " !#A8%8GFZ'.)T# !M$0 "@ &5X M,C,M,2YH=&W=6&V/VC@0_H[$?YA#ZJJ5"*]E>PW6IUZ%H.B21V/#//\XP]<6*^]=XYXWK-?&M/+#Q#]C.] MA>?88[-=G/%NN[QM3E?6)]AXGQS[=2,47 ^AVTDT>"RF"I;T*ZQ%3'BSZ&C" MADH6-M 03=VGVHT@)G+'N*%%,@02ES^"CZ/U*E67@X)_R/M%[;DR\4F%(I#4"D$A8\H G% ]PS@"ZY$ MQ J;D''"?48B4!H[8HRB0(0PC^@-VT84-B)*-4,3!(+)XB1KD*B)3;\%S]$C M7$5!AF8FXH3PPY7,6R^0G9!<](%AD MB,R0,IX;WCK,R2J8<)XBT((T" YS+$ZHG/'[O5@/0D$5J04?*>RII-L#9!H@ MU7JM$ 4C^D*BVYP=X !)0QS)?9J)H5)_CSUYV&]@DW3'E"[MCZ4L46Z,7^'Y MG*&@2U$9M:#?[QN]5YW>;]TF*I(U.H/!]76N2=GLOQJ\:%WLA+[P];B)#_F2 M<1SW8CG,]D3BPJ5!O>9*$5*E\@4,$]\7*=<$9^G%E;E[X2DA3)/8C'H/#MG(C[@0T2D2*!9X)T13@)R MFQC/NA >#R84XL;#^J=.Z3GIG]I!G,[>CT#W6'+:^:(?7U[Q.EG"D,8OA@%S M1J-@""[9T1&Z^9QF&Q(T'\$JR?=D0W"(TF 858*LQ8<*V_?>0JZSOK*,57W3 MB/A_0K*1+.Q.F('_&O/]W[]$5WW^^;K6SSR7%]Y/L,\O?4$L#!!0 ( $.% M@5@LU[<$& @ "Q& * 97@S,2TQ+FAT;>U<;6\:N1;^7JG_P1NIJT2" MD)=FI04V4BADBVZVB1)T=?O1S)P!WWAL:GL@W%^_Y]@S0("TR6V:,ALJ-61F M_/+XY3SG.6=,FA][?UVQ@1:QZ]=1Z#99R M,Q"JSJCH['^#.;AS52[% !\9,1BZG=/F^>6GWF('U82G0D[KW^K"E[7B?Q 0 MY8T[PY5-M$GK+!N-P$3< G;2.OU5]>VHT:RU<':H2_RX^@<-K_.?C]U6M_?V MS?'A_N'+C3("Y< \WS!W9NM43O0?.M>][GGWPUFO>_GIYF5&\=_,.I%,R[H( M/P!^M_+V39LK 9*U]MGEK\9^R72C901@W0@,]X?H5Z9ZV+#OO0 MN;BXN3K[T/WTYQ\[!SO^^NJLW2ZNGSS$B8C=D(H>O&NPOC8QF&JDI>0CBX"* MWW:\%VKVKI_>P9C6).*RF#"G1SNY3VOVVD5[:Z8TS,R31G&P?W0BU'.NQ>'^ M;!UZ[578CT?XH\TB0!OR,3 #8P$3B-$,A&5)4G"ZXK.!EM-]8G 3\<;W1V^$'VN)&[X%5K*]J MJ8Y*8JHMU'5Q@(?6F$[9K=(3"?$ *L%B@ZE66*RQ7:4=LK!R7"@TY2G+E#,9 M,.NX@Q0U#ADQ1T>%-BO0S!,>X2W#="H<+E@HMU) 0036U]H MV.*]&"%AOY+T+G5$!2)AHBS%8@K;0#CH,-AD**(ALQG]F->?@(&\$1I%*JP$ M'@LU0+IV0QRF'4%$*',4V#C*7J%C'##N/22P_M3?#1/R>G?VEH1*LU3'_P@2 M I8(A09.A#$WZ H24,PT/C8+SX6BF-7+!?P]DEF,AHND<8_*$BZ,G+(1VCQQ M%G&9E#-2"CAR/K!+_2/YQ8):KU")3&(!9"*-3,B%0&"L/62+UQ!8T96 @ M+(74CG&Z&< CU,H"T=@"D8=() @_?A"AHR Z2FOA1V2#6H6(HBB8027\ M>GBR"P'*X4F,5[ 7KD2(E631!R/ALD!>@4<(SU?Z"4#N=98L=H97>W[ R[R& M)2C@JZ_?^S6?,3C=9CXV._/Q?R8Y?@*ME@8ZWRL');;!8M.%#O/AT[=IJT+A M7<0SU&^/K4(!7A^0?D)W>="F,X,-H! :"TOR:A8+@O*-41)U'CJM#U00!1_6A_C%!E.'U=W^2Y/)E[G@[^YE[1>3XBP/&1P%T^ MM%%F1N@LK,\P1!&*.H_"YQL'H,!PB3X#G\"(/!(5R90+?@$]EQBA!M^:W SD67+Y$M_32/\\5^R=K.?T)VIZR.CJ*,D-\ MNI ]66TUP$FU=?B0SE-B@Q:W*ON2<8/]L=T'T"3H(E!P+Y7.T=.Q5G]H0=T_ MFK07H VYG26=2*I[;P)QGIU"K>]G)H\TIDR*6\ /?X)AJ5+ENR>K\; 'V2;7 MM\GU[UB+DU?QTLZ?1HP+=JO,Y1I)R$5>F2LW8H:U]ID'^^OR'"M9Z!E$GL7" M:6-G605_ ]M-4^$%+)G @ MGB@S%?G3"7O;EW-;_MAP&;9].;<.YYG,SR51%E0@L]$K=WJ#'PE "LJCY-G[ ML0GP6XIX0^[1Q[P^?^H/8Q:'E1YDM[52+;S%XF9&P6M4#X^QMH69Z'F0"?.L M*U9!.D-[JH38V^(,V"Q%1L&A^Q'ELG/M :]M7%VJ *C<6+?;:D.QEN7MV9G* MS[O]5^WZVH=@ MF]W3FJV%T3SP!=)FK7OZTAYH8\X1/\(#;0S6L'X!W^HB;A?P>UWS<\*Z"@?.=-%Y+CO7 MO-,'O>*2]UREU+E5K;&5^^)"0N)KS/9BWO3Q\;OY?-(66"WQ_ILEEMN@;51L MH68-Y[>8ZH4%JM$*A54HTRYKUNBOO80__T)_)>9O4$L#!!0 ( $.%@5A/ M_=>Z[@< *1% * 97@S,2TR+FAT;>U<;6_;-A#^7J#_@0NP(07D.$F; M ;.] ''MK,:R)DB,8?M(2R>;"T6J)&77^_6[(R7;2>PU79LT6ER@<23QY>'+ M/??^Y-=#?\\ MZ_^\DVKE6NQ@/W=L*#*P[#W,V*7.N(K"C8A=@1'I#E;$JA>?6Z_-,F[&0K48 M%5W\;S,''UV#2S'&1T:,)V[GN'-Z_GZXVD$CY9F0\]:GNO!EK?@; J*R<6>X MLJDV68L5>0XFYA:PD^[Q#VID\W:GV<79H2[QX^)_-+S^'^\&W<'PY8O7!WN' MCS?*&)0#\_6&N;-8IWJB?]N_' Y.!V]/AH/S]U5P(DZ^ZQ\Q^,_5#H=M<(P+HQ&.J/N0EWK=H.?=_9W_/7%2:]777_V$&X='0CWX6ASL+=9AV/L2V ]M%@': MA$^!&9@*F$&"9B LXTH57.+-7!O'M&*GZ$VP5N-7IE-V*N&C&$E@5UH63FAE MV8 X4G&ZX#+"RWBOO3H)^./RZ6R'Q[7%)[T'[F)]5DMU6!-3[:*$2P(\M,9L MSJZ5GDE(QA %BPVF&K%$8[M*.V1AY;A0:,IS5BAG"F#6<0<9RADR8HZ."FU6 MH)FG/,9;ANE,.%RP4.Y. 04Q6,O-/,# &IEPOX>RR+! T72>,&E:5<&#EG.=H\<19QF90+4@HX2CZPM_I' M\DL$M1Y1B4)B 60BC4S!@UXA4!@63U@J]4T3L)!)VF B]W[2MO MM@/B"0(/WX0H:,@.DII$4=D(UJ%B&(HF$$ETGPL92VP+KD7PR6@:FR(V. M(<';-J#9179( .DFL%;_8SSA:@SL!)7)92%QB >O>>/@:!<"E(.C)%R%2Q&" M)5EUPDBYK+!7(!("M*&C@.).;^F-WE+LC49\F]BP!$5\K?6;O^E3!L?;U,OZL&)/;#8="7$?/ST:=Z**+Z+>8$"[KY5*,(; =)/Z*Z,VG1A ML %40E-A25\M@D%0OC'*HBX#QU6=9T!R3VI8^"8G1:4&I(<"I1H"LEJ*A#N/ M=F1%(K@1- H1(DRO/!6U5%@*^+PO*,F9XD0O);4%1.50!U+-G)-=%9*3IL0! M>B3+Z!%KA(!T1RO..W[B M_EIUD[NH8"Q]!A5%/S,5"7D!;K7B),^Y10]"&4)R#=PD%4.CXQ!\)*1P?IX&]N%%TF) (<'PI\+(>6%R9'9V%]BB&.4=1Y%#[A. 8%ADOT M&?@$$ZF$:]L6ZWU1/%&M?$,_2G7!:DJI\0+X7*9&KTAI2ENP(HH\VU(P(YTX3X!XSYA#5^4!LHS MIQO?""VAC"B-31EL[^ @S F":@N-=;NMGBC6I"9MTB5Z.L+J3RVHFV>37@5H$VX722>2ZMZ;0%)FIU#K^YDI M(XTYD^(:\,,?8;A5*?KBR6IO]B#;Y/HVN?X%:W'T+-[:^>.(2<5NT5*ND81< MY96EEY=S)[(\F$194(',1J_(-N4(O%S8*"UZ@>GF!M"PO1LY$)RZPK5D$Z0WN*0NQM<09L MD2&CX-#]B$K9N?:$U[>+J[]H-]?)\IYKL/9MXNHZ+=63P5J7MVR7.HYX-/91 ==RV\X M!B3R?XG/J\#^GLR_]TTU8WE3J 2H\0<7+ULA>>]1'.U__U433V@!K0#U-VY0 M:QS^%+'#_<,W#RDLRS48:>=TUF(CR>-K=K!WA#7]4:&'&FQG<-RTS3":#7]! MVFD.CK<>J 8>**Q?P'=W$;<+^.07\"*M3;'K?L=,5O4M7+XPW;*'RGP@T_NYR*:O6J ME>LT<5C5"%?FI4D3$P9?I\7M-.E;5L+7KM"WL_P#4$L#!!0 ( $.%@5CC MJGPY.@0 )D3 * 97@S,BTQ+FAT;>U8;4_C.!#^7JG_8:X2"*2^%U9' MFZW4DK)4UZ45S9V.CV[BM+YU[> X"[U??V,G:4N! R0XV-4A08DSGGF>>6;& M!N?<^SKJ%@O.^:#GXB>8+\<;>J-!UZFEG_BVEKUV^F/W"J;>U6CPN11*H=O0 MJ$<:/+:D,5S0&[B42R+*Z4(9IE2QL(0;<>LDWZ?IK:X0SN:B#3X5FJH./-=7 M!Y9$S9FH:!FU -LX*R%9,KYJ/^7=VL;L;YJ"*77W MQ2R..D[-.,2,3':XO!2WQ;?Y[L!V,A2;+UX5O-/O#OX\'_:'7K'0:E8;3JW? M?34J_RK!76*IRA]8EG?DDGG7BH@XE I#)E%$E4]B:@4\I4JSD/E$#\<7Q8(, M8:*8\%E$. QNJ9]H]IW".$03JIS^)69BDJ@X(4*#EM#X%7ZO3JNG50SO:R8% M-%K']7)J2&+H!3+2-(#M/;GE2?T3R/!G*9JG$JT7M%B8$C4C@L:5\2VG*^CY M&C, S7J]^;.DX;\=:7\E,5;O*EMD(J#&>;UZS,1K4II*3OFJ6$!= 76$*%&1 MC-$%BN?+9<173,SAANG%8PT!V LDZX7HT5ZPSA^OD3(,RV#K*$&F*L84F-9Z MH%^)".","8(O<#WK7N/FC--;-N,81?+$1(YA: I $/- .(80?A4.#)!]'EPG MLG.*!(E8[2O[=%B&!55TML+*,9,#LZ(71)<-&;-I1F.+=[F";T+>>K5!F&*EEAC+FBUPE3=(E58K7;2'1 #@&C-HX/@L.U$)A-Q;3Q M,+CU%T3,::Y&XZ1U9)-LN%MC)DS3VRQB8*$)0VV*!2;LVXQT2)A"8)&BL8%0 MQEU .,=*1PF,4O@B0DQQFK%PK2!Z#)CU;8*B5<)3!A)'#$EUO)O$ZELUX-N/ M"J_7'PW@=# :32>]T^'%E\^E>LD^3WJNFS^_F,T-"_3"F-;W.C"3"CNHXDO. M210CH/RWDKVE.M[ERP-\-PWA$YX/)QS"I>S.ZWCN0]?3]?AZ,8OC^MYK"N%B M ;93J%^)\A?0/+%M=K36QG.?227+;'[@S#CQOT&C>HS48LE9\/YDG6&W%M=2 M-BX1C'+H5V&\KV(S/OJ*4>'4AMUMZOCC\D,7QAMVY;.5?P^LJ7XIOOLB_B_@ MAQ=P?7M)(=Z]PFRN-O;=/VMV3. OZ MZ!&Z<]3>G[^;%GR@L>Y>\#D-[8YUX6:N6ZV]33Y-"=RW.'K28M>'*:.\A)P: MYC=/]99 -:-0JL*/5&7XY^78O4K_UV;^)?S__3_OFY/S\?_[W?>VG?@2/ MP:.^^/E-/XJ&[]Z^'8U&VZ.=[2#LO6T>'1V]O<=GWLB'WMV7/M=J-)IO__S\ MZ<;N\P';;"#/LD/]Y?/TI?3PJ?SY] M]&T4,E]T@W# (KA"7&EOJ]'::NUG%MD2W,XM!/_>[@5WCZYSN+73U.M,7$Y^ MI_AUAXGDQ!U>.&[]3O@"?M':T0^&O#MUV?VW\*U^,(["J0\>O85ODP?%5H^Q M8?)PEXD./:B^R+T>/@L#CXO2I^F;W.-.%&Y%XR$7Y:# UV_Q:_Q-:ZNQDSD_ M;COE!P)?Y%YA![$?A>/RA]67N1^(,)J$'C[,/71V,0L7&F+_QV[=S^_.0G\ MB/O1UBUL_(UERW_]_";B]]%;8@IOX5=OY9(__;^M+>O,Y9[SSKKAT8_6!1OP M=]:]<_^C=?Z!_O*UT3K]^MO-=ZT/']OM*_@# 8,_OA^Y41_^/#WY\(.UM37C M6CO'7V'K7TNW_%5O>?;E=MOTHT:ST7S&K_>.OG+ ?]@$_+<]X+X#_XO./-;[ MVF6>X$]8J9U9Z4-@Q[20*VSF7?'0#9PS^$Q\/?OR3.!.?;CN\0DL&C+OW'?X M_;_Y^&L#&'AC_VCG:'?V90_VO_[YX<^OR%J:#5CYVS9\//O/]X\!%SY\;7Y5 MK%2"!Q\]88G6UYL^"[GXVOI*@D.N(>BS)RSS 2&Y4DOM3 TU]I'7Z_BD'_= MS2XRA$^>!-X-[R$:B*^-Y*]/^/WIUY/V!_AI;E_PT9- $']W(U@#N+$Z"/BW M7* 3.&-+1&./__RF"SSBG=5L#"/KUAW 05WPD74=#)A?EQ_4X26AVT56Y+AW M^F>.*X8>&[^S_,#G^)U[_P[9"@^!5]$_7,?A/C(N_!<\=0%T$;JV9$KWT37* MFK,P&"#I;C6:\-\HH+\W6\2J7>#19\R.&O@?X)T^[!+>R]UW.6I]\Y[(]:>W MN;TW[\^^+ F O2P I9S@S?N4%2P6"$"DEHM$T"#A583C')33 M!>&'(.Y$ MW=AKVR1GQ9MG@M[:.WICQ;XK?P>\ :2P>.>['DC%,.8H$!\#ZR-S_4^!$)?^ M!\#Z0+CXS&6W+02/1+,4L)8$C/Y6#M;^L\$"&4H@7?I7(;]S@UAXXU^ &YR" M"H"W$G'@=]&SS^M@=W'G=<,\?MF%:QWR,!I?>\):! M93M[A_-?9]N&L]'8=1-WA.NX+!P_&Z;]N6_RBHU)=-T&!%O(S_T[P"WZ[)GW M=[0WST'!W=F<.P)?=PTJTF H3VL!<,UU@5FX+@(?(0"#!0RQGJ;'R^YGD%I! MQ)X'WV[CV9=)\!4O\E/@]VYY./C B:$]\]1V&P<+H,;DY!)VX<3PZ!V7'/:9 MH#4;"\?^XUB C0Y B0L.%WK"1%]]XSR72'>;SZ:'(IB7W0_NG0M*E_/<(]N9 M^S8OHSX/3X+!,.1][@NX0]02!AQ8+7=[_DD!@:&:YY!#*7 M.Z,J=6\E_,G#/(ZN]QOQBZ;G' M"$IN/(@!K;@S#2NG 3TW+Z#+.Q0HOV6O.C4^?73\(,^;N!VZ'G F.<(*5+EDC.I=O@W+( M?@D\AX<+YT1[S;EUJ!?>VC/Y6//9]M**KW!&KM&KKGTZ/ ;'MZY M-I=\]IK;0<^G58C"%LZ#6G/;E&NVY1EIMC4W[UVS?<]!RW.SYS4[BB?I%SMS M<[+5FVT[R5'L/)D![&V V3JY_V=J*GMSN\'7\3">R!KWYA8)ZWP(3V(.SP_5 MZ*-XV,\Z#^'NSZVL/!6V9Q+5_MP6W',/\?DRW>8G-/)_@#^9F M4B^QOP>MUX.Y-;E'W,7S4/C!(J*_3P/NN60[M\Q_]C$^'WT/5^CHG9NW',Z- M&\L ?H[+F!N#EK&?)RD61^OMWYN'$ST_JVA%6WLF'YL_"+NB*YR1:QRM=_1D M&8SE^8EG*][R@WK+_ 'YE?@?Y^!!^XVY5;4UV_)L-+O?J&:T80FTO-^8FSVO MV5$\1;_8;\P?/*H]@>H-?P'_H\EU@.WTW)+6^#7"W9 MVR?F.^4[.9S?6SH5M L^(W3(P?O F,\!^8([3B@Q#=Q%9#_-!^X'?L<]6,.Y MY7;?#[R@-[YV>_VI(,_O/WPRR,6(TE-.>/YDR+G!?>H)SZ\2+Y4:)VYC.C7. MKQ2>N?!S_@G8-W#1B/D]K#^5V>6/('@1F*/YDR2> GTF4?]P)E:^5%@5,K@.O6'(!CCS*\^ M>78IWC4;K;G9ZHS 3;QY_D3\FS[<*Q9X' =A&(Q0?9OE>"[XJ-T+.?%">2K) M-\P/3OI\<*.JMD$/RC] JO$Q\Y5ZG-$B[P+O#@ X"3FH,V?,=CVZO;(S;[;F M9K1:23F]1]6(?^"=)\:7\=0^!#H14''\B-:S],WMSLT8G[ZYUHMM;O5H.1W:J1N=W,;\H>]Y M$7 1M[$W?_!Y7E1;R#;FCD?/BE13LWY536)^"WDR*H+=FC^[<%F$GMW,)-AS M%5QGRQ3QS;KN#_^=J=M]9AE@LS4_@TDK.HM(\" A4N&^F,XS6O/GDCT*63EM M/0[9W/0S]YE=^N6N( !N;ED_][$] -S<^N53@2/M\ L+'8+L-H1/S\ "F@+? MP0)83)>'2)\R.TUZ[6[9O>*4Q]SG7?>Y31*:.\WY4XF>#^!CA;P WL+.#R"2 MIN#'('!&KN>!8?^PE3C%073"?.8P, :X'_-V#U,%RR]_9W\!2LJ/I/W<'\&0,3.YC57_-LD!>/-A]X MZ-ZQB((_ E99&O"[\T=0Y@!^3F29H^$&*MA%P"^"2,6N_BEVUUC083^_"/5Y M\,Y]OG-S;0H<'A<#A^TP!(E(+K_CSO]\Q,*PDS!B.42K5P4*M_'Z>#H1>,.9^VQV($[O>6B[XN&6/\_!IYSD>O9ASXE2OX-PY@Y&[^":;/CK M;? [.9AHTUBBT^[U0MX#&Q/X%YR3<.V2Q()Y5=0%9%(\E&XI/P;32S'=YS5, M:N[/'\I**DK@+NATR0<&H-(M/2$8V-S?*&U?"<' M\_?K*+AYG^;B?3*X\Z?*SW?P"]O)SBP[>9OM58O["E&Q \[$!7V/S=3?">J2 M#^M8U/K^73_$);O"W6JIQM/;]P($@OP6NX[__$:X(+.R;\DM+-\D J &^2)X MB/H-OU,G(MO 3O=(J9;@^E><6K+J#Y./D;=$;M?EH45[X*6]YT_._YWO(EO\ M;R*E&OM;.XWJ'*DC8%_>X52. M&'.8DR.KQ1].J\*'TUK:X4S5+2MS3#F&WGH&0V\MFZ$WJW:D&>:[M*W[,<=X Y^8&?-?H D_#G,D40;># 1UVT M?>^*-^_U8Q-[_NEMZ2LRP+TMA:XJESUCN=GFWCRZ;!_9_:;CP"-E/9M[]_JQ M\HV_EFN?O:II\S%AYK-X+U7/&#I7R;?^4/;7]34>#QSJ&; M?^_KHNHOSZ-0'I QJO[ZJ?HOA@-&U5\G5?_%K]VH^M51]5\<.8RJO_%7;%3] M=5/U7SZ>9)3^52G]:QP?FW<(S.9BSIH9#57$(6-TK-SHJ#+:&*-ES8V6*B.7 M,7H,BLPS8&CS469=C*;U1Z&G](C=?+Q9'U-KO7++Y^W\O;F8L\ZF5D5PR)A: MZV5J50QMC*E5)5.K8LAE3"V#(O-TE=]\E%E+4VN]4&A:_P!C8*TLA+GT>D%C M(*VG@;0*'# &SLH-G%5>NS%0UMQ 625R& -CXZ_8& AK82"\" H\YBC_7.@L M5<7[%V'T+NF$E2IYQ:T9XV\FC#B]N,K.[_ET@BVE+JX^Y]K_;PZ6S+)=@SDS MY3?"L>'T)WDX^L/?_)"3>@62-IE+M%'HD^[Y43QYBC2[SAS;;-Q M]IL4DK*#-JD%3T?<5XN4ID,_W@E2M"4T453&O1N MN/;S9!-KDQ6@%49SSMQ0T#S2ZF)8VF)=C5;%V5>WXR%/+[BPRU=RMS<OWP(+Z MA?D.AA6J>^.HZEV%@1/;T:6>X)$/H$S=KC$19BN&,OABW M/<"_<]D/.KT)W MP,+Q"7T$=IBR,]-4'IKZ@TN=8' 3;*4_W*BO'Z\N>J6)>K[-<6-H UZ[XMOQ MN*AC3#VEA9JE)8 <<]_NPWN_%;.,9K@3PS-G8;C"]^CP]C;]6%WO1 KP!*)S8XY==F7SY MF4?]P$EW-_DIYQ=LD$'MXDD85CES6XQA'/$P&?M8741*DK*G3;3,LL-,!5?9 M_@WZS(8^GYG==WT>CK/G_,I0Z($S,&@T&QI==KNNS5\K I7NWJ#.3!K0< M"[J@FI-NU^#';*SE.';AE"A\H/]Z/AB&P1W5^FQ T>J36,U,IV%0:S:'6LA< M;Q,H)&!2:#84^<29X/_"<5ZP7/W &!HUF]"2K@!*55V"E1=\= MOC8T>N ,#!K-9%3=!-UHQ,(-B,;.;%7EMVSPY*'F,\:;L];>G)7V)3-V]BKL M[%5>N0E>KSQXO/$ M'Y5L^=5];)W_/BUV_\/>OB[WGQJS?^GG7T][P8&AA_SRNZ M95/2L:'W:UP]Z^SJ>7$T,*Z>=7;UO#Q7,%[^#;KDI]4X[!_N-0\.CQI5OODS MUW;PO!(W$\_LS^"L(3CXF) 7*FYF$*ZDQO@+DQY3$5 M1IGUZI.C1$JS,%C#SPXH.0G"82!;$E5Z7IW#7= >>\P[)6 S\S8>W>Z*I$QS MV5)F^C@>@P&KPX#UYQ<&6]8'6U:KE1H,6#T&K+%*6IY^:+!E/?C%BR$Z.$N>'OS(OY\9BV5&*"/+K_#46$YGZ1 0RO>!AG)P![=G4Q8#&=.!\X ME-6@A;ZU%T.+"^8')W"9KQT3\N?P2BY_8B+X:\>"*0>RH>B AN[^UD[#\(+U MXP7Z;I;JB-K7CJ@<&I@9OPN^U:)S:?_ISJ4<+BS#N60PH/)T/N]'@UE:#>PET*#)N@P[KC [+Y?W-PSQW: ]A=]SY):#R*_2" M5A8SHB;-%XB:-"IUI'EATUBJ M]ZC 76YAH[TN-8$2JHFUJ> M638U3V]CD&(JV:_\GM_XT M[@7BW*]PP'7J!>>WMC)>WGBZ5:HO:7F2?L(];_#AI?!A+2,*!@LVJW[S@7JL MC4JP?Z"T9BURYM?8YIM6X6WP8T-YP@,UW>;.C:7_4!6WP8]-LPNGIN&:FU[) M32_=O],T_IU-E.WE&;849?W"0@?[VC/_6S[0_-EU/.8[%)H5DU]?\%&[%W** MVE87+Y*.<*[/+[LG(7?<36THS5!:%2EMA9%90S.&9JI.,R_MUYC<>+&;Q$W@Q7AU M263H87*K,M4L%D'FLM&GGOY"*6(I;**BPJ38>.TB\/&I,/ \G'T'SX=<1)M. M DE6NDP/QBE@@8]NP'QF^D.'8S#T9=0=P[H-ZZX$8;R 3C/II3(&P&/H833_ MM=+\5^S5-?1BZ&7]Z:6:?EQ#6X:VUI^V5NVY-51BJ*125%(U7VV&@K23ZYK? M!=X=]MW*X5WUJ\L=%G'HPLOS!+.XX&ATH7WL6@D?2R,'#-T M60D**?8#:3RC'TAC.16?C_4+,'1EZ*H:=+5>W14>J[DW=&7HJAITM98="HR4 M,M14%6I:H5/>T(6ABRK0Q4M[O5\9!1AT?!HZOK2SV;B5UPA-C8]WQ3[>J;ZH MZ4M2 W%VUV9_;;D&7.-1.$M4$-2KD_E-+=A7&PT8&O-TA;> SHM7>&=&XD=\=@:YEX?<:^:S M6RU)K06O-YJ/T7S60O-98P&SX-Q+0T.&AHR3?;X,&$-#AH:,9]]0CJ&<]:&< MZN1/&AHP-%#]&$8KWS?QF3G$A@(VCP+R=[LR_%]R!]%6TD&T-64NE(E?F/C% M%+7^R:TZ6\MNU3D?.P>A5YB467W$-HR]1+4IO>5-9?&/IACGB6!&FJDB32Q* MUK]Z^C/N5D,_AG[6CWXVT-5J3.RUQN3JF]AK[F8U^&_P?ZGXO_YIXFBM7?K< M4,#F44#Q=C3>=(A>?S&MHL.HTN);4L,;)O(N, MMAC*,92S8,I9B^B*H09##6M!#16.L!@:,C2T?C2T@5$60SF&& K;! I;SRB.R7&>=A"O.5OSVNT,31B:6'>:>(&V%#-XLDUIP")-Y@U/ MQG]>NHI!LCXDG;/SDQ1)=-B;W%X]7D-.MKM MK"P4DMM].=95$<$6=-LKP&6CWQFT?$5H65WMS@CAC1/"Z^"_,VBU86BU=+=P M^3S:FPAXHJAVZ&/.B$#Q"%X)7S$(L&8(L'(.L!'5"W/CP*JS_%?.!PP:K ,: MO#0WF-J4_#5AP?,[LV\&+S!(L(9(L :! M087L.;Q>KF!083U081VX0C_D1D043N(5C#/HCCUQ] M3#CW[6# ;]E].X[Z00AP7[!!H>V^QKO7'XX/7<>&ZSK_7&;U#(O9X[+VSW MM=[ZA?N:6'M^MZ_OSM&K'8U?PWT7=[IQ=_U8??A)X(O8P[=5N!&U"*-WMV[D M\^X=ZX3,R^][XD]ON0M5[A(V^#&ZZV4?K3%]F#H!6/.-Q)V3UMW"5.Y>&&)A=\G6O,CA]& D/3 MKP()"ADBAOX7?/6KF$=@Z+>*ESC5(C#K7'_C>@H2&)I^%4A0B/<:^E_P MU:\B:&_HMXJ7^*B77 <7J*#HR[')V)+/Z#"X\B"N/#0^/3-T\M.GD^KB":H4ER.?AZ+O#G.C-,5R8NJH9H,5&^$AGM)=7L[4 MV,2++6YMXSAZ(9GB88K57R<'177,\-A5'-I])GB[%W*.O]DX1'@NA3_%-$&K MY++;#D-T<.%[TM?/>N(KPL\5Y(D83#68^MHT)H/5!JM+^>\*<@(,IAI,?6V> M*X/5!JM+^>^+#_(JF*6O&#&?;*&_#HQJ>3M]I MVW80@_IUS6WNWK&.Q_.H26,G3NCO<&[51<.DG#7P;?AQR# AX]H5WX['Q]RW M^P,6?LLG^TP[F85@JLPR_"L(DZ/-= 8J.?*-0\?'1'[9(3R*M%5$S(5CPII1 MPZN2]\7D2,-=#7>=SEV7;E!-#7$9[FJX:X4B6H]&#/XXN,ZS39\$(1EN;7(ZS'L7!]+H0ZQ@S1Y [6"/^9T//XY*K]JM S MW;!!S_5'S\HCH\&/Y>9#&>GZNMC76BI_4]'32%>#GFN,GI5'1H,?2]*^T.(/ MQU]/VE7$"F11"49\Y$$O9,.^:^L>Q6IS[T[:1LEZA$T8-##<()$6O_ENQ!TZ M49P,TNZ$ 7.J*SL>00^4&0_LV+".F30,@S/K@#/KQ6>*^4=&R"SZ\E>2JFNN M<8G7^'(USNH:?[O9X&O\[>:U4*.YQFI1H]*G=A-]BOZ6R=JYB3N"_QT#X*=W MB3MCH^:1)3Z=_$XG.YZ5'L5"W(Z5&8FV^PS%3F'4\HR!9R+O!@S&6G_479?9 M7*M'W!CL-,+:WVX^%'%MP)F(0_[>%<%NJWD @N:#7DI_E5L?URI?_*;/0BZF MK:\V3\\\\P4 VE7Y2^CR)P\4?WD1#WC(HF 2MV;?>Q&\DC4S;_S _6#@^H^\ M\]'S*+ZT9%G]=7;[CQ_C%;SBX5L:PE^?BP0J&#'M!9GPQ'/1X*3]*!+#(\]< M7/S=C::M'D?A._Q^IJ5_>NO>OX.[#>+0Y@(^H0_ZG#G(CA62_Q3RW!U]AOB/*E?_^K^9^X\>?W@[A73_]OZTMZ\SEGO/.NHX]OG7% M>MS:VGK_$\"BH9!K;T7!D-;7+]OJ!!$(+O79R'6B/L+:^.Y-[M>=((3MR5\? M>\S^9NT";"+P7.='"S>X)=Q_./P25U$/ZY7E\\WM/?V+%'H\*_7_F3V\S6UB MZ4>I#G')+Q%#YF??L-5E ]<;OWOL'=G#A?73L\,%I\#>"3S':AZNWP8.$3UH M]2ADON@&(>!'/ 1Q9S,!O.NGSON87(\U0;['G]YVWE=VI[2=F].3WZ[/;\]/ M;VKMBP_6Z9\GO[0O/IY:)Y>?/Y_?W)Q?7LRXQ];Z[;&E]OA'^^:7\XN/MY<7 M]=J'[9-MJ]78VSUZ=%^&PI:(=V>7UY]KC1O,K=[B[M?4AL..! MTNF_VNC2 :.B^?4K_JT)__WZ3["S>Q_\TW0_-9JP',@W/_!).7)M2RFBU[Q; M#+=%0>H>>B.M*69'#;19]MY8/D/#!@!XEWW_F_?-QM:_28:F[T@19Y-P*,*Z M WB7Y\&GMNOW?G[3>$/_'C+'T?]^\OXR0CN1O7;@>6PH !S]-])]?HK"IZ]_ MQ\,(_5;ZL$ )4(K43Y'S;' ;VWNNG[^%O\"&=KOC15Y#D0):!0IH^SZ8EM=\ M&(11.26T_>,3'MY<_?U+]]F4@'*.13^_<>^C=YT@\#CSHS#F!1+9+R.1+("( M54<'N_L_3J46]4?DS'$_2[Z1]L7%;^U/!-[UZ=7E]:UU]=OUS6_MBUOK]M(" M<7D+,M%J[EB7UU9S[WOG!^ORS+K]Y=1*)6DJ1=LGM_AU\VAG-[MY^+]0JNI$ M X/;NU#^Y?=7_[I10>?=Q:^M8EM'6:W-0W.-^\_<%MZY=!55EJX MU739,_A$E&^>__NWP:_=L_OCWOYB%(VCLGLK@/*&PEA3N>C#S+52-%EE?G)Y M74VXC>KW!-4BKP\N4_4[+AH_Z(%PJ7+X ?7O^-N5_:M[Z8F1MTCUK\L\4=#_ M6HU2$ZD I=(!=RNM ]Y>MR]NSE'1,WK@YO'MDV P< 5&\FIG+G"]BV![0E?8 M5<1X2K$W? SPF.*HI1K2[[]?[CHW[-,79R%*0JN9);4B#!ADQ1C=WF[CM>D" M:^_6RBU&;W.X'<@&$.^L&*R-T'/]$M6\E4.X:]YS!;J@HPM @RF<_^.1>W%Y M\V?OPV)<8*W6)-+EX0 3ZM/IG^?'GTYK-Y>??D,&>&.=7]R>7E^T\1_M3W7X MY\GV8UA959_9]Z?W<%8U/"0KZ%IAQI-@WSWZ;MD7,LV6EX1Z[@.7&2I&0UE])S)_[R1P M^%?G_E,Y#_GUX_E_?KGY8!\+,$LCS&CY^[_5 M=QV'PQ8!C):+H6=@'3MOWK<]$$T1*]+Z(K0]=E+@-X,W-G/XBSL,=_]A_[] MP^(-L%70X;I ^KW*]0L)P#S6HF'QP\9C9'7NJLJ0;B3J%,7204XLM1TGY$*H M/SZ!U=0L%TG-?_]'L%\'?Q_L[*J.<$_GH9W@8C?TIXZZ^_]L[W?O_]]LQ=#.WL3Z6= M%)0W[V\9Y<67!^[DE3RHLJHE21FZ#*_"X Z4GBE^DOO6X2?1^>+O7#U_BQD/ M.9I![RC[;PBOQ;T68YBM@ZEG4 X8S7-&,/<*[UD58=6NOWP[]/&^4?W\N-H M8;M7I6&E>S^GS"?.=.V7$T6M#EC.YJJQUR1G?W;D+0'NE4*>0[\-ATSO=_W<'- MSA<_.J2PSOR<;R<79\^^'PA]M['SPQ0N-[$%;4Y]"FSF7>$1/.38.W#9??3W M\8B=?%O,-G(QS"(,;]ZWX&>MHZ.]%88P#?7D@;\!61&ZD,@=:QB' M(L8@5Q3 +Z67L=GZOO,#2AK,IVS;T;N*[MA$N9X"^\[^=PO-LL%XDU99.+/[ MENTQ(18<,ZJNXJ\QYG"QIQXR1&("_&8\Z 2>.?!"0&ZQ>\#,B1R6\WN[CW/I M+&"DH[X+GZ3<=N6FRC)MRX922)2<&3=;'>(!Y0K)U=Y?9X/_B+^_C#N+44AR M^2U%&&1:6.!+NH@"^UO=^E=CN]%H6D,66G?,B_D271;K:3XM$QETK9_B1Y(5 ME6/"7]_N&X<[3O#/'XO)=-K9R6)"#@!JX&'N>8'W?%0@^E/%_:8GMOW1&HW/ M_O/;G\/+A=2;D,L2>6Z9OW)GMXPI9&$$!O[EYI1.MDTP,/\I;B;C %A?$Z:7 M,V&L"[!.*[KM2M\9ME"R,:NE,[;L/@?]#>>C6:Z\FDR6I2LL9HW $-OZY@#EG N[,@2]$C)X=)BR'=UU?)F%BEPYKM[&G+SG%#;SO[8J>5D7!_@(4J2I# MIOK:I)?_#[C@?^/]WJCK/:?;G9*.=O>%??G\Z\?.S8*<;R6Q_RD @6 (IKGB MDCKH2M[5J^$F?A#!)W_'+@H)D U=+ <)J8Y)E N-'Z+S#U>>P5)[F<[2>T22TJ8#TCU]C MB5_-@6_]'CTZ#+G-*=C4;%E4]2ZL[V$],% L$=M]2_0#+!.Q9$M%^ V+BB"/ M -P)-D4_5J#_ *J/[UC?M^36.F#FP/>=OV '-7B>'H4?(11J'6J#1T 0D$Q$ MUE'#N!&$1 !]P"UP\#'VF]O;/$['HZMXRXP,W6K?4]GO?! MCZV=UG9B5KA4Z#7$0B]KL61?*Y*]!#V!.R%K+GZ8)-IB>5!R-'@RBF:FU 3] M?N[O[7V,/^XO)B5PIR0EK!P>0[1K#_QT[=IQA>T%V)84"V38JX]JA\1390WXG#P#E M%K-MD#T2'0BQ$3%+/P4\];=*OD#,L,0 Y!:\*-1:2\T.!D/$&$(<"[ /CZ5G M]<)@%/4M]>TV;(@3=!J% U\@]B&BMQH_3H.1OF[^J!^;>$!]7Z^I!R; TP#H MA9 8U;-30-5/:C]60Z^IW1YK3SA&0[W MJ@_Z5"FW!$M>P7TDAJ%_^9%^=")_4T[:-[V_3L.+?W=._F^AI%W2PF^WI*]8 M*:!/Z>)G4EU69,-V:],M1?1S2!/7>BP.BIY5\J>"CHV^E2BP8B&M3-@ IP;) M4=+E43LLT9&)[_+&2!XC%UZ-1.$#^ $:CG>N()W=9[[M,@\U>:S_1$AQCI_# M0D>@]P7G!TU)T-GYGOU0:C$:!V!5/">90)M2BC#I&;T'+(HX^MGPIN'2L6$: MO)[UR.^6^.V8$*!QD --(0+O=CGYC5$5J6&W&_+213ST QFZEAN6-AAL.S6Y;W'QQ30@TVF.U*I9!T/^'(&G;MN.*B1 M_WX([V'X$/H3,4?$(>A8[+B1@B'!7>L+'+OV:4^K\CZWNV$;?QV$[?2\SCS6 M*YR-O&/YZ?/VKO71)DDNFG@[G R'SBA+ XJGW)22%2"/6@*'6$\N[IDJ3 M+-FGY);QGP=%<5.3U9M+-"(1>&&*D.D,+NW" 6 MWE@36-E;)Z-A'R9:O_LWT2 ZQ75/DK=-)ZSQA?=1Q$?C7GLQ+? ?(*R=\O[P MT^"=65.K J)6D;8>EH?DTD<:"$"EDFB<8K>FQ0R]D!Q)@KXH-.V @ML@&[VQ M<(5J\(:^ESN^U6&H9:$>QGU!3+>&@6?XBJ)5R=NS%)@(5Y[T!@BH-T HLA'L M$'3".^0+"0A*\\LR#!40WVUL-QL?MIK -;9K);K M]R7)TKD@#?#]'][EU)6'+=X;7%X;ND[G;,J_ -*S97/2DLZ261BG M^K%J!=:YN$K H%(H5D&J:)-)\&OLB1,M:4$:TMP\JN_L[M2;C63^C(8L\S6LS<'1OSDA*Q\R88LG:6J63DF^S*.R,L#B(&H/W0=0O_=QD[KZ.L_ M^V?]+X":[/FS7[ 2Q7GFM\?C:_W+ M6X#]V(-K+%=Q.K_]YW@W_J7_^?+9&@X7-AO"&92$YTKGOCT**<59'RU@K\+- M5A 9;_N\%O%P('3.U)G'[]V.QW7>E?[\))<[E7P\FG@P%LDGF52L( Z3!"TP M+&,A\X8)X_$O^K6UF\"+I0%Z+CVG^ _FU>&?]C:MB'Y+$7>$Z[@L='%SL>]Q M(91_AK!8MA\?N2))LA;5YVNSCZI_^DCZ7%N2W")9T*9.J$\FVK_P?/I*E;2N M FER6(/'_B/\&I.?4<@TZ0XHECV)'/D+GH8? 'Z:69C-)"QF&N87GTP1+*02 M3EY$FCU0,EDO?[0>[](ODOA\CA#T*>GXL X.2V2=.([7MJ79]^;%]_.+_X M:)U=7O\!?]WZ='GY;_SWS6W[]O3SZ<7MS7*W65T-27WH^CCT8@GS,6^QHD*. M%[>ND]AQ6F*ABQ=Q.K(ETQ0R4X&5\^=[I1KEUE%*T@_95J#D\<00)BQS IH1 M,F$R&3KD6&R#&P[ ZKWC7C#4X77,W1B&@1/;N$-0)C/!-=BO(_,_I($;6JSC M>F">8_$-0 L&][CH+_9[<0Z=(?/Z14G]I"%"MT^'0Z&CIR?(BTU/"G,1(&% MBJ>,VK3K!U[0&]>I#J[&$N5ZP,;%@@>L&RI^)N"L/*?X*;\?ZV!=:$ MX _A'>C^-4SDZ<4,G?]DA\$2YA(T??O N\.-'A7?",MW\9^ M] 1A8HQ44.(>#"4U@)YY="T<%R,&,5>I(*R.'V(( M):H-58D= ;S5 1SL8 MJ)7 /H!?8)['F!: #>+1A2[5<';!'+9&^ (,5B0'3LD4N*;-J%13$M3#!^#$ M'.'RT"X8Z4)N'/]"73@L%0RXG,"&WH-PE]$4 S0WP+)!Y9:E#>MP EQ27 ML(''PL'A["8' W/X&ZRI ZU$7PS^P 5[4;()B@%&25$;+2I+1<'0AT6WP;:S M4',BOE"3-:@9 D1B0!)DE%\C"5 >@(?!?P"'@I".=J G#$&^166?X7$):9/J M'SMX_Q&FS!"V9$XX.&5T?#CVP M$'!KF?0:CXW@J.$D*=4L8M\X AUT/"W>D6-22 >87CQT%(.1&9,4L>].E?7U M-*] 4'( ;E&+[DP%:UUS>[A)J:X0 W(LVPWM>(#.:1NE@LI/H!7E10'M=B,5 M/R;0J&A5:D\UI86Y.J=/GV-6C\%+2I(UTTG+"Z7K59KS+6/.&W/^!;1M_<%"!0Y[O^@&JE@Z<66G@[%/D;&.7AV/4 M>T0?5!TO'G1<9N5F[_K6KPQ4)S"=6OMU=.4TMZU+W_H,%G"S11\@83LY2,CZ PW85VG52G,#38[>'!(0*H/AH-YH M-/!_M?+WFM9OVW?R)AQ<^@&@ MNN>Y?H"6"+J-J/L/\[^%\3"RQY9,J$8<^A#XZ#\[R="DAD5^I>$AE/S7_G9S MSX(C\HAD;F'5\RO<+[.5U8=OJZE%R9/*J6W@"-U86Z#IQR3@^WR JF:Z[]NK MMDC>)$<^8"4#VJ*8#1X([5@5\#/<,A +K6D-W2&\@B+YRI4\Y%CAQ.-!O:9? M5+> /LAK10X:UY=+D-,&;#+8";R?K'$ *DCR KC?)S.ZBZJQ!]>M_$SN .OR M8!]A,+3&J-!J3Z!R(-UQV3JP'\!22/HUCX&U"US.X1'R$^TB%^B! S,]+/JD MR"/D.@0;V>%8Z*4\!I1P"9M%6WX$JX.9'(PP2SG)1QC7K0OF!R>P_1PSM+>3 M$]??)_A6D\><\Z8N"Y.E:@2RJXWV,]R:GS MCF[!/!6$25AMRDJ1!;HB070*?\CJ4B[C!,AW07D"$80 08FF*?=KRAR$LL"(R,@!$%A(!U&*>T@E]5,Z+HE!R4;4;1FUYHREE:C M3O+HFC,O&I,H0NT"A (.JBC77:;),-G@DEJ^HE0A#0V?^\Q])T!L@&>VLY_4 M8&74G3NQZZD4!A6RT8G[@6W'0W<3LC(W#8.D,=5J2?2YXF$\B0^/(A(9\8DB M#%\C$APUM_CK:?"%?"T M%O(!D\8*@8/0*/.?>C63E@Y&%:>MA]OI62&99$K!\^)2MGB@T*44F0,>]0,' MK)41]HFN2W:+IV^Y40W[-V?3?C? MVLC5G/@$R;+3/-#Z$(DW[?_)?)XZWH!-8Z*B3/=*#2[XR-,^0YU8E=8^"NL0 M[4"40*+O#BW5ZJH6^](!Z.!\4) RWU^2AV/9!IF=G5*PRQMC03G,0P$ M5ZEHTB%73ZQT2T'AG3V M':Z@9A2A[!Y3PXIL)8*5TU3^3*3)23F(2L&HNORM(@G_P6LR.Q+3BT+,/,-V MZ3%E;@.Z2GUWJZ#O(@)*'RZB6C<.*6L)IP[$0KG'+P)8L:GC4X_>?=J*B&4I MD;!,]NKZ3=:\I>E?N@V24U>3@U2=)1$B6O<=%='56=DROI6D@BIJ%#RW+X.$ M*T#"RSBLC3A<0D0NM]%HM-U5$4>A8PK;8(*8NUEZ9@1>Q95RFF]$HD\%R>$G M%\N4PP'S:E>!-V8"&2+%-\N"F#^]=G8E>I6# M2C4I*.^D]PQP",QTQ*X:WN*EZW4I#4#M/9-0D/880%RA_ 5I1*5Y#8"?B%-! MG%1H@?4-NH]N:J R'<18@%XFL7&Q)EL&HSWVKXP8.[\&/=*#.%;D$?N[?N6'@JQ!NF RB B#^X&#ZW4GU+2T) MJLFR'&N"!AT^Y#)_274T$D-NNUW75IO+5LL($=@N*:5)U^3 ]2@9IC13 TZ@ M&S*;RA.Z7NPZHI8>.%4-!?>NC0"">NQAARN7:A/Q>=@L[*P;^[8AM\J0&Y6B M)OD$<'_GJOXJ3WXE^*FQ(A-FMD.@*[!5W']D^E-'%>@Y:0:$K/A0U2RZQK.& MQ36$A [WV%BO8Z53TCH\&N&@T6Q,6Z8?8=T7.>@%NB94$H4 ),?D1ZS;26!" M0ZKP>WPN6:2&I(!E>N0PI%I#ZABN<\) \+FB3S%PJYV6Q-"4-T%-S;.DERDH MI1/D+C$-6)JJAXD<,] $ZE"X4W-<;-GIT1EC6I2L6$WJ7E62E "\0J)GZ+S) MT++#\1NF Q245^7'F)L%>Q@D7:]Q<\"M!DJ&4GUJ9MI=%[F![+1.*\#3D4KG MS.=4I?6C+(M%.ELL>]/ Z3X465?FZSKN(9.Z%>K^>0"(#+,PXNT\HK!F)V3H MDTJ+JD__W&HV;C_7K?; %4'8P;]^^G+Q)_[YN?WQXO16?ODQ#&X_TRY^O_P$ MGVUC/[)O7/8/3D^5INY)LQHHR*=J*!;5:R(8=SC6U5K8@ZX.6@YHK@$2I8A[ M+,1YN#(A+8JH)AKH5G[-O$'@J^PV>6)]%U04V1QPB-NS0YD'9VST:O#.\S!4 M=78IL^SS"2ZHLB^)=A3WU$PAX7L=8A;=V,LP$S=9/ENS:AV/)>>5]<">[<8# MX)]A1ZHG4BD"*AJR7DI6\DTZ#92S$+C+T(M[/54![(3H"4W?1X.>ZYK#DY#G MOBR##(3*JP1&UHOZ7-*QYW9):T*%9RA9I'PM50ISI7T Q["B\5!#&?(!-OL5 MLD Z%3$.M@+&J 8E1 T#(2N-B?&IGOR:?Q!KSN;WTI@*)EQTU_&A%XR)V:$@ MT8,_"13/!4"=7#8J:7&D!&4\=$RKD?2D/!VM2BH."G(&+"+:+2(%'F4MJ';@8?)ZQ M2N!+J;/GUM5*CRS9GWA%EG*T@)9UOBH"!-N5!"JC/Z"[(&TJK[B(0[!<=(J% M7!R1WO."$;Z$GJ;O:J @$NF-F,'CM<;C"S<"OL?]&C:NX>&=Y'(:F8D%IO9$ MTE$7;=RL(4M\#SEV-*)6%NE*N=S]@7N/CROF1_U^%>KX"@S+"P1(8TR5D6X# M5/MY5CNF)RS@KI&L!4I^F=&^@5*X_\\8C0W;4@0C[8XQYE91WQ +Y"OR6Q2= MJ;6A+(VTNT:]=O/;A=4Z !W3]?MNQU6DHI?!Z42)'OV-\Z'\N@PJ=L=]3(UVO2 HQ1QQ0 WZ/ M_):>C%3-"7R,&<"H@1#; 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'XC9FPQW1C5MEDZ&!%[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%"IKP*?*ZBG@&N_GEM'U[T_[]&G9UL/LRNS($7YH)):+8<4F5 M5W/^9*O'(=#C/36X!!/K0-9#4F6%S\/>&'7N2%H7S!(C=S"0B: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;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@*BZR)\Q.A'>!2Y&UC$]A4)_ MDAA!4J"W*0(Q(>HU;/$MVZS1UY+H5;N,T8-6L*0UK V,"!1J= MX!JQJ-5Z)IE!QFL\-I*A#FID0]V9*($HB%3XN];AY-13OG[#'U;AAH6%4:-ID_FGP;^WOM*+XEQU9E^(B MAAU4/Q\L0_"IBE,%"]%;K^N^L! ;L!-M>8.AZW[K5<)0)7]S10?;I2AF9HVL M),T*XS58VK05P?,6'V"!%.=Z&%[2]E^VD$X',*HJL8(WR/CJEM^MY@K8.#)Z MKW:BJ9#6B!!^2ZZ[9] CS<^-V!_85%V MDO>B2_!E@DY2Q\Z7.7IF\9/3'O:TSI"U_=1=;6$&MKKC!QRNB;_P<'):65%A MD14$DSK+Y,E-*COZM^79^F4KJ#-)ZA:H8F&FA1/X8)-XWC^_V2\FOS]0#%'^ M@G+\^()Y5:<3L\Z7N[T2)71S;JJUI)O"]J1+OI:-.*36VN%NX8QG/9E'RFY> M:-U9MUO6GS[L=;YO-7;KK9W#>FMO[X=)[]1*#.2Q3>ZNVU[2G52Z[MR M-"L4[)2N_:\I:S;WRRN>]NN'S6:]<3A!@P^^Y<'2KI<%?__@ +:P]VSPYT&$ M/^2@@H>8>?[&CQ]$ZJD_GSB5DI-H-NJM_4;]\*#QT,-EU[<$6%KU(Z"-@YV) M:UG>73Q.E-.OY61Y1[%3WX6;.=Q]XDDL Y3#>G/OJ-[8WW_>I6BW1Q5MM@?+ M=/=,F>[+E.GNFC+=N:]L@\IT-\2WDCBW9,NY#O,8-3K71091'U[4E"5ATMV" MU472&:.?E5,3.;/[.GF_ZV+S)5D?1 ,,$N\*%7:*?C#RMLC#AKQLZ706/!=0UCJJ@2:.@!FZBM5 M^AO TZ5Q6E'2F"(SB,$. R&V/-?FU)14VI18L)VT\TBRZ&1O0MG;78]FQ_HX M>&]-?:Q?J6/]H.4,DOIR@DLD&3@$0X=[+K]3;5'T >%PP'R+E*15L#II:A3- MT+C#T>V^HS^OJ9[-U ;)"29?@4/#F9_T:D[:)'KC_!UA#@.>&@U[N$=3$L]/ M)S-86'3J4O$_SIB@;IPRDPA;HU."0UC+=$+$#[$UB+; @(:347$3HZ(C;*%;=+<8,0M.;A0-G3$WB+RAX+S;WJ4C.]B%:MJ M0*/:_].]A'#*(9PQ4)9J#:].@3JXA+*/5)!<.^)T$,(1,35%HRU<,TQ]50V& M,$ Y*4+^]0-0/2_2W@ZA6&P+\E)QG).Y>M0^5D2SW%DMQ2";%%[LR8;O2)$X71,[)L4=./XHCCAU.T,62?0RT:E<#;FLRV[M(R:0/@C9 MJ<1LB*D2,0S*\/1QB%P[%UN0:0NAD76$._P/[NL/?@J. ?F>P>6W*2V5:4>$3YOI65MVZJ28K% M_D5$BX4/"TA"D4WEY(-71R%28\X+K&#*%"SS;+=N, "#Z.T M@2G-8D&7G^S[!J1';D&S&^AHH T@V">/I.49!/3UO0TW+CZI\3L0/W)R)JZS.E[FW7S\X3/NJ MPIVH\=)^<0I[1F.018E9-^BV=I)V-KXA: M&?'+]KI9L:G&:J=3E;"K>MSM@EJ!(A+4"C^2&BTU*O?'Z8!;?!+#!D60&3;@ M[2LA70-UFOJ+$Z1VB'-:T?N@IS:(N/,7:B,T. *C$ETO1G5$,AV*&TAE0\*/ M/Z7GC*A>%:(7M*S<'+BD/Z2>"PRW+2]>NYGJ6KO+#MC-X XJJ"R,,J$>0#8' MVZ1EIJS!BK4!UN\./9(]V-\R&Q?T$?5(%(?4J-PAQ!5]E(^]1$-5"R:37L,\ M%B>0*-U \/Q>*4A'#;+IG?@&[.(OPX8$U%@ZZ9F>MT=3W;MJ+5<.ML_,E,^^ M@$Z.:I$C0:.M 1)7J3Y(T>F;DE=4GB >+%S8-X4++U.XL&<*%TSAPD8*KBEV MH!95B>Y$G9)I;$PH1M=H5]4>09= MQ8L_]VN_PM5BCDBKT6K4K=.+*^O(6+V66 #!R->S4VFB+6*+ MP8[E&\L?T4%$#O_:->\IC[YIU+,.V8CGOAH&Z,28><:\3(R:;,7)K#-!'N#\ M%*M>\.GB;5V_,HET;WW0/='#OG&Z);S;T_/)S\G47N7W6W00=C#'(< M?=G]I@F;"BURJ6!R>'G.N#*7OC[QMI/"<#_QT'0_&O()]Z\U-/1[<:EGI7C! M< 16PMMI0!9@@!W$8":3!4U9H3G,R,26;@E3L@O0&T$-M+^Q'HW%H*'>]+=, M[BX%Z)2B."VNA["@\]QS,?-!1C&BXOL,A1XKM,;Q!O&:?8IRA7 ME]X;D%XL!+E#XB@KSM*_['"-K),DQN*2,*WEX8QIG%N&N$V$>^#5FV6AR=<;J M3R;@+BA?'/9>W)WR]?WFN^A'OHDHIO:4*R@H&!=,SBRLW3!84M[X&=9IJ>R0 MK-*1&=M7 E;A?66 &F:P?)L E(XABA&P$&O7Z+DR]L J1P['-M7@ $4['"/I M*G^>6&C=BH>!K^6JOK7,P#6BUQ#K89 4D9MU<#2GFM(F:WCJ\/%P3#Y*&@KL M<&2-0OT=F(@=@@Y)$^A]G.LHU$Q)9!B<\A6%FG*>9-$\ $P?QW,)Y'3 $WZ[ M2>J(2/CKN!V_'[KP4X=(/F$Y:FP7E0'H:AE4E))*),N'HV48B\/=N7J>JNH' M/(9E956-5'[ES^ LNS0K3$75)%/^*PY=X;BVU$!4X8S*5\ NY@(. '66&@D? MVC(M)V&T"[)'+T\]LF^$W 4F,V!I1JR'D.-Y*0D M!!)AL,-,1E&BL>GR,=PO+(C2 Y92,D_6+NG$A)P^EHD5D4M/<7>J"O.8BW.C M/8^CP@<'VT67#M=@2#,US9NJ)7E3A%2RR 2/5E%0+T\M'SNB*&J9)J4G<$;X$UE[ @;9C;[/[;0<-RA4 MSQF>L'R><*K:\!L%<45,H"UJ0%$3)*[Q2P5XBZ4&(IEEY2+">RC^O2]_+++-^]K#P?O5?%E:7>0!(5S M,S<7S$'.(SX $)KM[1P+D44R#P.V:/W&%=^L,T#KH#"H(BE)2;NB5!+=*LC> M2+DXP^'-S<;6ORFQB[D^>:M&+'2VO"#XI@P2>$@J#[*/@3**]4PI6:.A_,G6 ML?+OX1-,5GK(Z1>"# _98"-)?$,'):;7(2LJOIA<<=("UOEI,1K.&,062CM1 M9>)8RHZVD'15TNXK 2!C-2#8I%TWTHG51=>5 M^]Z83ZL=+I>]Y:SU47JY/L<29NRUQ40?2^U&JAU/(I^WK?-N=K:6T *ZKCZ5 MN@9*YKQ,]]R_8]=!'%'>VXP.0BD_#I;SH3=?J@?8=0M>->(9J"V1J7;-3MO4 M@[YZ83!"?TF(CF^$)]VEK.;CHH8]LG#_<9A3G>H%WZS&:X^K0MRQ!:DBNDO6=I8I)ZJY?@$%LHIPJB63VJ@42JJ%)'0VO&N%E_D1 MFXC4D&WY3-H'W:DI7_)Z96,KD%J21CT72'.,X26,$19O".>V;;ZH Y2Z!#, M(F4C2=-%J'2AKGO/G3JUT5,!4!W%DMWZ:M/\U$HJ9_U6M"KZK]%@$P-,B=)5 MQ;BXYI;2&L,JK@0NV<,P8Z!-4,]V[2QKT>$!//1XDD#]F.%FF99C,_N^3,LQ MTW)L!2UT/H#NXSM)9Z=T$K'%;)L/(PIS*]+6H2K3:&SMK[72H!J46D]0J\/5 M3C*)1@@C1O,$=6M(QT:#TB0M3\PZI<@@=24PF+CVMUMI4 U*K2>HU6%N;>E5 MD_T.4Q,7#3+J2$W#V;1=2TVTE1H*Z$9Q/=Z3J,:%+D*F&(#=1(%?%E50GE"/I@KJY&L>4<4P9Q]1S3#A)WP2? MCG=*?[9(9]-*GW1Z?>D\4:/EK/_55QI4@U+K"6IU.-\'[K&Q9'Q4 M3A> A$\KR%P<&J0;B0(CQ#H3XYBO$")6&%2#4NL):G5XVVU?6F^8U!'KZ3%! M^"!7J^MYA]1*/2G/IJ8S+JPCJ_#DT,3\M 2#O&N/$)4&U:#4>H):'7[X.]BJ MDGUI0S>3:&$-W'N#;VM_AY4&U:#4>H):'1:F5;K(I4Y_E/<_P.9?26EU.E!' M=O/32?Y*UU.9O)02:W!S[>^[TJ :E%I/4*O#[L[UY$@U;U+(RJC\Z!'9MPJ[ M?PDS]K02UUII4 U*K2>HU>%J)='6N\"+!YQ<;E*SPP:,RC"EA S!G<6D%^F M2!([;Z;%:<6Y;((F86)/V[26TA1#KO#2+E7S-YUZB=U29?XFEG3KZTIF\*D. ME#@E5)7^94?XX0_%,)0%>LFT/=E-- C'\!+7HRY:NJ,QC;R6+ZF5=EJ=]8[F>['JL,Z8]47$F#DZF"D![Z@V?H*7HCV%"4(. M7(Q86JA/4A8 Z!!$C1KX<0<+UF]IJ&S(>P%5#0@YJ1G;!89Q4AKEJW$(Y8T! MY2*JD325?V;[XJ>)*OI6A9SA.(!3K0T =_HBZ4FNRV73ECI">PUE4S2J[=<# M<^ H?HU]/#Q\60\6CW2I/?SHU]A+)LPF=[MM?5:OH);?D_W3=>=6>0TX^SG% M5YE3)SNVR9F5/$(%0\3"<@ >^:30U; R%R_MLRZG-$41'PRCI!^XZ^,U9T<% M),_3!%O5_P@#27IY;*L4X(1A%_L8J4)CPA.Z<"F^J*A ]-M:.XK,]V&UDUQD=KF.9)%& ]S/3ETNZ#L4+W)@:R9^134 M9J#0(4:'OS)M'(R>NM*&0\E=VD#%V";GP3LE[2.=NXCC>F !@?,45B8T=L#M09[T\./<(#N5G94+PM#IKJ\BZ3'X+=^BE?ZZU75] M4(_QR:3]2$ZQRW54D4"2*WK:5.$^F@J!-@$)0"#"U$'A_GRL8QU MH=L'4_,I,NY"#M@S5--[0,5G0@2 %&B/$1:[DI((\&2D]I-J+GD5!Y:$3L*FT.T'F".*)6@>J"'\H.5U-9^DQEDXN9\$#R55B] MGG9#("Z3K2O$QEB/( HY=A/1IGS!*7120,"OU6PMZ1^50]#T3#'53#TW[B)G MBYCN>0\7SYHB95.DO**P>=L&98RB3ZJJ)1GRFLREP3"226M<_ZNL-*@&I=83 MU.IPLG-92*>K\Y)NQ).Z5G9BJ$'"M;_82H-J4&H]0:T.7[N1MEDW]I2.ECH3 M,>_C$9^"0<:UO^!*@VI0:CU!K0Y_N\*FQ;)73-[KE31 5K-XBK$"%2?*_XS" M,$FH0F: 2ZT/?>L B:EFJ0165!I4@U+K"6IUF.('G1'L:HLVQ^7D^+-\JYC_ M_J_#5O/@QS1EV]2VK#X4=.[7E!M"1G/'67T]&>[6X3JY&06GW.[EQ/->U.1T35LB.BTG(L-;9)!4P] MSN@65#[#U[#@HFDZ[ , NJDR@193.AYA3?5'@1^KY8=Q)W) MC]()5BZ^' B+4H="+C-^9,6=^P\%.KE/%35)-A+F>2&Y(@,+@->,5$@Z2Z+; M5AN^U4_"4[4@M 9!,B=/\$SNDXQI9R=J9[D=53=ETUH3ZH>-7:-DHI!C[UW*".K&F,P3(NL$_F'4BUI=7\ MKM!3.VDWJ\LVX7=)]>=.LXXIZ[E,>JP>S90[EZ.^0_6;:<5MEA*\L2P]3./WQ+R3PZ#3SM-. MAF(HM4>G]=80 -V0'#FS$@J%(:%1$!&KIA< \X?;"3$3QAO+K27C3672DIC0S?)>,1D[I;>%EN.AA6-Z6N9_S)@",U]G0'EC4-6:TGVJXG M5*\ZMKF>5_):&=JG /A92. -F2PYM<N?0N$\,!.T I@0.%Q,U8D_W1/(\ M;JM")2ST1($NLN;%7W'H"L>UUSEQ]S4@I>%>!E$VC'O=ALR1>1;#,(BX##X- M.!/4\AV9E3N@ %) W>#Q;YX+%JV0[(IB]^3'-MA6>:@,6UJ[*WFM;$FF@0&/ MD?,IV+WEL9%J696='AT(3M\8I*H\5(;[K-V5O&;N(^TS[:82$8./5%\:6(*1 M/PG#V6(88M9>&E,V&%9YJ PK6KLK>8]1PDG69 NZE.1"GJ28 M46-RX$C1>(VK?EX#HAF.9!!EHSD2,*/88S2L(NL-*K?4LD^8*ITUR$G-U3=D MTC#MD#MN1-F82N.E6IWL7)I,UOHH=".^%72[ KN#8II\)@&>DH\S]2QI),3A M7899\++WHQO6=/@DZ, A2&4:7Q6;O.45-Q)7)1684>YYP8CN=,#^"C*54H > MT8ASW]II$,8<-2R'C>G^X%HI<9DSNT]YZ$FK6:RBLK$!;M_U=)$$"\=U2^7@ M(AO1V<^BE@;'4HR3*/H,K.-.@G?6=+RCR@X1 ]S)&^LU>%L&^^NJ)N1I#<0? MZ!5.E1ZL$U [65WHD?0DLJ[+& ML[GUM05CH.&VJ\.O&Z#R6N%^J4*MZ['!@)@?"62 AB2R1"V-4533>A>XCM7% M%LW('(&'.3)/"FLE )VHF6KA!2C?Y= &-PQ58^D:S6Z"944F%8N/.>$WH.B8 MP,*8H$C1U@Y\3'<-"963HMNVAWUA>WVL#/%8AQ=*0^"W(Q:2#4N\EHI ZFG9 M4BTIH:#Z..PY7H!_Q*DAM8\U-'@>#BJ>(=(B\7$2#5FHW8%LA";;E^/.R9RF MO5+1\5]Q2*VMM1D-*PZ "*DE-RZ ])V1BB,FQ0Z6"=IN:,<#% ^VU'UEB]H< MO$2J=. .E864O(K4,-A13*6E5KX5=XYO:&_ 4]G&W(*K9H9*Z5V5# #*AXUM MY:E:/W!@ATH9U!UJT"X$!,/&7:;><-5Z>\&JPZ(SY(E=[F#[:N013#56]P), MKRW!,@)S.#M6G:?#] W M!%SM-Q^G^1'3EV]+^D)0SV_$/H^GPR^3B=U\("<-8*KP $Q5IGV@:GJD5,\1 M9BH&1!97ZZ!U0ARW,U8M1!1WM=1HP;2YO-3#-5BRO<-@2,'FI+O$2#8[5PR8 MA%B?4_TN;.*;#_<4=.LT"8+X/$W+!!O&H]F?6M2ED$I;0U,Q@"B)+$O+NC(Q MR-08IK=AJ^;F\KKEK[-6>A?Y-]Q/C),7! KXM T%_*L.MEVD-H_@Y4C:2DB: M-H13E9**R.3$Y)0F^$CU9)]-NM3,7*5J\952D:,B$41#I7$(A0Y 1Y)-,3$AT1 M% E4D#M!C8)LFWC[ MD JQH^Q@I+0UE*S^MH/A&)F8WE-!#ZYGN!MMD]M]/_""'HZI15Z+:R13CRVJ MYJ-YPCC=-E-+CG4G8'7A\"2-VL"\B'/'8KORO.K!@M!FPU2$ODQ%Z)&I")W[ MRC:\(K2"LJ?$K2I[JG61U7(]'ZQBYIOEE3 +8H#H0H!J"CP4O'F93^FA[ .F\_4)*K:A9B3FOM' M5:[8((R4%U(UN$-SI0IZ,ZZ,76%8F*(TC;IW>!='3VF 98F9Q&G0JG(C>[=K MY_ VY?"MZZ?DQ,+,8-\)4L@T)!N!-2ND@9H:C](GJ08;QF$R"Y%.62XA+3KJ M6EPKT)(E::EN23]KAJ2*+8PGFQ\%X42_'T-NJV+0[63B8NH'D>2&/AJ-)!(? MM,FOV&MI5[*G6ON&W:[J_E$T)_:=#/H(Y61*+:])Y*!0#HW:4V;<@)&7BUI> M@0 >!VJJ(_;@"@,ORU!T-]0"JHEZ+1VWA_Q"NR&*X0WTR 7AMS0X1L8=^A'[ MR;C7C!.06H'%:HY@AB>!<8I&G4?Q($3S81S2]FOX#^GKHL 2!:'4W$OJD*;W MK0+$$[-F"1@VP.R&3$O8S'Z!1VX44D6+>]IW MR()QMJY()NZFX*7 )'"4NOAJ9G1ZU8D]U<8#OT>]]_2<3%<4V^"JJ*^:B\WN M@!@S_9>UROP-Z(,/<"8S-V&A]6'D23O;HG26,7:\6\'#.Q892;QS1>^8AZCF84,7! &5:M!AM5KM6-_\8.1QIY?P?S@Y.,EP3+V^/X=%6($+ M>]2Q@7;&G1H3]+,K8#_4'YA6/>F[O&N=WG,[)@?U)3):'%0\XMFP.36,M,/8 MC7():!C\X?JW&-7"#?GX+$9 1)&ITX(U/#IU:MSO4>@>NU%Z3 ['31>4R^'= M)+W3Q3>0"#B@W<+ C)#R%4P#'@ZD]-7SQ5%DTD:K[8'" XIYQRMD5NDA)Y[Q-YA;LEES\N:Z<@A/E:AZ>GOF,-5J15R&;1%X.[Z"J2-Q.0%(3(5(L\OLO@EE$C"82.ZV^@)P M^0W*GMN%;"$-QPY>HD@%%R"0U7Q0.';#=0S7*7"=DVIQG9-Q!S5:4#K!%%D- MEUDVR6X(YP%1,$3#0M0H)4KJXP*=1#S?*5WE!:?>G]23(*=5=1Q@AE>'>RZ8(524DCB[ M90$*=020:KH8"QS 03K?]\T?],R1,2F@21J4['.O%43:ZN0(T[KU?>L'5,D' ML4_9RJ E4NY5.,[6@4A[("1M/9)CE/)O"4#Q]5UJX*1M$MQO'8^:I@D,0VRV M7\GBF&TA4[@%NA/EIFBL ?X:UNZ"04&1O=KWNS^0[=##WTVL+M,R MVY:,/BQ?I)43BJ;2JI(G.@PD :C+%Y,7VHUP; G59]&D!B#9+H6XR!')G#M7 M!*KW(?-$8'7(7X!C;M#?-T)+GGECN'I)AP%2N% YIIGT]AISP"IB=I+*7@0D MS3S.T*TRMX)8 &7Q.^;%#_(06RMP -!>\IMA1A@G) M#PHIU_)#R6ZRV?AJU$61[RB7>>6Y^M*$T](@_LB#L,=KG^,P9&J4QV4:+OY, MJ (\F68J2=ZFDY,9HIR8: ]3=J_DD9*OP)7(G>5B!@]5HB0+U1Y;R'*D_P + M*576&9$GQHU33QC&37FD>H[VW$AFQREQHK*&?7) !*'!N779QFU050 J>9,97B@-]*%)')CZ4/)NMFH[3*\RO39UC(:_@ IF&"QM2! M!SSW&Y&A?G&->4@!"-0EI M8$H "OF 0D"2QWJL$X38]822J2*:8B!([OYKK[Y_T,!24FL P/15,$M!D9J- MP$23^6FM1FM/#C%#W5C#VZSO3('W,_>=(&(98*FL*0=D#J;#0X*H)B'"<+L" MKC/6?V&@?!,,I(U;^\UZJ^SM)!FLO?WZP6$Y;%<\C#. ,8RUJ3.PFKOU1J-1 MDS][9$?R^/762.3H>B09@[F]:H- \GEVF.ZV=>[#:38/*$XWC$.[3X8&LW;P MS0 POK@3NQ[RXAH<1--BMDP=\:C7L6_=L@YJ>6VO@Z%KM6)KAR)/EG15C+-+ M^]9AXSM+]&5 R]II'J2[83+BQV6=G:U^+*U^)FJ"8PR=4FC4>I1&D:V[TK#F M#^G3MG5Z<06@Z=G( F3YR IL.QXB1F*:GTKZ UD,DLCX4\G&MNBK>1('] MK1]XV&[H,XLB/8GO7(@8/KK2_I>@JWX*4%#(Q#ASUT?]PTP$6]ZOP/M$]R U M$M&]7*V++S>G5GL O\>\[)BZ2U'B]WC0"3P+L:35^/'LYIS^UOQ1I@ET ^QJ M2UXV(?/J:80[X )FQ:O^6",+S0'9"PE=K%3]I?+;4XATJRH,U@64&^_(/H/O MJJZL/DT7F7U;LVDM159=9,!2"Y[DP9-R=Y)YZ]^6:YQE*]!YC3@J??AS#W1M M=2:).DZ*^$SO2D"&C>-Y__RF553I'M#QRU]0"F*9#O(+/##+CJ=LK^0MYG33 MT_T4C%[^<"?'-CQ&+%/N9N+],Q_LC,?SG->N/7RS'C]P/D"W7AB E$+N%X1@ M1O8ZW[<:N_76SF&]M;?WPQ1^YG [D)D4[Z2,PSA8";Z\>?^%L] ZI1JK)-JX MTZQ31.N9QSG;$4HS<<8#?-267LYK-V)_\Z#;'WTWXI,XIMD1ODS*\$04[S>^ M*P/HS U%9/U?S$*@FRD^D]9W#YZWEO6EZ_]KRIK-_7(_S,[VSMZTGY2^X$%G MTTM"WMH^W'\VY,ME/65H,0D/F$W8TJ& "P^=WZRW47[/K8<>*UMN2:"TMO<; M3P/EA2AW$@CJG/1"-]3:/IK YQ7=T,[V7O/E;FA1]'2&W9;Z+W9;^T=KC6DD7@XP^^ MH#Q^#C#&-BTYR/_/WK=VI^::R4A0$+"@D!B<\;>^U2%9*YYGW/-2_&H6,QF;"H?"4L. M=!Z;AH<;J8E\I*/E;%\J)'??L6FYFA(*80]E369)@SSM-#:5CZ0EO;DW>9+7 M9)QMQZ9YQ4"\8]3)CKI+Q>P..:E&O+8B3_MJ>W1BQ;,*O:S:E)-I>QCT\= Z MD7STZ'[&NJ."VV6%O71-(9M3.6<2(==3'V&@2H^TM0E'0HETVM'N*T/GZF-3 MU:#/S.G9&BLJJ0VY5*;8K:&_)?-0?&2F"\5@!)NP*5 M]C/2%6W>6!HZ>=%9-D:G-;M[DN<(ZW7I\=X08C14M#Y=5$8^ZNTNFJ_B@<9Y M>V[! %*=50"P$]54'Z&A#RK/+*5+)^"89)J..T@?FA*=MWOC,HTQTMTYG#W: MW@>_GN(($S\_^)*6%!]!K)ES8MK,ARCQQ9+ EV0),Y -FQ)(H^:,K?PLM5AH M1I._F@H+#15O/^\*GO0//7<^I5K6A#S&F\.,GI'956D9HS&F SYH(ZTW[V&* MF0^Z1D$HZ)_HOD7R-%"UY.WS1\YKUUY1KGW#'.\Z0+7(\-PM 96B8QDVVM:A MV)/+R7!'VBX&@DYSU>?:1 ,F>Z!7@*D;U$[U?Z!HV3Q2 :[#^R>&=SB&^#4@+IV)5YWK"% MP\SQ*]DRDS?2[;>1KIRI80=MI)%1?P3&4V\0WXEB*WFW6TJ2#W_5L ,I'W:P MHV$'8C[L8&.:O?)A![DOL5]?HI(I7^+2&[_N-N$3:&%^TL2RW.6.=7? .W;3 M9PY'8VX!Y,UL5K W>#MW1_8 ,J:J0XN"GQ96OK,QEBLHEXZ*I>VJZ>^(;DN$ M^=W(M[U51Z\@=LTD1:!0H4]J2V',+=<=HA%9$O'6&3+1_-ZX=J9,O*-#;%7\ MXB=U-"(S) Q#HQ-(,$#.M@J7JI"N@$?:0Q6#02Z9QXI)MF J4V2ZLRZ>8 :[ MIW*MB0E;9.B3EK]C:<83G6V!'I6Q4_L,BI8\A8=MB,[%I/MDW^I$A@+&R,-;H0L3/%W\<'"^(WCCLWL(/V- YD [4ZS) MZNZ!J7:Q$9^0)"A=BEOP/ZIK&F-N2I>XXD,B'?:BDZPK>-(:QJ7)3<:V\I#] M[$,6$T# P,ZED\_> UOJ*F;% 2+Y;-!QBKM;E^ZL]Z;!AW$!L1(6FGVCAQR6 M@&]H!EW_[KZEX&,'NND),[H-[KN3GO(<>&)%+!PVXP?XOF1[G+ST8K@!&"D] MNC+,,C1/VIP:0&^N%Q:, A3_6;E"W0\W7CHK7PK=(4S'\JK:*$]BHTU^ S>K M;9AV3]9Q828ZU[O&B)(72&JB(:)+X9P_N&P*57#A17 6'9[ON VP"SB6#9Y $_XJ4JCH B<&'&:;A O,Q;IG#4V ;X]NCD]$COCV_!W4 M\YZX1O'MR;ND-5E@EK5QCX0^9?:K%<4 J0%<)YC?E_PNQE>ZCZ8RA,W]S'@?KPG)B3L:U(^ *A?75P!/ I,6 MZIBXM*J!=$1P.8OFUC[CRB"W]HL8J?>@3AJVMMKJ(ZVWL11-,=7L?#*Q/P< MN!DYI0SH>8QT*W<1ETH'R3!S MYQ/J?,7AHV*J6# X@^RH,G1$QW#EB830[HPG5\P[*()TE0>D98S7^XG MO X)I_Q,8!XJ]/9@1'?U-:Z^G9\ L-TZ,F<87/C MGW'5D!O_Y:M8HX_(X'F%JLP^RDL+\S$(KT7@Y\<@]":(+#2<"_F74@=D?+&F MZ#K^Q0@F!9OT]Q?3@4'&=LYOF,Z52&[!2UQJJW:&WO,;9TC#R MQM:03RL6V6/?Y;!D]$#AJR.Z-!NK>JXQ5'7EB*O/?88LN7I L&YF@$V!"CMM MG%MKL BWUW5WY.01=][G; 4#W[=FA?"D_!WV(VDJZI,=)H;-*8^*JH&<\IP% MF6MWJ)^%X9T2^V*J9#LI/:;[,"NU/FR&!"P'-1MA44ZG+"KI>M=6'U5[ZNI( MT,&@G$$-#A3+V\1$9O1A_6MAOV11D9+$GN\[9 6.KF+U1WZ5,VS:F2#3H.8L ME4Y0LZ,#3TQC,AA2-['K+GK&G[=4<.FPTB,[#L,T7U\QP1/,LPLIR"Y<05UI MP1XJU)#U#1,-#,@:8"+V#.+*/^C&$XDL]"EGFTB']:ED\Z4%JY0F.HRYA&VO M9"TF)"C(.N.ATN/A[PI)-\&V'DQ7ZOEW;;KL#3Z'K:0WK;. 0Q4.O+?4Q]=:!96.!TOKW#R'0^?9)8I\6=&%C,G\P]?3GDLI$:6CNFS(Y'I M4%BB -_P=)J[P4U^,\,7Z(/E3X2N"O-AU,7E!^YV.L8 UDVEHW8_<"UEA"B^ M6P9@5I3\W_K'_1K\*>SU\L+K315KP'F808>Y"NSC/YANRQ2<8[\.%HR'PPX" MJ7O/C3%TF:(9/#H> ORX!B(0YMY4?#.HS;<)\L?.IX8R5FVL-V^0A15F%]%1 M!!?JGXF*3?+TXS^=3YDZ4@:I<#4Q"W[DOYU@*_6.I.T4:\CY=Z!:X4M0\1>A M3H,82VMH/.FO;[]I#&6V[K&A\DRAO^M7%A'[<78!A M&Q^#3%2P85O^Y&S9D&OBB7$/7U#H>[ ''SXXD."_!]*BF5CA-ZQS&N#99,_R M.I D)8RDY3 ^#, ./LH QVQZ#P3$,+'W,NB\E80B+\E57BJ5WBWSMR,U9>%- MD#?0 .V&8[I'%51:9^K>-^(P,,2!DMX$4V+!IPA\VW]"GBF6@YVR,E^KUOA: MN1SVO<"WK'0_=PF^R!OW ",FJH_(LN&#> > MF5=A)2Z. W#PME@1>$$05GV4/O)=PI <1H.0O%1^ND$]-!J#@.V6#I(0DPSS M3TP(FN@/)BH+X2\\@;FW:F="-""];,4Q)7;"=THJD1?D8DI()95+F''$- A/ M^+OK74PD2W7%:E8X=7'12)=:25#1UFJ\+-5B*]J=R%/+T \;.!XPL1%@5U93*D1UT-C PM6TCJO*I;XBI@6G;=# MZL26)%@8#5+C3:" ; /8IC'8I(014N*+XIHFX#40AT5TO*K>O1'K;9&OU02^ M7"GMW^E^*^(03N1EH9(NNU3O/<(D5XM[:Z*Q,@6JD&R?-80B.Z+YL+URZO90 M3TV<9MCE$ZJ\**Y,-NR&9B6QPETDS;5DJ8_42WQZ\!D?N\S:8?] **_OO[GEE9FL)LA@?>5W5"#ED-8$QMY";Q4M M##&]DAUL%48(UHA S:/3O EJ2*5W!B0#0&M)-.,)?^_/1#41_9-;78(_#L8$ MBDR@N0LD9*G(A"_ \Y\,\P$^VJ650]R38G'_D01>K.!P0):YMZ0,Y9#\KHQ# MA))4>4<@>$*TK%,W\%$ZEJWH-MVO/@,4 ^,^=@Y*4A/J_*;@:UG%![8U96IY MQ3(&5A_^\_15"^L2>JS,5\)DDW<5CQF=FEW8\#B:C$@'.::-ZW 25IQ+6HTQ M^57(9BF#@8D&M!59&>///*M0\*M-N?^(18F7J\*,\"3>P^Q@/QFT$]TB+>P% M3:$S\U43GH(-]")[EW(&V0.#-&;27P & *9P6Z)T_&9"1UKZ!HRD )MH6(M9 M>6%;R+NCJ]C*OBHV6O_FD#7Q2J#J8B60AVHL@$O^_![*9BH"7RPN^;#[J)D) MKSWW- M0%A7][#[I1DP:4#I&-"IL[HEJ(?P*^ ?/I\PHE&(3"2AXTFPV2#M0N3WV%@4 MO)XAQ&GJ [@+V/OP?Q:&U;B5[N[\ .(=F!@4[R?8TH>!=%N,L,,[S5V%K+"6 M/UB@@;[E3J7P^LC\Q?<3Y_84HHFXS F;,,C06&2JQ/$IU+M=[.:0V.T:6_ZN MZDA:$[]U1'-N>8_1/B3MH_JI#J$4*48@P=>UTV!]@^R)"57XZJ$/[$E,1O$VJ.;=K9?<3=C0VZ]9;H M;_2H:!/,$@4:_=%T@8FZV)?D%"K7,+G9S120%]#W6=BA!EO@]/T.50R;">SG MFQ.$/8FNH1LCM>LX'#0O-C,*[HD!X&1>@AR0U!9H_8I1Q+G$7N#;C:I@TBP3+R"(^X6P@:I,>/HW?I_@]Z0UF25;DZC2>HY\F&2OP'Q5M:JG$LY@!!8DM^@%@ M;Q,]JHCX+1JF ?). 1.S>,+RZ%D9C;&H$/'HJSK&$4V@.M,3B,_CYV)P6 UR MK^&XO9X["R.]%-5TBUA4@+^C:F CP8(J4V)H\3]L_ R= F5[E\/XT8](,\86 M7X##N?0B<[DZR$W49E^ 5G?:%_-.^QUUVLMYI_W&-,L[[5-HZJY=EX::NG,= M4AV&.>6N.EA%(*L+?.X9.5"O$5Z1:X"P)^1[ K$PUM!4]0>@I]/\1=YTQ%U- M9E^#,6*ZA8,G]Q*-=DMXGZ;3@&&1T,B2-\Y\;(<0WK=Z1Z9W1[ 5S9W:,D8[-K64I9IZSV1./ M?_,<*,P09X;1(UX7\,*Y;F,BJZ!!ZY:%R#9*]1-PNN,+#?R?5F>?5LBG@WPZ MN"+"__TSP<>T\5L?L:/D##ZFD0AZQLQ7H/\&#L$GQXR(71N2-21,KYCF%!PE MPM50'T+J28G/A5TF^NM%L8&7T@AD A$-25%9F.]3, O!)%: ;J*KCM-I(HU\A&*%R)%[9G):=^9KZ$D+ MJT[*+WB+6#")=SK H:!%GQ-!)NS&:KU7Y1=F5!+O+(3CJ,(%E@H2B5P[E^T\ MUW3;0^CT%[@V'QJ:$R&'BZDR F9\H?:EA\;8**EN$#;V'H[F'JYY#R\$LXL7 MR&/64OT6;4+ Q[8%@T^#/N=/U"BYLN3_V-S#?(/#2(T 5 P0T2#Q%'D[C![V MCQ>#.DM5IUMT7%F<91$Z^#=]U29&B&1$R C.ZA# !0HPX(2 T[6Q#IL_C&-0":3\0@07C6Z.F,I0X) M?7K/O17?<5!L;Y/DA9LQH(Z>;IN8Y=Y:[TC.G$B$FTC@N;=2V!2O\!BGAL/W9/P<^9UGL><>@S^B6_A3\"LRS1M_MOBN )F%[NH/.@YB M"" \':A4>N='#DW"4)P]#;$TOH5<2=8HS MPVEFBP(%NNSTZ.KH^*A W@M.R-C &H7W*ON0YFE.)WM%&-3[.! #^_4]4K>N MT"'(Y#H QL<[&*5.!@0>6-D.22!"+_S@?WO4>X*J,=. VK!> 1_F475"G&!" MY IM/PJM#17PA6-B@1O8-"+=(O0@WL/MG)-)VQ\QAQU2@^W5!))I9I/.;T3' MO@*3:NJ(N/8@88Y6(*FUPW9W"-$?9XP]]0!\1A1E@3B]6$P,<^QD1!V7O*-Z81.5L&>R3'J*OBCRY 5 M@B!SO6++"9;'$YN<:Z@.AECZG<.#)O>]Q)]>AJ]AR#%&2/K6Q215CU!+,;O@ MF#VL0%[D?R06?MVK<9BM@O''^[D@[4>0SG78W%RX59[Q-T%Z\+]HVP_VN!U1 M@!5,@XFF>,$E]OP&JD5_X;+IHV*JQL3"H&-;@:-!^F'\1^^6C@@J7)C365QH M40(+3K.$X[K[("!5X]:D.R2\"?LZ; +O@@2/L#\ZH67=?D$[(J&%9;D,#>8: M6R;W3@(S=0^YIDQY+CC.ZYSHN)##2Y0'7\+("Y =!4(=[YD&<8)O_%R2S'6@ M]QSQ\5CS.3TDHB908C TY0G+^ZW[6!L.111-\"-I)& M[%RB@WYFV2WRTMFY M%XYF(LQ^..(*0H?GR],AR'F@O;^TKOI(;A0+GQ&F2),6GYS/ICA1*0[D\['[ M76X(WUV> #7C>I\=O:/W*W:2:7+YZXAKS.P!S:PN?'8N&0P,Y57,^TAB?E9..2MC1M3!=RJF(O5&]L4[W_GH U>8@0BXE?K1G'X*:#V)?XSDX?XZ@095>HE(X 2A_.J[6#RA%>@3<,7J'0.' MTYVK)NQ?U1P@CB,]ZVJL;V6GY7R\K,=E9\5 M\_*SO/PL]RW2[%M4,^5:G+K^-0&R/8O-P<5H3["Q(C]#1'"BV$KN2^PGVCZ] M:/XX/[YH%MI7%W>WYU>M-G?>NFW>M.KP0_V"QS\VCKAZZX1KWQVWST_.ZS?G MS7;F@G 0I-9)\T?A]HIKX%->79R?U&^;)]SI>:O>:IS7+[CV+?[%9;-UF[W3 MO1IUG>D=J0O>:&?9&V4P,TM6QG/SMBD;X(30XX2IX;^,EFR@;I\VRY!N0)&@ MD1S_VV@TFZ>G*2;61X4;FJC_WX/_U7OW@B"2X<0&3>J?XY!ZC$AQQUY,.CH4Y7P[Y5#5'/$>!4GO_/7CN/=_7A.8]ZB'U\+ ^Z:FV84)4=-^% M[*0@"N+]/?Q+Q/^Y?_DU^??KLU9Y08T^W'X]O]<-O34988B[I/H)8^ &0#PU MC1%\ZU 0\7]L@_Q;E YE\8"\]E3IV@+^OV+U@-/QV_Y[@-__WO?Z@T_MT132 MH!<7UQ__F7O13"Z53]S;ZT;]ZI@[/^%:5^^7SE6:/Q<<_KP7?++!OSB@F*YU/PQ)RT"J<$TZY\ M6?9C12.5:NTAF=VG! _=\S8[ FMGF!'D7$_/6$%>8 5?"$@4MU>! I4?)AHB MW8*,L_,'=V;C3S(6K1FQ$33C?%/,%8C+-<657$/6*9Z2YJ&_BD%*N6*9L4AI M)8N0BEQH!D&F]7__6Y7$R@>W..FO8IERKE->9(Y$X? !B'?T>SPXX!3-_N_!P3^?ZWUU]R;"AFCV1^5!/1J0WXAU,-/9,V[;:A.:M_R/I:VC:K:#SD K)?DIER MD+$(78U5GGI$%VJZT52* C=UZ",WV!K":);(*(+6*TT\VV MR,H2M:CI/VM>*E?7E/ M4[AM;'-/FS_3K'>MT)W+'-(_\/X),V0F5$!" ,TG!.CN!1M:V<&Z]Y;AT4G\ M^-:9G(C?IDWQWVA[6@%:P6E_GH.N2-JXB,RU6\(@G^MDGX]!-1P?LWT(,Y4% M/AXT;VM3GHR3U+196P'^,[176BN?1_9ZS_H8"FZ#8WQAF'NPTX+F3K*DO:M> M/YMJ6_,?]PG!')<7_%RNDM$-X#>!--!!TOYF#BQ1ZAC:S7V3&KI=-(87..VV M=[KJY> (<'5RK:?DG)V\W3Y6+)4.U7,L>&Z8=^#G0DM2(5J'0$\XM2#6&.8- M!G8[._;(W^9*IZXM?$LEN4OT#(J)3 DQ%EVV^<=%@S%%E Q(UI M1.M3!GTY-V.#G9[0IWW%T!5=V%L)/$_/"COCMI'7!_U0(MQ M%NI.3#J5!;K;%]O@P5\R)V1T,9D\-QLYX!"O/?L^&?+N;EYXL&-I868,S84P ZSEZV&.] A*J<3=#@W+_U>'!9TE+(@;:V3, MM3>#AS(-O JXT.A 5[I_(0LTG9ODU0IIG7H:(F?:3QPG!(2@;R)$1RLZG@?P ME_L1WGM@CTYOP]XH3&DS\=%6]]8!:Q!H$'2+U407_#XMR8^&WX7S*;7 M!U@+D3\Z1R23$>D1'<=#I?&#-AOZ!#/F9B?PIC>281G0?%UP>JLI4<@DI44! MI[B#=TUT\-.!!&1)33_^^WBN@W$,AW0=GO'$' -%R4@+HCJA=W2F/;V9>:1+ M%#OU.FC7$ V]SKD)S^%_@N_XA#R]399"XKC)>7VN%A(&&1O2@J<)G($ #E\[ MSD" M?$S@.N+:P$.^#WMG@]GYF+- %& ^*T:O98.A5RU8, 7#[;JP,&J@F-Y0)65$ MMPB09FQ?K^=LLEU$QS3Q5APD*YIE^*!QM@JX;PH*+ IDW!2)TGV#%V;#.49* M#\U/H^(A?GI".!I3K,57D"DCFN:&;\K"]+^(DQ2P]]-!FHH>'8WO,R3NNAW8 M8."I=X)9;S!F+M1[6+M##-,E6>"0QSX[B7T*70?YCE*X1B&<\S#H784VG(G$X8,TJG M\%%7E80Q=-X0#B,T#?M@1(//YMB1A7^0ZM30\VP7"QU_.CNA,WR<3+D)IE'/ M0-0)5#3XT5GY]P1[4&;ZR_6)8E@W6WE =&HE-G2&AGAG S:9;8_?PX/F]@'H M:.E@X C/.&/OZ489'*9A[Y&,6EX +? !H(9UOZ6Q"HN4,]S1H[9#YXP-_/BH M>DI#_;1&D4SE W=%9U^]A[>U$1F*YU7.B'GE3-S*F=-#IMJ9O'0FZZ4SNQ'C M#"B@N4T7WE:2S)TD@\Y7W2XL71KQ(:D*=UF,>P\+OM)_1)$7Y2)?K=9(:@9, MX\2RZ%7.F@/VZ'HV-[=$]_3XW^N,\L(F'2QSWUFRHY/A[J8%DW!XYU^0%R,9 M*-!P$ M"##=P@RMP*'1D.Q-!B;)R5I/<^O:B%&8O]C;9\?[)D4YRT'*2N::S M>X7$^! T#I'2(S#.^61LQMHO&X8&ZQ$W55 [U'+!#P$QE8[;%-@#S-'NSZ\(6@18G8 MFYV-QPY:H ,+01')5KAK;(ZX6F"PU=$(@HT1':?AXO..L* MZ8X<;]8IR39G+>7E',?78Q'3&"/SZ3Y MR=#XSLV\O<_4^5_-Z(KD)@U)6YX6M\WI!PM _M__ULJ5VH?MP>H,I%+0*=H[APDT6ODL'K0-YELVE@P<>68=6U$^A@^/X_M5@ MZB*-@#._WW!^KT*(6:#ND-\>',W18:.6LJU*2CI%8YM0^87 E;!4R\*U:[H( MA%!6:L.@T4?D-W'D G5^(8C+[6'\ZG%G/'&@/.P@#K*1RL!$B/I3Y)4DWE'- M'O&\IIQE3,PNG8/3,[J3D7N)=)0S?L[X\;PY[+,[7!\02*Q4M>[>O)G_[6S! ML@CGSJT."3$>ON=32^#-],4ANA/0.N8'Q!/_2/?]S"T9A9N&">5[\#"[W8FI M='/EG\L @PPX)?2J;_<'K9,)6S0U'WP"N_NU]FP[K$^!$S]+(ST13B(J5]=K M0?47^^SS?HK1L9#YJ'BUGC-F)&MJ%)N4T!\BK$_) A%]2LI6:!IQ<14Y^8J3 M8Z6;$J'\T,?M9%.X6\4/_0(X6C!T'=&!J>!XTQ37E+Y(,YX.1\;C7#(HF-$S MW.R?=I ;0^PG0OUSX=HT^HA0%I/.*7I62&]E;W8D0:SE6?O$)^8&SAV0_','W#<-R=TF M_BK^[K.7,2U7\$^O9#;!ZO*C:EYIM*M*(RFO-,IZI5$^I&>EUO7'L,LGAD_SB.POP\W2P>IVX5<"#MJV1:<8AHRY#:8[Z%CM/"">@MTWJW;4+M M[@)^E;9VHS!9.+D711Q?-3^;'L,=_#A4P+%_GL@ MS0A1K!W[HEVA)1[_J]V.^H-%P[I"H()!"/&G4^^DNVJ&8&TG_P>5F7YI[WP" M@M#?C)>\L.WRQKZ8K@I,)U&FZ]R)3Y?#?ROEIIISW<:,(^V(<7QW)!Y9L5)' M$^MPH"CCP\.Z96'M7.]8MJET[7OU^/ZETE-+75M22K?=@]5:-6B$L#GHO)6$ M(B_)55XJE=X%7ZL@>?*!0N+@(Y- _U-&/EI. T"?^ U,$3" Q M3Y>(V: M>#.:"B*FJC2M7TZ-,3H9#!FH^CU\,/0"*9VWIQ!]J0(FD):"CY8P M$1^33CJ_'RF-ES]#^_[ES+C1/DM7#V/C(1'!=/4,0$NUWBRI!8X6@!22;I#> M!-N5A0C\35"D_I^09XKEX!2&D]\_!>:&B@B:J'<0]QZ /)A+^M>MJWYHHK]Z M0"HF%/N_!^JS_5Z?C'J&W4-==:1H!YSS#XMXQ1-=I0^\:Y\(3'2SYK3G M@NCI]O'7%ZGZX]N@MCWM&21ORV>Y1>8(HXS"R+VE#3WO$E9IJ[DA$&/QA:XL MLK*'Q)=K B\5Q4CVV),IV!;> L6J++'BK2((/'[ AE@+E*2ZW_]P&K1OL)^L M/D*JH87L8(%2VEJQ,[IL_M9[.[-ERZ=S 88"(P=BGO2E43$K[E?,5J%S#6DK MLG)-C:\695XHE;,I;6NC+UCH2NSH*Q8Q"DN5),2NZA.[<[=L")]O0O MMS<#I!6WZ/7'DRT7*C)RF(A3:;_BY$?3&N)38:7_K"TWF_(3B:]@>6'VJ,4B M7Q2QT,B)V*FF3V"N3316U%X3&B0M%&R@_NTUGXJ=D\'X9; W Q62^CGXY!R MMGA:SKA*UT=<1%;(,U:P5'1>+R[3K?;P0Q9Q\%&+MN=,Y%HONP?:ZA:K*YNJ M*U!;YY?]^Q>I]NWV9]_Z-OQ62C#-%QBG&C8,T73F?RF[R.A&^']LT6E%9F8/ MS!U2&8>H4C8-/F-86F$.,##":K4B7XZ11-LP,KTVH2+?GEYKBF[7]1XLCAS# MK35UF<7SF005*S]/_SVM7]\>LT@0P_5'D#"Y\/)DH\78ZRO0D&(AV'EA^>/4 M\GX=ZU7(74/NRLSF5.;%BLA7JIM&6EG!7[ 8,@/7K1?NMC :EER3OJX)DC\ %K3\PZ(7:,4?. MY/W*V4KTK2%HS-EYR,U+M4V5=6:P%RAF57:OOUS!_L&FOD&@D)7GLD&VH@]@ M.12UYUB)-)^=/OLSP^@]J9JV(&M*:]BX.#5__/A:W)_)F\$]+W35?6>-HM$9 M7_:JS"E\"2OH;23QLX;&8"%D]M$EOEA,["[D-/16L67H72]P\XN>]'G0/ONN M6<_;3-#&DK<+ QJO RX7:VFZ7)PA;@TA8T[95R6LQDK%;(K86H@+%BMF%[P* M&:TD1$KRB523+/>[) ,P(#EMV61FY8)$#>^>^MK+DW;3329Q&].8>> Y4B4* M^Q6K$.2M(57,B?TR+\@R7RMGU'2M@[E@L6)VN$M\L53EJ[52TE>((8YAK],1 M+5NMW'W;L7%RX4F'#[B^GU?;H,2E)&/U4]F4Y&E$5:!TU#9PB;>#JD#I:,SY MY.K%+^GEM[8OVQ-Z9^@>@K.59QIAN99IEM9X MI1=&X?1;0Z*9L]Q2M?DS^C^1?DZOCXN M3='EB[SKRFBOZV!, 63#\9)I92Z0G\=3;#]'%-@K-O@:#HI*.R^4VBG.@GP/ M46#V#:L5F:\)F]Y-1%X?XP.:$]1;UH\+\B.<7HG3REEK^ ?MMX$'H.6TG9G& M2/8(QMX:4L6<+89$@RAGM#=N/5(9,XKBT6LE+):Q+L&VH*% MB+W\&4?&E7(BI;Q^ W6K/*/5KEVY//EC*\:O8R$9USUN_QLD+B';CC;T]+;$ M&0&(6T.:F%.I1;Y8+?&2F-&RP;A8"Q8F9@\9L%;FY5(B117"7""L(WR"!E89 MZG*O-I&GBGJMM2^TR9\2BSQM9)':0]@)0:J4--AA JN$"*3NW96XWYOA(.RM M(53LO9)\513X8B6CK:6QT18L5>P>,D9;%<>=F_K(D5(U7VSL.K738/F:=)^1 M\GU8_WS'XO%MRUXYL'&PA<599$2Z3;C9EI<45L$OHC:^\$G,)1HX6"A)&2UF M8L!>H Q*S-YUJJ$6+7)U\^??]WVI.M?.QZ-$%JA M$22!OB+=CF?TI-=>L!% O34$F[E20^2EJLB7Y?5O]_[N6HVXY K6),R1146L M\&4Q(6(%:ICCE3=(OIYLT#"@:<:_'NY?.E^:XXO)5?>XLZ.KI.CV[+3D2S=) ME$KLDUD$7BC)?+646?>9/4DJL<<< B\+$B\FDR>BLW1-V4?ULR3.^^R0O42K4M2*.Y9#",PNX80 MLC<\EK&Q*V9T,@(+_H)ED#DF* D"7]S840B403DD7@VU<\^-;N6Z].OG\9?. MKNU<:-!ZD4>H3%:5^6:@S%=E&7MB>4-!8A0+5B'L5=U\42[SQ?+Z1=WLD6HI M.%+U]12 1@'-*B:S9%^_5\_ON;$&@?%[^W9._?3GYVCW@;-4&4.FW*?%E]=7._5SIJXQU_#WX:J3N]:Z[QZ]>Z9\)?']X^*<6^9SENG/LM+7[AM M"(,]@[CQ13"$)3+5*F2R5=B4:?+_,(24/I0P3ZH]Y!3LC)O<(VSWAFOH_RPR M1RF8.:X5\\HD&T%[9#/X-3()?, D8[7GY]&'J^-?@^:5A#"*!\$R;S;9 M7^_P:7WTZ]F^Z^N6-(SQ^KC4#P-@#3Z-Z\?/BR/FZLBKDH M7RQX+M]JC^+D]^/O>K&Z.MY2R;>77WFZZI57,_Y;>._7X[)Z7*U4AH*\^KT^ M%EX[C*(GCJ_K8Z^ZVTJ0YT/.&B#&O?<+\5(DOBB7^%)@B>IJ_?[6W5Y.-I*# M]5E.-YS$YS_'^-\VM1NEWD1?ISTV_EN9X0C@/^>]TXI>NE2FC?-3;2_\%VBZ M8^\^VPG_!8(8>VE5./])95X*G.6ZDO_>S:<9]EI6LF@)UA!?]EHND-R,;M*, MA:]@B6!OPB:G:'OIT-?HF>3]!3K;&F3-]S&"ST@4O:19A7 M:B2$2C\O!,I.92->^/MDAWT1V;9E)[\/WE\$XQ^ 7\?J 2BI:->*VCO7G7N\ M!:6EU)K/H\^CSN<>RS@ZMLEESH6BJG/HN8LL"U)>7LIGK_(7@K,UU!9S?Y)8 MX6NRQ MB1F=YKX.Z8 W&/B"LPI+B%V2M<_WO2ZU\_O7B2Y*C'X/N\ FPX%//H.4T M#&C"'/,VLE7BQR&(6DZZ,V %2@^5SC:+! M$*16A1)?J;&4Q[^+:?1ND*VH.NHU%5/'SK'EP\8)ZJM=U5Z02;NI7U6$WA5UXE&4V^^$J@RAY]5TG'IU"*GOR1%[EN@7R!ZH9]^9U8 MXFL"K!!*J.DALCUGN1+3U^P-6@>T3_U7&5;FM,JEK]\>+F262OK-%W!; =68 MB$#,D1_%#X1>IJ%I&$W88[>1B:RDAPZO9K)E[*ZA$]BW3Y=(X;N\<3]SNK$6 M+(K,00T.:,JPS6OC?$R@S%5\,G>IZH:)3W7NL.C,S!-!DZZFHS_]/^6.LK>E MI:%VOF7HAT%2YBV#J[SV_KA%XJTAT,Q]5MB^E[$W*D9S9F[CUZ95L!IA'B:! MM0B.' 1YEP9]=6L%#J3H.MIK.GZI;MNFVIG8,/CQUH".P9E ^U62XP2 3O+: MZ7IZ\_EL\-50E/*>5_7,]=!%=VJ\4@[?#K7CZ[ :<&A#E1I19C^MZ??KJVKYNRBFQ]&: M6T'F.Q IFV/7@Q5%UC74%_/-8[[ ;&>4"]9*['-.=K3:[!^B?S\5"A_' M?@5 RQVX6W6$9;B%GK@;8Z3H//T%S[61J?8_<"/%'*CX\4MS-;L(%+A;7>97 M+'UEI&K3]U%/)I^UU!?DUEVXL#LU3./T0]Q&J #1I<79!M'^&1(Z[WGKI4!EKLV^C-!>A>^5?O D6H+ M_$_N\-!1!3WU,;X#XCL=/@EA6GPP37.8GT@0_(Q!ZKH_SS\<&T!-&5L8!O=? M'[@GM6*;X+I=7KHQZF+S0_< M[72,0:R;6$EU/W MK+HHQEL&X%;V?^D?]UOPE[#WRV\"=>2BMG!5Q<=_,.&6 M23C'?AT3*0^''81U'P9NC('+%-'@T?$0X,Z\==N\:=7AA_H%CW]L8%W: M^92U(_LM1&%F%Z!RQUE= J[TW%VS\XS[P?[G#>05J+_0_6QUH\XW(0J]YR=0L9M>5A9 Z0?#Z..@)P47 6[)%BC(00/)(X;3;Z'^N#.7?UO67W]V= MDD+:/2D"TV>-N8(DLEGMU#1&#<@@XBCYNVH/&UB%8^U@-I^=M".L)JSI?J-M6M.7Y>NHGH3 M*TWB?KH<[.M'%9VLC>'Y% E\DR2W!!'_QS9"$UW,!:J8 +)4Y*M"]&7C2L2M MC-1>'T4D2I'0]!7SW6^QQ%>+ E\L1YU[*O^F6'T2-X.F8]J M%UEM+&GW(\L1^./?7UZD]NQ0/"=ZH,RSU6X_U-& M.#BMOO8ZA' 2,6H,]MUC%;Y6K?#%O 0Q61*N5C&2P'XU*_*UBLB7:@G5ER0T M7BZU[4ZI B90UXL^77]F&I9U;1I]J#>_);>CH-])U;G9NG]I=?MGU_UFZY+E MDC2!B@\"+S$C#9-2Q[_>9">.7.%EAOO.OUNI1]$L2HNS]\;*?+5< MY:LQ%M/D6OQ5:/&3H,U2S>C$F-/ X/D^#=;7O7[ M.,(R+;C\P+I(@7?,2\_5[]&X7FU_Z]H[WIU[\*G>&ZFZ"DK;ABL9RR$)N:WI M(!UAAV*_,A:$/38Y$]G;'7D)JNN%C*[]BHW""%D3V?UZ7I E7JYMJJ@B=_.< M898U%>U1XY?,B]NOE[O+Z;#_4CI-9H%LD+'R(-HK)X2@AU&>F(LC MJV61+P7.5,V -*V#PRB!8FX;+%=E7HK1U+!A1I[,1W .'"A*RJ@^^OVM_&1? ML(C21I:+:C5BJ$:J!74,BHZ,R9ZMU3+"&(6+?3V:4.7E2D:;<./B+TJPF%UJ MN23P8C*#\OR"Y3;(! J5;:"Q.BB?R]]8XF86^Q0D7RZ(;@B]5[Y8P!>;3$G, M=Q7%6I4OES,J4W%P%R%/$K/K+-4DOE9,9-]KY1YUR84YW!QC:ZS99*ZM7Y+N M!G]NV^KOZ]_7+ N]8ING@T\S /9"ZM/V^?L9"(S2P9P#ALH-6&2??;Y]V%E( M1,';JVI3+03N56V=ABG5(\Q\T/&-='>\Z1+Z*)4:K8T[Q8)Q6SZKK% M0EZ$(,G,7F^Y+/!5*1$S=3KSW<[U1^R<&N8-TDAF$JX#L#;1K3XRZP.L1/#! MYV6K_T>:G%Z.&JU1=:_Q$86;,UW 22["=D#G%( =Y&]O[DT>E&I\24AD8F^_D5F;41&>N#C7BKF _+=]L]+Y>?3 MKO7--#I?Y=^[O\0B+[+@PA]D<(PQ;P N]GN]&8HX1J%CGYQ=PP&:4,V6T#&B M,4K(.Q2&^/0H.VN5_N*!O_^.;^3=A:T MN>#ME256XHA1N)@SQF()XX]I#G8*A&M]3$;)%[.C7JOQ4B41:R8&5:Q=(,4* MOAXNZL=:5?E2K/]BF7B]D2$C0*4BX1Z()S;1*C(GCVN56!UAJ92L^ B,D*@B M>]5%L<87-]9,D46@L)('O[CKN<7G.H47_WB+ND,="\9@.B]C@_%4T2:-?QN- M9(:@!>8;D8:Z<[#NE4'BH8U1Y-CG5I5XH9;1'.0&&(V206;7NRAA?&[J>8$)N)Y M(3K_\_ODHOI++M43K6$_^.2"L#>EZ<G=*+@;HF\X458=U8L=DF")=>2>V[GLJF6E! M1.?F\?'AB_(H#J]V97^"<@\N[+!R';:VOTS#P\MU#U4GP^':J^' M\&+')=9G;JQ0I?C6%ZM[>505K5 MF@ZB30>-@&R#\26#1KYS.^$7MFC-!N]E?*PDNT8[/P9>;, M>86,(2F5HQ-WN>Y9GW!1"H8FOU6I\I9JQYH5U M,1@E<&<6/^1J@R)>JF^9F MDD-DS-"DO"(T8>#Z9B#7T_)3,E-]QNP7D^'O._OVK/UCUW;$Y7!U!I:[BU5( M"X/[4,;&UQ7F7'P)QH64-RUF2CT&(\Q*A=G_EHLB7Y02F1;BZSR @U[IUR9Z M5(V)I4T_(ZWG[CIT%I)ZHB9]GU:^E[BJB.8*)EE@WQ N8UT28\KQA@Z6>SCJ29(Y##/N;XT;4_WK M^;3]P#)F/X%QK-YP@ODPYI6&U0&T8;1H[$V5,.@S1O5[G@]A(5R4\F O3IJ/L&O<<)60W=NG.CG;I5G9#6?;5/!A%!UQ9R>VVAD MA:T*IWD54$^@IGX,U/N7X;DBGDV,I_$S2PO2EHRTL^Z(+L]S]!-G*\][]>D2 MI 2;)JJRSXV'4CM,H(Q50>R+$A&JI,=1\+DGW-XR$%%.VNF._N .>9T%F,@>G26".[<)QW0> MZ5P!#='[_2^CY]IX^.<7)#+W5D#C@NW3^9R)N@:&9+I7E1.!3T8%OD;..*S< MHR3PM8U+%C.$U"A=O'D%347DI5HB&GEN41,I(;)CRV=QVK&^_U(OQM\[*:FC M<4[@%]774E$345>WFG:,NH"YZ5,4J[Q8C:ZEBQV?9'\!U_;I%Z%V:NQ5^V*% M%[>Y@.O="@5TO#![2;6]^W6E=7[Q\N-8(A$AT3B_ZHV;"UT3^\_:OB+!4-W3 M0I[>P6CG8(WR%"EFYADW>I01)1F;CJFQ7R;PE5*)K\4(5/+DU1H4B](JS%4\ M%;XBX@!?VF7EH#_\P/(Y"]+KMFVJG0E9GGUKA.6B''?'54,O#[_L?Y^G5UK] MZVXO9N/H',5W(LXV.(S@0]^AO%ND[!<91EC2M>G,J+B8;WYJ59A%O7WSFI-T MHY09^Y;C-ZT[W^/+J26!IVDU= *V>(Z C'IH@S53E4J)KY:CZS$RX4"E@UY12H8YI*[P@H35C) 0 MM399R+C@V*0W19TJ8")7\S454\=TM*Z1V1XJ)CI6++5[/U9[]R_]YZ=!TQ9& MI>&.E+MW*3)&F$$ &NYM!^!YYUZ0%!DO2);$=FVA#,03DS*5A;C79N>MTWD! MO2:OM@X^"4?2I@,PTHS"U?I-CKTC>!4"2XF4G1^TR")ZE$P4BA3#H(8I2INE_\KEZI52(R2J[C1YDJY2F1FG."3J^^$ MP5&OCN5%&:#69-1!YE6?@G UL2U;T<$WH:;LY7DZ;=Z-OGSKF3\XSE,I4H\46YR%>K&1WG MN#F&HP0W;G@6BE^Y4N-E,1'1K46+KJ.SEA!R__*E>O(9=:V.>5I,U$S&EUC7 M?*:1H\+PR":U8MR[O7"IK=;X8CFC11K;P'&$W,;>*AR.X7*9+XI;+-K8HH%, M;U2<*F B9^22TF_8OVRB(=(M]1'-TD,M9%_U;Y5G[/VI!M03F3 Q^ 31_^^K M;KQ_.:G5ZC^>CZ^_(99)41LUCL,!0(_.3N!D9M^GD!ZI B;.0"*OFL$9/U2< MUNY?T,/E][/3*\VT]EC./DO![RLZVK!R +M$R5<.I"VBW.CN7F9?/AS_[IY! M9JHQ%6KXH#-W9P]=X5/O_9[0]E97!<_+7Z-Y==.[O"@5O[.4%2=PBW^G8Y.@ MJ2_8QQU *^A;#9_V'72$]NF1N:X[Q,^>'3K[%_DQ=D9OG148=0U[):3 ETL) M-6IEF/01%_X[I'V$SEQGN71(\;8L\,(VYZ6MJ@XHSB]P6,2?BPG\DS:!MUT; M)L%5K'(H=] ::%'0IG\NK^]?A,>K7OG\\7?YI[H_;X8.5 MR8_<:IVZ9 FRZ M2]JDPA+'L&4YHQO&=H']*.VQ0;5DN2KSXL9#H2-KKE=@*:Y6:-V/Q\)8<'M# MB%KX?J=>O'0J]MF7W8:TX:TA F^UE2OP-?.$B*J[4X>F].UR+-;WY@$M:SUIA=:+ M4W,9&5U*;/) OL;UC E^-WL57_A3-O4,&%7:)D68U7*L#1^!!& /$?\F^D7I M*>;HOLS7L'XJR>OKIUC4N!MCI.@\ M_07/M9&I]C]P(\4G[J">3SUKJ"W)WN+BP M.Q/!QNF'N(U0 6JM+-"##4,GYE6!V^9355?TKHK#RK:-?T&FY1UEZ6@!Q"A\ M_)_#0WPRI/7><]?* ,M>&_V9(+V+OR4)'[AOBC:!!W"'AXXZZ*F/\;T2W^GP M2:A]Z2)-U9P_A5,*;@&.NN!FU MC7&0A/FDTGFT++\)4YON)XIO@NEU>NC'J8O-#]SM=(Q!K)M*1^U^X%I8?5&, MMPS ;='_I7_<;\%?PMXOOPG4DXO:PE45'__!A%LFX1S[=4RD/!S2@4;OL0,Q M0)DB&CPZ'@+\N 8:$.[>5'RSI#1@84KUW+PA%_$MZ@M.+ MYH_SXXMFH7UU<7=[?M5J<^>MV^9-JPX_U"]X_&,#Z]+.IZP=V6\A"C.[ +5( M#<4::\61E\6"GAEGXB133XIIZ#UN_$]1%I,I*%E<<)]HBI/; ;^^.VD>% M$]!7IO5NVR1+6CG$T])N8"L+]7M1E.Y?IFW3_//'NBD68=KM9(0AGI*/O)\Y M.=SAO!\4QN4'ZR,HGKDXB%7OM!PF+UOG#US8=Z,SS.X3 H+OD%1#C'=Y(..# M SG_>R#-J%2L'=]#?"F(@GA/_B7B_]R_R'^>1'F@U]K=P:+A72%X80F(B&2" MZ]; Z^.@)P07 6_)%BE.@0"21PJ)DD*U+[HCZ[MR_*+LE!32[DD1>6^ VY0 M!F0M%;88Q],["Z9F>:LKZC@.?B3[4^=*W;X;_TX?*C^$UAE+<\V6K@MGZU(4 M#\H45IBE"IC(Z6%+Y6ZMQO7QW8(WJ( M-*+,/!$D?GE=;"Q'CL.9E<=8M\8-PL?MJAJ::W"_-=;6\(*(=?S5K2Q4&E]> M?I^*>YS;Z3L@)/=,]XB!V#J,>Y.>1;I$R+,P3 MTKPQ,%^TUIG0$O^4M[AU8)XGI!">:-L&]LXZ ".I%G*!W&N=2C#>V#1]D7W^ M=JW$"]6,3M]> X412KS(/#A;KM5XL;AIK52@E%7FIBB/L2I3%:?@L3Z""J:7 M$%$K?;GI?-8;G6_&+C1QF-3Y0>84O<R6>=XMF7J KJX;@ U5WWL&#G7A?I@60CK2OFJ M]DNVK[3NKNT= 9(2$+)W$_Q#WP5T+^P"FYC",,QCVV(-N4V5M*V-OB@Q M8^X(JO*E[1$M0YP6L^'*O-L^L?O[^S.)K;LGX! M,I@:^Q<3P8R2N49935CY7TGD:QMWG640N1%R6UJG*R4,M0(O%!/9*5")7'6* M!7:N:-PGM*?U;TJQ42O=?F.9";.1M0S8?IHP T74[&YOZ:E<6J,+))QC6->? M)CV28VMXC)*[-=S[,"RR+T%=5;HL!,I<&X-PU;\VC3&6H.FUIN@V[+P< P*H M$"Z*GZ"A?U_N7EY.^LD4,Z\GB7.;MM/"0ZN0RBBC MV^:OTN#Z>Z^VUQSAWK:L12C^)-:LR>4UTLPSKMKZPK4]^V7;7[8FEYG\W&VO M78M8>#2_J;[>Q=Z#I<*CK_KM2<=2>ZIB3H/]L\_J\<^?/RIGK0:+M&XE/%)F M\()OUFQ=<]?(G/#GERSI\W7M4PCO-X:*/D 6MDZT5QS* M8)\,\P%JR+H4;$Z%%;YY&<&F=63+#.*Z;S>HB]1'*'W&K"&')9!,_7C8>G[Y M?'>UQ?'=\32D"SJPB>( #5Z, _5^C6TKL#'N-9E=BEU%:F7*88;.M>*E:Y$O%U-ZCKBV]4?B-$MLU M"A?"Q+;(BU*1%Y@V'JP2V_)*L;TVT5A1>TX(MDIRC^6?7[];BCSZQK)]9B,+ M&R*N8PJ[FSNS2)51#XT-[$_O^0XG"M&,0KR%T2HXN)4%OBRQ7./O=\8Z$TZC M!'>=+>U1:E&4Q5B+U1)SE:^5*3@>4(G5[9H3U+M0E8ZJD6IM$.WY%."X]_E4 M:HCCDKY/4^QYSV][R"?;GB,]IF>B%83T5)PV.U;*.#(.)1AEGWE<":SJJ&W, MENG1I,PXCM %U[ZK]K!!;@R0Z2JV:9A(OXS-T^]FY>>O)( M=^@,SK>_=G(AQ[3= B4E_;*,8U2&;V4F"8(N ,W9WINI#0:S9O&BS"8WK^<#8^_ MGRG/I=]6-26SAN%Z:.R2!:FB,=%\LXDX5T=U<_?C_D7]+E2GRK3=85E> MRC*BXN#3]<3L#B'D,?KI:3%9A3DVPUQC;MTM5@0>/R&%F8RX=6>UTE;+V>NS M4D&LX+H(]2R@P@WJH=&8%HHM,+J7#"!,7OGZY[ST]*?]6=62'+MT\&D&T6Z9 M.[RF+@:^&-F;N656$EC9>S=E]7%YG+DC(%J-^XA&NVR@L<:>7B)[""M45[!Z MM?'PO5R:C%HWR:R2CS=SZ$2UZ&H%V,_G5'[A"+"/S\,AO3R(>KIG$ MI"@P#Z*1!)$7Y-1>4B6)U=4A4E%@GDTCE4M8]20R$J,:;*."M\A<]2^1CF%6 ME@58J:''FCP]NWC3VI;(=N?P);)8H5S8$Z%+8O *Z.P,D^M>1TVK2@P M]PM$^FV+_O6%H0]ND3DZ<:J3@L.37Z-VX^+YI28;Q,56QQ%?$#?JX]\_UE:UR?7.E)X=_TYM QH-.P* NW/P%)N'\ M[J/Z4CR1)ZT3>==VP 6:^FN[[#U?UZE81"8C[V]C0 M?%%-;_!M7$$0A.4%8 M5%MS

L\_CT$,J+@E0G%Y\6__SW%+5VYV,1E8=O]+L55 GT\ ML50=835LD1UT5Q^LD 0FC;"% I=BK<;+,0;(;65];(WI7G*^N 5TPUQQRW1XVYQ8 MOUM?.RQZ(J'MLOXZEXE%IG8XBLF2-TFOKA%TA]9B\)&+",NR=74.Q;>J4I+>>(%7 1+9JAG"C-_@W MI,3EZV^Q,WBR7JSZW@S'P2+F]/YEU&@W+XQ+X_:6I35@H\S:6P_,=YS2>X2QN!!B6$/#M&F"6<.P MPZ^Z!/@]![IQ\,MFT*5UVL.#=;_("T*5%\4-NL-3D,=<#Z\1%E5BGG=4$BM\ MI<*"RDB)]0\RGSNM=V_1L9:[">KL M63S#D,DHDEZ*KCU"7RUD)@E.@QE^%C'[8F\56FA2>KHO"P@J)S MRYJ X5F6P(5K*"*#IZ7R\S?M1[%>3VS&1>0UU*[E+K[V#L8EFP#*6Y@>)9'E M.>7JIHH\6ZB-$$UY"Q.D9#(CI%)+9*V5&)!6O^I[(4/#L +*(XAT]G],P5\!A[9:;K M](B!LP%B=J)"-D'OA4C8S9=I]?174_GRL,6>RKA%M YD'(ST20M;>% Q2A3[ MFBJIC$.4-,YWB'NG)F^WSJ@2>!M[J>J&J=I3L@IR:&@]9%HA]Z^$P85NM?&$ MCGL_/^^SPLY?,$ZVT8:4HJ9#"H*QS"@06R@^JH@U'C\HA:*Q?81&V)QU%K^& MH;-S.-'!F/-8S1R-#);M[EK.6D>&O_&IS<7OQDZ=1+HDZ"@HL?!;N$ M57P*U%O$4.8NQ%CB$Q_9V%1 <8UZJL7Y>GPY1M7YWU:PD005H_0.^\+;(@R? M3(B(D?%F_$NU^?H,T$ES]1G*P^_GJ\KCQ:!13F=]AG\.R5NG6./=; UL7JT1 M0'-&?;;.R*7@RQWL*_.UXO;KE3),U$1I&J7=V+M#BE5>CC%:=^L"KE1;'2E VO"?Z$R^A$[W60K $1\71OU2'VDWIO_ MA>^3YWI7FP!SX"!Q;%B*=H8).<;?P#\#*ZLZ]CR=Z3N&;LV;I1M)M:H7US=/ M/Y.Y0XQM@RABX"X#.:CA,,"(ZSH;5;!$PS:55ZZF]L\>C":-^7I/Q-Y=*:&1 M3!EFDP@7):5\$F4F-Z]HE 5>B+$B,2]GS*2E].> -F+F:V2J,$=A<;JFP^)^ ML:&B=*]"[.8?%CF]O!P,[GY_*;-<[#/$:S#RJZ\93Z2ZS6?I]G+3O%ODL]F< M$O.8BVI-XBO2ICOM_U[21*CY=7;(+R3J:WQI8[I$UL7NU-M6V\[%TDM)O*U_ M-0=%ZRN+JQV2H5XOQV,BRYB8763Q7 <-5%W''\R\JY2@N&SD$]6MJWZHB&QA M_5.9A]$20HQE>'^;\YQRCA #.8)I#OLB1U3D$E^J;+&':UOII'S";:K]Y;6M M6M.U:I9^_-LZ>;X:MUC6[L:?D!O3K"&]MS>;]I^_07D%N^),2]$6?#^^(E3X MJI20\LJ986>^S3K-R/OQ;9)5IK[VRGU<]?Z>6+;:GR[J1DXQ$:;A:&RJ<+EK M]/,5Y(QS+.>X!$SA2[]G6/+U8'IVOH5=XH1N;.A84CI,*B6^WB^SUW_S@ECA M2U66MJA-&"9!# 4JPS)SC7>9%V.J0 8N]C<=MJ&[%AI(Y@8G8ZX^_OGU=I MS(FZV_./BGL,-E_NO@ZZWR:W9W]4EO*YB/+>!5:2N[1!X[X M7GUEI&KX5[?J"/M5+?3$W1@C1>?I+WBNC4RU[WS64E^0N_Y@WB%;9WI8'IYL M+58M,R^0RB/4[+% H-:M,"\=V$=[[*NS$^1!*8L[+\PO M")YM159[+41G%[P87TLU\\O7R^832R]TS.M'*&*86]+-VIBY>9RVC >V,H,* M\] 84:SQ,M/ANWQ MHZDA4WC8;\SK0C@%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\;+IB\P-W.QUC$.NFTE&['[@65E@4XRT# M<%OR?^D?]UOPE[#WRV\"->.BMG!5Q<=_,.&623C'?AT3*0^''805'P9NC('+ M%-'@T?$0X,WY5:O-G;=NFS>M.OQ0O^#QCPVL2SN?LG9DOX4HS.P")!%(0[HS M#^/__K+/ ?.+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'VRLGKFBT+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??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%H#O)XSB+@'"P*T968&S+ KOEOJ21[V]39K59DO%Z,W">:LL"\E$'SQL\ "S*,AJGRUBI5! M.;JW^:_C@(BIT#MD@=AW( M\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>?]RTMW: 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(1EO5%GHB?]G$D8F=(**W^_CO M&!Y.)0!MA?*SBIM*]+%I/EE]K[:7"I#5*S$.W3%9K?%%FB7#W?"N]6^HL('X- MYR,QQ$<6<,UN03$.ZKV>"L]7-!A6?JX[02;)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\-_>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,Q5F6LF8?Q&B1=B7-OEM-T";1?(QIYT*Y&PN%9)(* ) MS!K4=Y'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%32NOZ9>\'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/5AR13,1BZPZ 9/IS1YV2QPEUBHABVPEU<-'(_(DC@LCY3II+UF3*5 MK'MRE;1ZT_%RW.K7CP?/7R]O=I4TR'=UK%9R61_?5\EF1C)BW/UF"8,* MK05E*[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-F23Y#&(+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]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>O,I+9>P@Q6BLV!:O['6O3O/^Y7CX.*A;9Y;X;WDO>W6BDG^IEJAX MC50[3_79$[D[_/)X:D^*4_UY0RTS52?E*?Z: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\;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:%$U!&IO4NV0- -XO:GR:M#ZA?VIJ,\'>ZL5M,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_+[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]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$JU!1@Z-)IP_KW&M=RS#[RO!VS'YPLV,@14,>MNT[VT#AN1JF81T>NB_2O QZ M6WAXR'H+X;4X61EF_5R^Z9O9DU[)S M38'9$T97M=VC*\P0'*_@E6$5BW_'EN30VO.-?/_Z0[FX4KI_#:W%67F _N+> M3"R@OV+873REOU04_8'@XJ8KSD@U[H^N8@$ZA+^Q-%H1-'90WR\GNK##QX)6',*[!R%L622 MSBG&4#?("_CQ:VDB9+*BD*E4RK!6T&

CXX6.RII.$WCSYMI>W;2G4M!6X?9T0,;:/;)]!6^!.2 M6[(_(R*+;>2()J>QD8. 5M=(IAU6W^#P2<]H5O1E7=&7C27ZP!1@,L[+@'Q MY-8;) W?O-D\F?!_\8_UJ!G;/^;>&VA(K!K"L&LS-BD-L%]LNPY01D8=R;D@6RL#!'%S.Q!],3 M06C GLIWST\O]RI^W':@1-=*OLU^D0KF:-B M6(]0>JA'04T&1H-))+J!!I(">4LS9YKQSO3!><@; DY'WM2A3E[SG88N/X]_ MR>ZANG/ A^E,0J#>5;Q#7;R(Q$XU'S<1=9'-?)0+ZP9/#U7$BCHU[BO=OD\U M8WDO2#.'F=Z*$;SLF7,4&6H!WXX5*]>\NM):K_MF <\CF_G+#I!20N[7'//7 MW;4C+")("#G4A-BHM%C6?>*EQ;6NUA[3I6%VW/MP:3'/\8F4%@EY.'.E!5CU MM&H$]'<'02HAW/XBRCU'KM(GSL+00"-%MTUUDF*Q,0BGZ0;^I(P,0@J(9(8( M V3U=5GHZV,T0@9$=@3%%#1]+/A"<<1)@-="HW<]O'GDK_"P$PT@$]$[-+GV MTZ'X,(3\0M21U7,/B@8W24N_)**B1]A%M#L'OX4Z>\A=&R%1)YG[=FQ MHJHIO=NUAYA"\:Z"N+/Z6!(YKXA8R" $@]A#8:!C5P#2(I 3^7 >8SJB,_'D M(8@]1QWZPRJP9$TF A7R:F&@%-60("3)#)S/X$=,+"])C@9^28+<)3)6M$8M MS^GWX5*+IXY.)OX\//I(6ZF'\,\*7+,)3_WUS+IHR*/&VVO.9<2;\#8@,;1V M%)9[[+V*4T TLR^Q??=\0IY>=@X/XE\>AL)<7/@N"65L3JGZ4.0D(")/XIF_(@N+%016%+; NE@N01X67#F",VBJ MV/@B%MI((N(66 0+HS$^=&SGW6H(FW>Z;'F$ MCN^8>RQV,E8& R"HH:ZK-"B-=P(^B,F+S!T_* )UPE>11:%Q2">E=+'>Q5^!(\##$I%,"ZZ(_8']'M#DV%(Q=!,V MB] Z'HR*4[:=0V4(_QXKV,1@E() Z")[(+K\*-+-L2B##QQO5+:AG0@RV31@ M=63K;6)2@^O%5@F'J_4)=FH/4BWQ/L,N B$-\$,C&*YKZ$-A AF2Y+A2;%'. M6)08L)5$J+*/'3H$>?W8ML)^'#9U94RQV,HB5UM (I"DA#?&<"4$)8(A5B$* MWD7$;!8\<4%61@K=H"#=I*RQ+F"=9>AXY'#*HTS];"B,]O$62A8C:Q7 M&B=/+R^[F\>9GWCS>M M^LV%<'?;J)_6:TUVGL)G2N=NIW1ZF2[8*L.F&TU; 1\!>]P&,?"Z.O9M.Y"; M+ I8@B"\>&HU$X-]K&"[&=ONT%L>O M,^X9,["DPW)RD3\P+J:&AX,\/5;R. M9_ =,%%.X.]X0!*[)O;EHP8A.YHC@^VBX1 S$(WG8!M3>-:)/:;CX0V-F?(] M%75)5 B,8L)M@FY;JD(B3-B[&^^]29.\^,L%Q=^I9/:KF@S_!\6H(TD%ZB#B M:Q(A_?*GG/2+]7Y[.NG>#SHGCS^O[>J+]!6?Q7% ,A9S[6GEY;P_ M&H_3Z"I_< R;0&B3_,!MAWNHRO'^T^1^RD0W' 2248'::PB5D(@(%D:J@@]+ MYBXS3>XBAHHS3[M6PH_Y4;AR4TA=@@QL2"/6(X$EXZ"?R+NK!-J<69FPLT@GI4GY;%[:RD6 MS5;??WK;N$E8.. NIEO(&)RAH6XJBZ1@SKN2G_-2>WIJRN5L[?7:^E/81]'7 M"15]M?;T[/*\K^6+$_DZBSD,[X#@; $[OR.0=WM/?GLN[B!?J:?;!OXD/B&9 MG1"-" 6D28=V41J9YB8$N0'P%BLA!E^I]YUVH./< M&7:=C01S!?ZMU#E^%/SL76DV4?<_TSEHOX_ZB6RKGTW$NG0+?"4B' ME8%6BN6TB$>(NDYB\5\:"U:TU)6DV7 _CN>7AUU73'>OA])DMNZBY-OHCE7' M0M^P07H1C2P;TACBQ!!NAOP;" 2X6:W(20&BW_&OA!62[(W6AAG M<5GDU]CT&-@#9_OND 9754FQV66=)GHQ&PQ-51M4\C\XQP-\UG!9^Z#H8@--16-%"13B6@BO HYGD@\2TXD M-LEG^<,:E^5JYN=/)==9>'._C$P,?LA_!,656]CGTN%"47"5+OV_Q'0A7-MX M4E8X1QV#$[-WTB0L-^3\PV3K[ '?_GGIO%],U&HYOUWANH $$LK!SAQ%)E4F M3@M>%A5)I&2W>9S(GOBO;$&J3X2ACM\B3^FV!7(!\[BF6TH7@9AF1H=_X>D)()*"!Y?Y<,DQ,QIU_ME*5_Z]8[=L>T* MB/GTD%!B?>XHVH1.7D H;M>%.-V3#S1!%_^T,R7_0^!=Z_2 ;;CYUK(R' M.L>&2YP:4]/&\;[^+)SUHYNSPM7&>OE=MG*!FC MRU=8_O I9&A@TFQB"?IY[;)CUR[L#EAZP9J@JTJFB8BB4!P2_D;*M%22UOZL MZS(>>JP;KV"/# T=JQF3'C)61:""\%&E'0LAISA%8\^4G"[ M0_)]9.<"6M7'5&^1Q!X82$.6@-69JDQ)JLT(LF*/*%41,PA,67(W1%*#R#40 MWC^1_03Q$)(>!+J.HGS#Q^ Z^AF1CZ18_C=<=7-S@R7*2J^'2%T77YAQY)*T M"23MP,C1RWKTCA66K#A66]YXK Z4KSEU$60KG?Q\$KQ)L>&.!%=\D-G1 MS:0_!;^(YV= >I'[5U*?S9T$)#UUH+$?5+[!TH5N'VKJX!3QUD,V.$U9,B'] MNX^_!$GN*3K>%SPV4DB..0D\T(P _$^*;T0SVQTFU_&&]I$DT_7#,3LE1FR1 M'$!>IO2=3^!W/V#HT) )_HG_P 8_2C7[RG#H/.-,T5F'T%%4E7Z$:G22,P$U M$W2'R,Z3A'X;"5\(-.KAK,53Y83W WT8U,KT@8B<=4"C+M'VB!G9,]94(9L5T]&%[=\)U.UF#S8< MUF+U@[T;3/)O[_>G$[7W,0<["TZQ[,$N$1Z).MA\+A?1(8T<[--:GT^7<&(CCRN3$\N52)?VZZ=CN M-L]+^^BZRJ&N:Z4]+9_*)^JI_FB-B@?'[NZ0>+BS/X*S09_.Z^XXKZ3\E3A= M&JTG=X]-=H[-A?0>]Y$&#@?V^ @(%**$CE^&$CGL03%L%I;L;$,!!^0;'KDG M+Q@N!X&U0=!B%0)3/L0+'V+?SD(I;]G2 ;W%W-[.>3$2H)EXU\!9"O- Z-5 MR.0Y6BZ.-Y[X;/ C5BTFS=Q&$N )>.5CKI\E$I\/SR'E_$;H8F-,L0['N@%% MT4YH@"O6 ><0>]!XRI\:8Z'&F"F#P48+WCYK1WF/0N5]NCU%W\6:IE1VM.?)^C\^4?Y)/MG'PT54'$]7640*A(A.*(S\'JAOIO$ M2=W0J.SL P" FX[BH'A\E'HE#;0421$"[%Z=7!CBT;_M,>7ZF?KDM#V]S?TV MKY7\ M'W\6(67^!U$]3/'?O@F=67B)^%]C"\Q7_MF@-(MNPIK8 K)[/O^-'P#MC+I) MFHP[7)+K!(/:QJ8XF4M?,F2X.IEW;A\QR<74]!&S"NG#XBAU7H53M?YH(AF; MI%6BL2#G)SSHON4$]!KY>]/7M'OQT-OK*5WTRWKL2ME:USJ_,Y.#.'0^71Y9_L'_DOM MZM#AK1=%>R;1X ]/T-5ZU-:T.S8E=^7%>VS--SIA7@ZN4#41%/H05I:[_[6YQ4^]9D"E)Y[)C++,?C+Q]D]LMN6"'Y][XEJJ=]]OA M\$+9;K39/X\ KR86P=&X]:ZDX6X#(54]5\^WI M^#KS='XI_^P]2-MIY?UB M^J476CE]WIZ^GYM/V^<'#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]#+\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/;GG9F@.]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,LF$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?^#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 MH<0B24/0.,MXA1L0C4G%H,PC] C-U3DDGR;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"9ZT'_P@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?29$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>RAQROB$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\]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(-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[=&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= K805&=94NFTZV9].-,']E#$CD$\[ \#Y84TIPI^\XH6> M8N!%6&.=AN:@$(-DM::X>3GJ1I5,RS=CD5('(%]UT)R=VB 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)38W (6.ZEH"9E!LD8@/D,_9U<%, 8 M"D 4F)#^#D;*#$XV!5L(?DR3R*41I3RH@'$#@XH7&-RGZ,'^TYDC!@"@W*&T M#G<+XJ,?IV(I&>I(S2$"K*[)"Y8CW<@-R5Z1QL9O,,**+ <*O5NJ:C( (N(] M1'AO%T%3G/B+(6(.TI[>9MX*]Y)9N>T_;^DN8RN@?%_TT$N.D_8TK9=RZ'?F M]OY..CCV[=404+I WDZ1>[)254!N43!'QN1D9"&?TOL MMH$.(7.:1.%TI>AV;0/^AJ6S"F.37X17-G 7_.2&VH(>#<\DO]763*2RWA(I MXHMU'4*U>&E.$?.8LP8/TXX-&J!MD78(BC:">9,Z##XM]L66G^'9(^PWLE=! M5I,=Z?(\X91(I/!:Z.RPDH!^#21+V+5LAXCFD4JDQ,+R;2G>#5N#;Q#+MZM* MRL#T;B&\ R'+X$;WE:T;XRT^%5BKQ&7S^U?HVR"* M_NUL":T9(_6\DJEK^%<3/ P6*N1O$%SBM@\>Q6MGG7>\Y<.IT'7YG(PPV0=M M!_1G1.)&-/O4JT1W7C/(E3BD"+&),)S-GI=4Y%R5.NL4Z4ZG.ASH_2?;[L@R M&OCT4G[EY%U^ ]8[)ENBC+R<8P)0[W8OL#76 PFYBE%XMB6H!D'P83=[L@M. M$Y"0]U>/!3W"2#6(7NG!GS$_Z="J%DP$H,<03>I4FVNLDX(C)_QH@XRQ !(! M.?HK,(XOMJ[>[KI MG.8*N6UU+-J.5S8,]G#CZ=GU#HIVF^26\&(-V9;3MEG]6*DL40;P2_170L5]'&BA:#3]+J-X@T0?8OC10)9_[$X)27 M&#Q;SN%/BW MEP/>@C2)>BO.EOL<&&CC0H'&V2GZV_S04D%'9[)2%;PK0]T Y%Y^1X,X*UZ_ M14B# V1)N IABI!5EA*P\]B+HP8\[>H$\W,7Y(.8@=GZ%\$C/K+<>I92"5OC M)1H*U;#T=6;5CA36^1#/U2;YE]"'T4<7I!XS>CGX.*F+P1DT)+J@*J^(7%QB M;@:S@$S4)*6I4$L$&-PTGBNZ 9)HGB$1#;??)05)^+1N=V092[1W+>5I>]>Z M2T>@)EU$L'SZ*X,%\;F;@#C=U[&322DM3 @/B1D"H1Y&U42.VGA")#9'*)9< M8;EU)[3^3&7=G[ 3A4P&:XT92"6LR8' >A$O]Y-^)WSG2V MX.)_ZV:R4DDBDH31Q-1/%\P4/*!B)"(VTA:CD% F; M/N-?:6$^AB--67*Q6T\FU,,I(^@S15@0/,EQ,#,IXD*Q@5U$L9UJ0;<^E M[\(MK1;[!I]L(I)R[R5#?V9#;SH;.O.9#?V9#;U+\8L9V*5370,:I_7C#XKY M>DK22>"G0 BCXKMJCGRK/9W7WK :#0!?68\?/%NG.QJV@*DXH"/:!H(>:$Y1'06] C\4;QLQ ,EM.SNL M,?9O^Q.!&ML&J0;$YKO7^MF)\,P8C*2DCAXQ-Q.\%DN"GF__X^?G2KHV\-A>IAN=T'LIC/I3+L-/V7P?]KM:"EY,@%[H?JNF.VV MTU&F!3._HQ-WOFA>$T]E_E G^*3[D&-%QXN[&C;T5/V1[;^92+6##=NM@CNKR%!?;DO:\'6&3:,=:9$#W%0X$TF;. M^M\#Y=WZIMD#6;=DU,4?4@\$]H-)[1YLJ"#RDZTI=-:/S;.#XVQ:S)>S8JE2 M=E2ULTF.U$]]"5):SNL>-'.*L%03X KN(.N %-2VAXK> UXG(D#$#Q1] A]G>)LZ&X07RDF\=5OSEWR M.\QR] ?D<'!)B81LR[!9O>)8'N5 M"VOT1VN.GU\^1B)F7:+,;HY>U(E.15F3NK[4BG6U[<'?-I>'W MM^F34G\LO!1]8G(O[,:H904H,[>^8"R*A6)&S!3SD7)QQE*L_6V68C0130OV MG_I#KF=?9-<2A"+-UZ5";><,Q9C4%M MOKW^T*Q6KO%;_A"YMI;ZC4EI<;V0N7(MD\V+^6RT7 NQ]T[^-GLOFHPT];I8 M?\H^3-ZEW99LVZ"WN [&(LE6F&/A[7WL^B\*P?,A=TRE3CMS51D0U.<.ZDHV M2[)V L_D;R:)P3OA8B\"3=/@.A-AJ))+2?(8&95$C@?2"Q1=^3E%%NL&TFGU%N.B_0?]W%-Z#;_]<#H($3(.:0'AZW8-&3)"3[4! MU-LI8*1E)>K$1?7V46EX,F,*+U,G.4STBLF9!.LII"1<0_TIZ=9*VB,)$12J M'J[C9L373!,JH"5_;2-)_(22$DPG QTK/-W%@O:1$[MU"]##Q!TZ9;@@\? < M@XAGV)DN4@ %I A'H-#D&10*YY=!((IP,=='\C-T4PG*<&>J_'H^J7A'EA$M M_]S\.B+;HJ1@$)3&<-+NO?X# <''IVY#5G+*H0O26DYRBH*!6@EEO:\Z&+E)$R[&VGBG_!3@ #HDD9HB!T@C MW:;H[ULCKK^T&J\P4XU7(RTEKTG*>]W#ZP]%@"_P+03GO=>>GN"]Z%1\^ I#:'8;JT/ TLM!$$GQJ'2*AD4F.+84 P"L M0&!H0U>Y#O#T0P@=A5T +V"^,X*&3M+7;WMW#@!]E4+E80LB_,+#-*Q#Z$F. M9%N%AFJA0\_^%B%(W?;'#+WGG=!>^:3_\^FN8YW*R WMU7S;[>VLR.#I*V^EK4..=+JA+K[!>1FA C2P*T,/H*0C6HH_Q"V9? M&7KZDSDQ(YW0(6O/V/,1"45N\ HQL^E_B,(MI/_!/HJ*EV,_]QEH: ^O7C=, M#['40"P_DY8 Z5J*']J]X.WH@-1/NB0"YBD9P@^G#S-U@")(AB*K35K(6J; M50P=S>@^%AM_A JMU(+!Q""7*F"3* S.U&VX+%FDKTQH]4L@!946AM&]\\(/ M*=JCF14UD4:D2)--KW>$XU,&[\EI4\K ^7D51$XW44"E9$VK?:@=9!Z'4-!U MZ%:.IKR60F[LC>\N;?4-[OQ]?3)%5FB\J 8HV"8MI XH14?\((/_[S749OIB M7K"65%4-RRBG1U.54.9\((4BISCB#]*>OO^42WEE6D52>1]-.#/4A,NWIWUT M\G3[TE'?_A0.CB^X1E^"MR4"W9.M&G*?09A8RW!.+.4J,+>W#U>R.;2-;A_0 M:6BG'X(/XW5H ]0F:%'F6%U.Q0(6]'@I;I_[V0:I>2.@=#W!J2CFWN" _R3L9"-?9">% M)3;<'YJT;S*,[36SXP:AT_$BI;:!MAMN&FDK M'H9#X!7\=] S7!B!RDI),!S>)XE4QOK+EVD@C%@3-#+6#?;J]!O.!!W:Z<'C MPE=Q37@ K8O>#K/U,]L^%3X'I[;;,5N0@VPPIX8Z+(#7(R$XW\: ]6<@N,^@ M[RJ6&<0X$!F" OS&.1MBP,"7A!X6Z.!J.ZB(I&['"[;/WP)B ML=!KQZAUIYQU^\.2MDD1&*EIP1HC>N3E%.;SUB9A=BH'O"G-A%5%'^$X:TA% MKL&%?UNP5'K':8:OUN4[!V=MAE*XGE1 8Y0_06B H%E,"Z%S#/\2 _2B!!D] M5]NJ"G3;+ MEB')"&Z V*TZ_%,P4=>@<$I@#VBD%R>6[ZPE,0DHL%PY6C8+)FU?&;(7^(>/ MA-E)1(SJ-,UQ#'!B?\-OP:Z9-;]UC3.4L;T!79G#+7&&_@HFJ][C]22!=:86 M",S3-Z&0?LKD>8EEMCKX8@I#\^'--]T(FF8D7(8-^8L(U89<@4/OL37H%R&-I!\SXA"QS%LWT;_X<2\AIUCUK##,0*,U9 M 0#UW,)YC;'S)?)F&CS-(IL.MM!1Z@E>I<<<<9S^VU9J:K/[A5G3;F9)K!H_ M8-*YQJ%;'1_2!V/^]OB,.K^M%WQ1Y%F*A%XI4K(L3V&)[QI@,1@[$T M(YA2" AL)?]60P%,Y)$VTB*7DQD\Q57H@++:) )^%V6U\=(?&',V@ M">895J 6(LF+@+T2NB;)0_0!9[Y\*W 6TP1QDTU_KW.V7D]H0.>G!GF51OC) M4U@H_TX-M/$KK%+P"@O/M^KN[1VV&'6 S.3RAN9?9&6XBZQE MAVI/7Y[/I9XU&5]U]O$VRPJ]S:JUIZ7\8^FB>_M+K?8/CJ&V"!.ZMS."?VL^ M\CXK7S@J?_K7"[*5(#U< ?4\H,!9T( .X*6Q8*+PX&,^@V+H.US!;3($5@/! M% 7YJY-+,-^#LB+3)'0)["M2ZT/K+U+^5/C%K:-8IPC=<8>\I@]B,!5"D'5D M,E1E@AOK.FX&[49!6B#!/U,QEDFF3KO(T,Y5M,P$-!1;EM>3Q5L4.$K>.ARX M5+!L.,//2WKPR7U>%%5+[:F95CJ_AO=-O2COH4")HQ VKB!FFOHU("B";AU( M]P8T930CU($/?6?^B^UI[N6J8(Z*W7-M38#%D#/X)I@#S*>'>)EFO"; G>/< M42H@R[/Y]O3^+'\[S%W5)Z9\<-RH59NUII,%]=__=#XS$'9D&92Z*%@_"[91 M7ZJK0@)!3Z%M:UA0SVM0X%9V(-INU'0 "U5"O<2C#7E/%$R 5#JT)D,2%*2) M>(X<@\8',X/IQI%P#KED]"\4-!K!9:_O;CJ3A81^J^^OLDK1##+3AUE.;BD. M]=XA%*-^8;;UP^TCLY^_L@"2UTI5[^ SH2$!%IZ;N:6E#S(X1,^;(#.%GD%D M[H"1[429:.DB4 MK(%!:K9-[>30ZV3+GEH(M1G(RWKQ-:P39I= MX^#TPPV^)"LD,Y?K;08VE])5: G,=VJ4P&V:&-8O+9B\BX_4(+8)7"'HAJ&/ M2;@3WE"\M!6PC$@,U=LB=WTN+*FBT>)_PC: >T\K"_F7\+D.$#.&6,\-L"#= MX"N#MRN*":%D%8ZB013^RI! _!R#RF>.P?9R#'*?.0:? M.09+F-1)^VE%MV &T'.:]@!@;FY[#T!4>@^K&A)*K6HRD=D-QSAIP=9&.&^5 MO =OM.* [:EZ]GR9T93KR\'K'GK@H+0I_W20JH\%DVP#?H 9WKS!'32N_4UO MG!L6,Q+!UKGM^O:7:2V_"WU2:$\SJ/3S]V.I]ZQZ_2"Q&3)4)?PQS!58:C4? MKZ^K#[^%VW/AH7YQV3J\/3]\;-:$:K-9:PG5FS.!N-Y"HUX]J3?JK=_^35M* MYBV[L8<@O[Q&DPLE9AFD&I9;@) M3[9"5XUG:,T-.94Q @J%\54Y<,*$!&3P(HDE^XVY"@KL/F%RL*0?S4"515"9 MA7[<)\/=Z>(%P1#_>^ 5&R]0?\M\AJB*53?YB58C!7>6/[\3YI&% YF(C1\ M]I_PC0@HO7_"E./_N&.Z;D&9[U3B-\')>=WV'IE0;BO-.5"%TQOS/7/R\)2N MP^4/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,,)55RS?3H*CLJ_7GY6-VX,#!13J3K6J:P6 )MW:3:+Y48'7:(5(DS M9#?&RR[OU+L+ ML]D_@:O3*/7[4;&R^=HYG(X3\#MV-DH6-/'^RM#8*I9)LZ\;UB&?3Y^^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>AK9+;[A%D;@6"_(TDHS76(^CP3C74YY]R-VV75Z## M&%ZAJ^PB+&5\)H6=\ 4W9_PN>5)+T&T"D85B1DS'H-MUW32/AL]6H.&VTJJW M!Q9'M^I(FK9R=YF&WMV(_ R5F3X/<-7XUZKAJ+A[%9M\RNDEO/R )Y5-BX5\ M@O$HCSS.XY(';][6"")HEO-!W?5JN_'W_EAH_JQPBX.L/:ZKG@ M#_BAO9=X"R[05CJY)2@W@6A 0_+!5^GQ:V M)=2B [;!JZJ=NZS;W6A5.;W$G>_.QJB*[>G/S._KATM[/'Q:,P"RY\BMY?0, MN M;VX*A5_E[,%Q]93$5)K"0^VT5O]9/6G4HH'[$C^M&1A%AO]J>IM>A= 77+J? MZ\:I@63%:NBF.3>>R'M?JPW8GJ*JWOK=__-T:1;W*NH;B+-5V]-:X:W\IWM2 M>]"B<26X.%LT0>Q@@(V$318'V,)U*[TN#"RL^!A1M7KS<#.]>\&^-BIG7BXR(_1ZHVPR5ED,QBJI >/, ME764ALEN(&XY8U:N%;*,V-_X!F0FB53HM)C)Y;"7L[C&=O60[G[N>5CZ>3F3 M77_/*V(I5Q$SA4T'@GET&M[P.-/MCM6S56&,SK]<1+\ MB,?P3W9-N7OK7 _3IF/UW)= M.K]OZ#>;Z'254%"U$-H Y:K7;;UU=+V/L,M?O_E9NVG=/M3G=4%)_(RRP3-J M=OM(ME5TVW.WG15%S V?EKCSBCM$>UHQ)P_*=?[/B[1?:;*!@.EY>]H[N7CX MI0\+E=_/<0*FSF%_ -CN7Q(FS?#H5=BAKE'-Z-AB]:1WE M/K\O8=*UN-C[;P0_[W0,-A^FLJ#SJ(G%(70!]H5@ZS?3,^6&_O#:L/!A7U;N MK&RSG']_^8! [*G;)1<:X,Z$878N(!B^P?&=B6P281*Q6,Z*F4+Y7Q&"76+' M0QV ; (1C)Q83A?%8GZQ^[9>!/8DC)4?I/$UZ[$(SE#3AD:5: %3O]\WWXUZ M1FM^1+ 5S]AM"TF[@YELTGL?CXM)JQ%GMH2<2 20*U_(BJ5<@L!''QETV.U3 M#)<]"00?,FFQF,''6,YO,9^Z$":(@D%31]CT._9)2\I(_9_%ORABJCC+_NOC MI/P!QY=0N702Q;-B)I<7R^4$$9O_]KCHPM,*E42Y).[^\V(^4Q'SN0U7=L2+ M@Q;:4PNE+]&OT_?*2-FK,,YVXJ"Y7##&=F= KU1KW/UI/#XU"Y_3/)MJ')10G+<[&27/MJ3'2E,GEV8ORNW)P?/=P M>U=[:/T6A=K]8_T.JGF]+E:7MXVS+89/.??'+[6FEWSM[N1:R#*JM>L_ MF5]W_=93=^XRN(^NOYI,G*TFUCJ>X0\Y7_CU:]BIWKVLMM%KYZRN&:->*P!] MJIO61P36UYKT>DUN/GCRF.[6B_B[=)[A8!K:BPG^9 (-?JOOBLD]?6(K*GP; M/^C\6!] EW+2V-N\)M5G[>E3Y4HWKH=%+=_;9! \'XR 4B/8F1F-E2G<_+89 MG0VV4X[EC>,VK&.*&#_%%Q M@UPBS#D3DJ\4Q7(YP#E3. YGQ=+F00OJ$+U0W5]_5#% M-O) [R@J&#-G:K(G;!$>27B,D&8WO08W1=\(U=H^VXTG'1MJZ,:5+ MA)U9E[!#9=_9^K(/!5$:&!NAJB>(P/UWEVKAKRTHXVSM MRH&03%;,QHAFK2 IT^M+RFNIVUOD:!S=CE 92N'=#+8/4R7Q5QE3WEXJZ(T_GFL'#(IB*5*1BRN M[5ON&M''%:FQM[BPI[=NC %VL'-.IB.G2NIT<_V8I&&/O5XY[E,5,<7$>]$[N M_J(_=D#39D6W]XJ_T!%V.'M15\.2C#<5C^,AN$D5\ MX\_;J !1K!QXR>?38J&R;KOCS>THGSYX:*+NH?)^V%=D&>%G,/UEE?>.H>(- M*,"@Y6PF^STBA?_ODA,+"6)E[ST9@MC4-0;!4^[KJAR6V'.B_ODPK#]EMEM%YTUDC M>W2-FJFME74F(! 7G*&?$8NK)V.DD^<3TH( MIX28RJ"87:0,/KHK_*;S^M8_,ZTK%NODS449VRR M0?#J$C_ ORN[TMFDEYAB4(XCIQ^MD[K5OXD4[@ON^3D MO"X*0QB 5.*X%\2BH"'\/]:F.YJO&OL)T,SJM[PY,5/*B*48514)5?BOUQ=Z MPR7ZI' ;O7=56T;'__T_AX?"N8)4^9MP)SVC[WBD-QMI73Q"+OU=^"FI-@R6 M$0X/&<'+RB@^L?B7M51I\>+JX$P:RH-GUCS'@+'T8=AISM9NY'+_1 D&YXE@ MR8M3*GA^R&^JLYW?!?">OPE50^HHW>_"#681NN4W.NQM)L^_]1_G-?A3U 1R MX34W0=)TZ/*__\$G-WN&/BR"CH&DU\,.PHR&9S?$L]NK4X.AXVT O]=P"'2? M.<;8=2[^+-/G:\=/ERO3'Q5[3V7M1Z9K=A95CV?#9K/RSJG6GM=*)M-I&?Y;I?Y;I?TR9/@<=O.$R?>WIAYHIG^;> MBIOI9?M9IC\#([9.!7%QY?3&LE@J%<1B=N^ZC.U>E7X"YUA:^28C)^8R:;&2 M3;!UV0Z?X]+N>Q)GLWIMJI@OYL52.D$>"U4/^?750TB5_EGIMOSR]L?4H6W[ MVOFN>URE'Z2A!;7,I95S+S^K]..*V$5'L'*Z9B9=$M/[>@1K2\=%V[KR+0WT MITMO),V_LK[LBZS2_W'6J2E7C;%57R7C_U]9I1^DJ%@5S*65BT^A2C^WNPE5 MNR,PXYW#ZOFK6;%8_+=4Z:^VMRLG<):*B^W'5?."UQ.<$57ZF\>*JRU!66,K2VO M' C)IL5\97$FQ@J2,KV^I)Q;I=_0,R^CW[<_]Q.DJ76*YDQ%)N<=NPG3R.M25J_"U>.2*2$TO8 MNL]E-U+&NKKW'E&D/\K+Y0[Z/)="6;6^+]+.Q"YO+JX=T8K7KWDFVVXH4 MC+'W*X<]2CM=/;P9D1=C/U?/Y!6SQ8T /)VO+=].=,DU%'-]?5J_.;4?4;*& MXC%\9#>I(K:,\_8I0!2KXY_GQ?S:,>M_@82+W/F5@Q79DK@^;,:N47),^1:Y MFRO''(H) -E&-P]9SR^>BRR LC]>+B[E/Z^OJZ#7_0>QJ]LK*$9<= MKV;_> &Y_%FL'I?8[;.(64Q:65A,^C'ANX7( KF*;14.7=EC?R-M%@N?EIM21_(RF&"73^0N))I3:BK4,E42," XD#<'G[]F8YN MSWZ4L\_)V4L1*>L\KML*2?8K)=;O/IK)C.*/ JKK!RIR)7S8CI&+'8O"HX_ M *ZB4MH(7,4^[]QF;R@B66#EZ,!&66 =W)&5 :)VK>B_N#0$"55BT_?B=4.N M*\/*8)<12+(A)?V5].I84@#:7A&+I;\8@:2Z00021CO5^^%-K7+3:3XH?R\" M23CIK0'67*RDQ=RFP"1VC?+B )!D'3P;HZP]W&OO$&;-+/X(^\R-/4"&TCW^[] ]W'(UW9XVBF=6Y_7'G[REKHP0L!6,@_40 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.9SDF18J-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<<4X=)3R]*>#C(WCZ-W5&R=E@Z.[ZJMVDVKZ6C$__ZG<^P_O<1/*Q\\ MK6:WCV1;1;>]:*_,!!<-RI[O\P7XP%?!QL?]V MC/\<"WQ(:N^6\TG421 UP1M;AZ8W>_?!(W]%3.8.$_0\K*_(%]>*0\:$+_)" MDEG.B.!,!S9[]UYD.$P/TSPH,@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._F:58#:TJ$^.M:KGDD4HV?7!\&)$VLI@HEMGH^5*92$$O9Q8ET?Z]3F$[0*60D]CAZ^94?7(XT^:_U M"<,)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
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+.TX92*D&O5HFHT#/4)0: D,N( M K&J0)O2Q)9=C(,L/5ZPCYS/>PLW')W3#U2,73:&^=*?I_(#((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\T3MVV9WV^4EA"QXM"!V'BU* 13X=N M\D%P?Z*,B61E4WS4ZW6O*R?O\D]%Y2_45DE-"6&:+UNX@UN56Q*HJL$G'(M78ENK M7Q-7+XOZ$<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 "?/;:*&OS( *D[YS'$' 5W'LI 0MX9G(?3 -)D@R3 !QQK;/CTL M7/6Q^6WO1SHIM$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;+_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^O19,WP:MMQT9X*8DLI:13,%:_#4V84E@76;T[61>0K[>EMRWS) MEGZ_E^N5'<4+TL#!FZ&M!ER.'+N..T)[^T3._KOJ9K-;O[V&@%W(O MG)9V?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" 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=#+%>>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^$BHBM^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*1Z>$3(*\@XFL@P!E0>C9JDIMZ7U..]G;VLNZE0*.E1'),5GI* MEY:VMO2ATA7*Z8(H_%X"W'V^&248&(:>ZHBDU-!1 @52)C\V6 MZPA&U](7J.VL,SEF#A'FA!$>2U(,800IS:;S'BMSYUQI[*=] 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]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+2US%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';:G',(:$\SEA97]TG(Y)V;SY@E7_F,A"B[FIU3\?87O M0)AS#V<5@LRL[(+E<@4Q7MG[5/[-_7ZV7+B');=N9@P%U%)+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>PJ_.=>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'WB/7 MV@FPT_HN: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 M*[L.6=V)"UF]!%[T)M&MZUK*%4'9=*8L\E=J@N1+G=24G>K&T!$!TG1O1^[C ",K8'HB6#:* M9MH& ?7ILM-SL'B%<& M]H#$*$-0U@&K!_ M2 M0;8[O!+A@#5"R1/<]12V1@&ZB]$K0XFZ[EDY%!@#&A1(9_'(H31STHB4E M"-Z^-.Q@WO[5?'O23CJC7/*2 ,S9]$Q27&YUUV\!IV,*,Y&%UT W)T!_#KMV MJ*WCTBG'@Y(U:S""%)C9W)/HS97?&QP\Y33;^WW>.IG<#SHO(1O\[=NOLU_? MOAW&MYERI8-C35'].BOU!:*=PN'L1$_G4P'#BZG:[V_JZ;2*\AL@@M#,R-SJ M:G32IA)K0+X# !I!L M^+6O?K:$=I9(15V+"D<&QT9$,Q!9RD]D@ K](3A_2]MR>V1V?O&EV"1AO&'+ MM1O7WA16L#<[*YN'N03,PY:AZ+?#H6Y8P& 3WCXL3.36W61T5;3"XBL)VX>1 M\_!+C/S*!F)AOL0 .POF('"3"%B(\&?'/!2QK34TE!'%_B/=9!#97:)@)*%G M&]!<(#5S9N4%"CF=!VC6E<],K?4O<\VL]6*^;D23I_,Q\ U%)?KZB!XFL=T-!*T+"%@OK^9'"-O:*HHVX.>I^Z:E=U_KIFDC MF1K7=UAZZ'*SCZU#$\L6\B>30.\R5J0VJ\.4W$ ,0_A4E4R\RV1@>MP>QKP^ MP+8G>>"$'?0:%)(NOSV_GS_9PXQ+(?0#6+[A;^,]@U6)@DG6LHADXFU$6,"3 M2@ PN5U9P 9MARQX29*+:UT29%^7Z)ILR9727+(#OVZ$O2[P(6&.PDF*;A9H M];E2FGR E1W6>>KX6)HXSRE3_63:N?Q1<&F"3%4@P*\+:$,^FCZ /^#SG-,!-28';?4F:?L"-FWQY&'==7Z/8]Z\;J"+FW!B1!]SX=P6CC 6C XPLA0(!L(6%)@.'7WZJ2!$)H1F)P M^T3LL]PV$E59F5DY?)GY'8U1#&^2P8$_O#R#*'3 MGD/,PSV=L:JDJ** QZX MD;!Q^^UMR6@5#0Y;D.$@#/0QU/7>*)N%W>)YR6B /(3Q()AH5#%J(5Q MQOHNDX,T5Q;R:&>/2HF-Y\#??V %Q+GHHT9/8F6*RHG!+];AG%TVYC-^$83] MYF?E"3+A40WF*13A(=B:SM\LY@^KBMP1FOVU.FM$F%"4S&BM/(PH;0QA]1A0Y)S' ^,A0U(T&W(JV;M"]R]\P_CA0! UU0!_S\_64@Q_8EMCN M)O 61@)OKQ*/9(J /,[ N_R'V>F;';'\IYI@^8\'MQ?[K>%3L=%;%$D*H;\6\NER1)?&4 M:V!"W!!,%""@QSAU&N<($J?98)3',6IA3@8=6-X''9@T!ROWLM3K#]J*3)\+ M.M"S"B ,FT=(#GFR.<'A#.4V/O9T(((>"#XOC/:) /]*$3'>20M#9?5!9I]O M)EK]-1CCG32^+_F*LS#R$ 78MY8'KVYV(;NR'A'C=[CRF%Q4BR0B!L^#A4?S M4K[4NVK>4>RIU<>$8<9@>=&S3(QD)>+J_OWD3M&I+ MX\_(]-A+"&)YG%ZFAV<._GBF1VPKW=-&":PN2+LO7A0G%A47)"TF=\UYI<61 MCUR?C%=ZB!VF$D(@'G- LN!1K/LPF*0OP*B *XV>M"FYH]B8MB9+[N_N"JUGF"MIMAK56L>8#-IHM[%:O=IHW14ZM48=:U5N"YU*&>LTK)1* MH51JW-?A[SY]5L5SKEZ,RQNL#-+H?[]1WVS#.=FNR[VZZO07;?EZ1+8^LC&O M0JOU9CR+(\D=4J[C1RML5E>O;H=]&X/&WB$58X=AK<)HHQ5M)/#Y>(BG?1QC MG_>ZMI:F'%>(!N\0 =PB;8@Y:0RWW><*@D)V5T)%?W^YOR&>^[DTAZ>R;L-3 MO_VN"[H!B4DU]YA$2B\L1?U\+UW9&!H.ZR'^>"T6)[(TGDTRD_=9CR&@13=' MQ#Z$'$X2- [>D$HZU7UHJ!4$VVS?1AQ@&N0U[JY7;0\3'(KG$@E5H0UFV&2) M1#WC!@I]J1%/*#DJ-F0=9UG $MR^B<>SH6609,4'_^/P>J')X/;W,:2)V@02 M?;<,;JGNZF7>J3S7B/*P'V=P1YPL [P<11D6 /XR059R+'/C)U!"H&21,;EX8L"4=)))6("!=8JG97ZOO#1_Z:8Q1]S]8: M9XAG3SLR8M3;9&"XPZ>JGW:"O <;)/I.K0JU963,!1D6,247%WXHJ0-9?5O0 MLTW'"63)!5]+QEH23V]PN=A*B< IEL!SKH:?42?D68]=]2)S,@"9^^(;6WHN M"OEQ-D$R[P-@R<6WKRD\#RY.CG9374:MMQ7SLS#K10NSCD,>-SIJ[!R!O?E? 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)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_&N:N5\9W%7S"?.>CMMI$*Q7FRO M+HCAC*9@.IJW[$;VLG\WBECD);7^98D/A9B_37K,7#S5KDOF8M[GUJ)SYK,4Z35FLSFTZMAMYQ!O;" JJV \#> MJ*D\X41-M<>*JG<$=0([*'J@I;8B5.X/=%=MA;C3*KI]-/.@8A\0D^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&#[.PHI//J!L%Y$,G\J]=N MS3_O[L5Q5R3>]2_CD*#$I&<(+D.SL8HP%Y69AFU+"6KT Z1HKDASF+UQR)!H M]/Q!/9"8K"OJ1] 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[M^OQS7-A-8.VB!UZ'3&_AW,K0P 9]2E-Z;_=&D1M?N%X']$<-3,0PX(5WA MBM00V/LRR/WP3(FGMRV45(+_O43H0HD<9,;E?@%^/A45>:B!L4?&KI# M$;RE+\+6R%;#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=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?_'^=Y;AZPL(K M JX>U^Y(9K=J* _ 3S#BJ98_ 3E1@=-5#$\"8B:,KM1H'EU?< .X51T!4"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$'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@>&#)1?0[!]63 FCO*T65!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[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 M3=*3!+@+AR'9A(DQ^/O]N;O5:HT:H_LZ.QI[Z+??S(ZY;BI2^$+-T(X"C-YB$[#7L;2T@OJ:+8E@B:X1608?%(Q0[4PS M!INK@BZ:)44PE [3Z\6[!G;%JZIHJ.QWB= [2.W.QH J%4K](7I:TW+98P." $0LS=!6RFZ.'+FG6 M)729\0Q=%D(=ANNHO3,_"'K\*+\NQ'IISH4XB. Q+#NTBS84,"WMDX#W0Q,X M3?N4&:'^#VM\W *ER[V ;+[: %*M+ SYF:3#0]#-4)G3^_;*?IPG'S+O=X6! M2M>X\5LJ"B%+1%((3C!MA//X''J!NV3'-_7Q\O4IC%Z(<1YNN:4OB-,Y1DA[ M9Q@G6= L^@H M%P^7($[AUT9SSC.QG'.OA'\JSGEL.4E:S%LA)H%*= ;/D:PO)L?' M(\[XBZ"S[_X>'O'Q+:[[R0-/OS*%XFLJSA03#:B73T7G@>AAE3,"@%X'3,E%4?00/$#KH(5!NWJ-/ M/&,X!'DF,5U )I-*U@TY5*:YJY74H\1LPJ$<8)K&SMPXU^DP3L/.W?%KD\3X M-CO8;2:6'$!G[< X^28."[2M3GJH+ADU.@O)"O*T)?"2OKR]+5G,\-28LE*G M.;NL4^'@-);[X3AM[T59Y[OSY2&!,\P.OMP-.$,2'L@96XPC8T4W8(R)ER0C MPH': 6V"&VOOS0H6#$45_@O6I!FO@F4%^@XK5!.,\*7+)"E$^MPXB^ID1\6W M!3L>YU*/U(5DQ8"(G1N+;G$BETRD+OO#K^D[*KW6USU4^ &\@<$%9O&CQ&^S MHZZ@(I82[,@BR[PN8E5A $NLL2ME(AAH6]1;/SPT*Z3R.J=+[_65F*C4[:3' MC/;2"7GSIR\1-_S"1 M8GJMPNB](%7^?,>2"921<'B>)*-W_@[/0N<(TMMEH4IM* (G1BS5\D=.-B3+ M0F$';/NS$$GX5P/'Q^+%P'Z=%PYOE]7NM9?&]75EFIV%2K-[4B1,$[ADF2D! M_ >=S^,4&V,4@1/E$9)1SEDG_1FV6T1[WB8O!\DS2JI:)XF($LG@6=HSHO2% M7G3VGLF*LLB-/=5(%>RMA79?;/3M IZXBF)%@*EO0#Y1RM*=">O@@#WE:&U\NCK6HL,:",_=-*G%8_GY MX_#H3&J[E7',8@Q7]1LVEN9??D[[SL';#>F[HS5="LWW[R1\WESW\'K[*+Z\ MU@>]4RU33)$W$XNEY+W[N(?(+GE#RU& UF0PR[%UL-K1,TO#=XJI#=A75<^' MB;A2ZT[]E$O_] 0R2PL%O$*0MX^:(\($6O6Q*ICA=J^0*\HOQ<'08KX86I1J MLJ#F;BA:^.\D6U [ KOGH\" M0_V,K.5^%J,V+B[GC4?BP^UI\^IRKQV[N#T MA$:U^(U9MUO6SD&SD($ALP; OA-#;&?CQY//3XI!ZJWL]9+7YEI]># H>A(, MDD X+\O@).E9S;5G;#A&G?9YQ89W'(.73O&CWY9693Z!_@"'#A[[F?U<(G-L M"2*+<]X=T;R#QS$YZ7R"QTY.*BMORCO'?)#Y_E$X*9E.$ZZINWGN3[MGJ<$H?H=I\ M3P3.UEZVA3Z70/T<'321S9JO%J;FO' :^*XS*%3?9=*W!3-[8V21F+R>:,P@ M)BL'06#]63RA&((_ #8X,.K-V>O Z)FB5AULR%Y=-DL5[6[U,CXP:M7!!6'C MJ3DZ5#Q5D(.CJ1X="3)NT=3[J3F?TAD:504X,&E@C)M<7\7B3GK%1+WV6 :$PG/9/,[X#%$]4!^*\T?,.IBKW@<',\*'/[89M:T]+Z<%AM2CL"=Q&11YL_"E7 M8&?I$P,[O1$JM?P\)]&]P?M+_LP@GN&P)_DD_"PFGW3W!F\4\58!M#?&[AQY M;4$7>+HQNEIEO2T8/>1P%4_,7F)<%*I:.L\EU2$"<^L0D=GJ$!$>0IQ@S]=3 M8KSTXN\NW/K OTRI]\\^?:!P^)N>'B\,'Z=6$@,K,#\^8PCY%W_M4[$8$ MY7ERT$G(S&K$T(_]^NMK6QD>N?C;DU![H+0H(HDB#DLEX$MR..'-47N&O;P[?P6$OG8 MX:]TN"X11X7 *>]>!.$:8D<*@ITU2Y7'S1^*87&2 M_4("'C4D-HHVK@8B 3>7B5>)\Z:R;%/M/)O"V,6.>O!NUY9&C#P:E'?T\#A7 M.X_2M"\>6XC=A=0'K4L1":38J$#@7OQ2Y+W[M!V6%\15L:?2K9+:HT[69=^3 M8\BP_DY0+5VH9FL91;97D_*H1\;[3%1M32$-K!*9,P)8)G.MJ0QK[Z8J;! Y MY6%326CJ6F-4UBTEUP_;BU/AEZ'/9ZP*U37"ZE"%?,R!&\5%XW;RJOU09YB) M1+V>9%LW7S9.HOJ.P^E\#&,W?'EF,JB4:*=*#!:*7%=4MI,[R4YKOJ>:A ]# MP^H3?]BR M[;14#U#)%NV ._7\9>6E/AXW3K?PS/=\$[!829R@69S+>Y[OEU=Y"*]R',.K MM( 6- XT+;<>@K%V*M?-P0-]2F_7PC.*N4W%&+E%'@DHK M^7CGT: \@FRL2OFK\70X:(O-P9']B.W=N(J @]L3<"/R#' C/"<'AC,U@N=R M1LP )G&NPG!2O]+?FN[2PR,9SMD[#-';?"_*;\Q@\? M'UO5[.F:YGXW0Q+9 ' SY' J'P-G[817[C'H,;4CENA>?3Y6A\,AE<8 1XK* MNXK-65F.;L9N(%K/U/BZLN'C;Y@ N&P*E@/.4=AF5?A70URJ[=K/=G\L#&:2 MT!C"@RTI,XJ MT[+T[;1/H*!EE.&NY8&O*TFA>@6F3!_\4Q*1+C8"_I)D6.5]BP;GSWEGM>0M MC9@K5KNK8G;6KC4JJX<1M6:Z@:A-)1Y\&1 IX=OO=NFJ4KZ_K6"-*G;;*-2Q M4N.A4B_4.^UM2D2:BAF>6N'F9WZ#8RQ])F8:$UF_F<,N-W,R@P>V(I(N!#A* M%+Y&&GS[70*_$N494.;.2:3FSM?O0V_:&L"Y7@#8!J3>_WZCOJV/))LO=UU, M\-43NWQXNJR69J^T M+A5CNW!BJLELQCNDQW1:!B>9K <@TR*G619G7&.I,:GK*G%E/XDKUJH?^NS/R_+.XQK[A24A@!MI MZPG@"D<@F3HY"CE+AH1W-:XHA%" M'K:EP1ZK:*I*7Q &&G1U(!(/2<6J\B'>D-G'97W*Q;B$'L>B+NS>/+OK;$HS M[2=F+0$;@C48S;OC';*[DHU\TFXD\8L$;ON%6ZA4'VG>M1;ZG8=5[2A2;8\N:J3%=ZLRY[=Z>T.29DF"E+??M]L?8.3YC9 M870GY/''XOW8-JM?9Z6]>=_><[-IIKRJBFHG1%F8*F#?#1E2I"O6NP.QN\HQ MPLM+[^;I(0[[A[Q1?F$>+MFMH,&+QLK0@2.$U\P>'FDLQ]*/ZZ*]R>3+?P.T M<(CCB7>Q92- I1RE112#YRBWIN(ASL*-G-^_3M'C%(/T2VPCGH(Y%#Q'NG5& MVN\4 S7.MO-6 <[;974QDB_+7)Y.Y5IU[H RN&GMRPGR8->+"W@X*BNBQ["! M,NM)0J@80,2W)./_N"N*" V]MYDLAY-D%L_3;KGM$%0.+[-_U2&Y:X+8;DIX M=S[6(5GJX#\H/0#S!,Y&%+:L6:'071$/V3*1YW/*7#SQ--@A$I$,Z6SOLA-:],I'V"<_##W=5EKWAY1]W,[\O"61V ([E5ZJX65YWI!RO5&?TM3'*K M<=]I=PKU$&%O62V"8 M:8%_;TV+N<^5]:)LN:XR2T]OII<=OGZRN2[:TWBK=<=)E$2CPC7-7AA=T8OC MBOHBW4_2,0EW[RS^NQ-C\__^;XXBR5_K"83&*C&XS!0#V"$C+ Q]J A+HJO. MQEVU5PSO4(QIZV YNE[>/=\^D$HV#F^&#JSWTF?(Q.-^#'MZ<;^P2^<294UO M?,"^K-GV' F[>M'U&UIYO%(OQ91Q!VY6?]^38>TX?;AH[/_QD^DO#*T]A7RZ M;Z(^I:2Z QOK>4@.ZSZVUT;G\SC%!D=OCH-H.,8)4+%.@(V=G"H?4([9+[HJMWUL'W"&ENK-0+*F>OL@+\:/(:!#]V3 O)OM[RW@N8,*..RCM6ZGWIO>2(WL>_ZCE^;% M/?P[Y7I#:0<;QLZ1>7=,_$ODVI.D\8%WGAT#$T7.I"[7566FKEU[N=6ZX3I/ MR[?<@6[NT5\IX1N:;W,C%Z&K0?A>,G^'B'O2=!]_Q[-_RWG=W55QOO&Y"],_ M]1H]??X8'0%?-TXD?'=VR*WT-V5/-"U#I=PL9;QT[Y:7.%H7.QR MG/!PM+.^B1WDBNV9)%7GY2H5C(=4E&:J*L 6'/4:@ISK:F6@U&ODZ/UHD/.^ ML21LJJAP]V>O) .PRBZG$5XX<['3*21.Y4B/QIM?L/+]CLI5,>1B>S0$L MF?Q!N2J*HH>BJ"MRW](5X"+-L5?$+5-Y$I_3B6Q[((RW# Y'P?%>T,;M:QJ^ MT=)#(0V6SP*!WIQS!"VT1ZN '$WC-.$V$NP+L;[_<;EKHMB>$,S LWB6#8[A M'P"[3G97#]3U>W[%O/+4J;=P^"E&7P9B5UN.F M=67JQ@R[, Z:_L=+I*U/9/]QQ^=6+^Q$M@S^R6L!M#N^QLG9%EO_]S_@Y';/<(L;>ZK OUWT!""F8'53 M8TS%^9R: 9T/0P [K>$A&'2V"<;>+;]5B=#A/\JBUI<4;:9Z-<5SS"OT?JR[JE\Q#_/&(WE7 M?CN,)HUS!B3](^,H.Z&*W=7S[M7FK<5;!.X:EB]4O#=D\M MA2YRYB]%>2# 5Q(_&%$^M^JG7,Z[^@GV&@1VMJP#RV+-2V;[VZ(@"T-1]VW0 MR+B6145^:W M?WO&UK]CHH:Z.JHBG(BC#(V^V$"3HUZ[/S\94SLJRK+=5?^:OJN2CSEJ((6I M*&NV&@^U=JU1QZJ-%K91!5CEJ5FIMRO8O\5*O5*M=;Z?<8U96E52.==6B,1\ M4;S\J.<4]77/>JGCUX$57;L?/LA99KADYTI3V'^'B16!L39U:<::J@)8$R_M M*,CNA"_5.I7B:BY==E>+_A/_\M2N$%GI"$4)YE*A-L.QH;'@% #OR;;P"Z!O MO'X?^=BA68ZA<387W._C,W1/C$/Z@"8=^3V@(P3)X0238)E'8(&G20!46U:0 M![=*/U#"J=[M$ZEVVB5;"6L*D,,M449C$X^:C@M%J)BB&CM^26<)/,^<*4HX M/D6#)#!V@#'+$CB1#LR(<[E0%54 KP@0-[$!)*@]N!]?IM-=.'1Z=/MN-=9^ M]BFW<->#QT'%%/?8&':2(<%!1F^O\^EQ0(D?8I"&B=\CEF1Q(D2/T.0 2?2F M\Z5)"4""KM@Q9YY,](VNL?1.LZ9V5QK1EN[RDO P>#W0-7^4VPBVA-S0):9$ M)S*CD,HR>(XCS^LR#T$^?UFBB0B.BC?QV#QL'QML.<<0H.)&@-8API8 9YJH M2]@JTYP=)'8GFDU\GMJ:JSU[A>P!E(#/N'%$L MD::)"&!U;ZXD*0ZXTLDW7?R;CRY(G20PH0_6<,!K.M@12 3SE-UU#3QR$?#: MMBYLJ&4F//J1:;QW5UPCI[R_",K0EI=(VRW7%7T37SNF$^E!KYBR'[MNER1S M.'FN'>!CD#)(%N-7ZY(<#KR=Y*[S!&_@PYQ5\ *F_"EPU]Q]+=E9A5Z,&H-IA64^U38BW-EAS=22>D1.H #' XHL74>Q%J M!^ [O_]=K&C #D*Y]C@W(&/97-V= U2@E&<0W>J9O.AC)$]ZS(L$FP%9$-) MY6UCTGZM$,7'RJ'*FEP%]!!)@I!L%(:&\824C#)OW9V=N!PL]3E?&8U-W !) M):/X?.ZDI:@$NCNX2FK)[>8T0IJA9/25T+-WPZ?;MYLC5%:YWZ>?)840K@J5 M)K/>+2?_NHA]6)HQ"=,LL&;78E4?#]P*G&^DR^Z'T]KKC=;(E2?E."9J@H$_ M5Z';\MC/EGU"7A3)7KRQQME[W1,,@>?)Z#,8_K[ X#YG&G3?1_%W@DZ4(W$J M'[TP*;[2JKJ!Z[V5U49!S;3*G_=LZZ9#Q+'6/4P!CP*W3AAU<]K%< %\F:B. MH6+EPKQ\<1JV$4RP5BY0QYSV029WC@%ZA8KBHGFE(& RF$EIDE*T0L=*=U5_ M?B&NVY?U3G;?D@?+S!$&9U:<0E.T=W%*93@4P/G,A4T*"[BH,(TE]T5)Y.'1 M^5:G<*[5*=%?VUT]$526XJ]G7)L[T_*4=7T)9M1%J.9^P8M@^8E+O0JOH[_< M_VC_P,P '@H&S71%76(JH!FP>WT>A%5 O+Q$+8*X7QHF6'3/H*PY'+OPXP"U M+H>0C=T:ET&A0&?5X?+V)DR)2ZM2:M1+M=M:H0/K7,!O7"K>SK&LQ?J<_1#2 MK /9J71YX/E)>?$F9\6WLZ]TR;M6NKQWLL M 984Y1EX:6,*=(K1[P_51*_UL:!5/G25!YL095Y=UG1AHL&>".!)%7 E>+0& M5RQH>G?5?IB_O1=RV=N;;.J5,>9#/4A.-VO ! 49%=YV[-U.I<;VN\+6;01] MOV\5A_?#$2RY5 XQIE4?&T] XRQ%@^..-'8BB/8!I3E?!QYTX$'F?VS4 P=, M?ICJ"_;98AYW8&8AC,59L,JEVI:)M?7A[E0<= ?3[JPY4X7NJOI -5HEAOOS M,4@NVN"_9\^(Z'W;9A:N33LG;;=?GD8<+9Z$[O/>4'*4P.''5)!A W&U>G7M M,E]0-O&!O ;4)?!'@E6E1P@NZ%#^^>*3E/DD2*^&!5*< )>X*MK*!D@.@TQ] MW1;-7@/*5_S3'5F\TVZ$ES@*,]A,#-J!M32;O^S'^;XL'H^!8[(GA!![TC6> M8J+WJ.4E"08G\L$0QOUI=,Y'$"#S=.R>\11.YSF3-Z;$QZX=IED* M9T+ JLY3WL-FP6*>2Y :B.!!>V7"6AC MF.\$MIW:0PGL?]67QKP\@A%U#+BZ@()PO#"<-*S 17X.#G32.Z96B(+]\,C& MXDR.P;-48ASX5YQ,D%[8'[%.H5F:1'9_.\%/,Y#!FL$)YH1N4ED$KA8LRA%Y MZ?#F@KFB=:0$&YC+Z0N?@P6#2!Y/662C@#CJ,4K#>,2[PF6P Y\(&"I@FZ!GLV&[$8F$_G@=0>T=CP[BJS MMD'FUGHQWEKP5\C-7S(BG'U,71:[-17' 6,G=JN:)/3/IV*/>)IS7_X(4J(1 MG&5/)4KA; BO.2:?^.E6.@R ]K VER?3(ARM+2+[5V6M#HG S49(WB:,NXW& MTG_%R1\,LIN-W= K+E WQD673CN#\, WCT]XORCRS;WSC&__@3V^Z&@>4-3' M0J8@R/ M9%:CMP)1J;Z5E/>WP\42K+8QNR#<4SNAP_>;R<8>?1ZVW\QYYAP. MW:Z&B=TR.VR[FKWEG(U0J;IJ+>^*U$S,7^OI=(Z-:^&:QC MJ;L3Y/9P59:GZ[DS^V,$_C[//8U#/YC3SL1OI'YXISU47O>7+6.F- M"OQ^!9QI%]B>X;POP'QPJN,@(Z[G*[NI:3@6#=:%+@5>Q00(8<+*0E^8] 05 MHTD<@RH(CD;CU^8KG(WV/]O%E7E[Y_5=G&_?M0;PM2\_CPFVTW_]ANFB#C?L M[3G[H3 3 L R$0 6X9L?&V,1_X5RC5WLTHT-HMM.92'?_G-?;)<6SU7A('0+ M4$QL;$?2K_,PHMIWQ)R0\1AD"<*$L404N?&(*'U!F&N+I M3U/-?*CEKSL*A)J7S&[F);-?\Y*=G_":EQQG6C)%?$U+WOO,3FE:\M%U2=)= M0UC*NVO(3E8>]K04 :=+HBX*6HQQMI'>V%W-6A_D^]5BUF_M:6H>Q9BS-ILQ M;CM5&$I"WVCH@2Y[5*6FH:FUPF2JJ#PPTS8(1@WK"?I"$&3T0)]7U25L.<)/ ME)EL/,4C"B) M+2A(;I-AZ+,RWT1./FJ -ZL@R\5WV'=DUZ"$7X1,(EX5_MZINW1WU2B_/A#,\[MVSX9I25*N5"NM5J6,)NT6 MVNU*IXW]>ULK%&NWM4ZMTOX:MFLUZ AM?IQ25Y%]%[UGHY"4\R;??I=XF1_P MIY9[VS]/_9GVL@\_!#1,A%]F:)BUH@C5P:4.?#]@=(@PTBPIFF9<8>!R6O#J M8 <==K#N'FLO/E=T256N[1*S-8<\@ET[2O:5=\6:V;.ROXZ+='?#_X69/E94 M45]"EZ#P(6JV#QD2U1+F@CP3"B-PVR_OT%W;73VU+H7;_/VEV*#7@0)_2GYS MDB.!AB41R+$=?BAHC>'&[K1VW/7]=(;Q5WFF3/F6"HFQT9!8WIQ;)[$\R$0QONWU$G!5'"[)8)6 M5Y-U7AZA"F_#^3C4?;R1)+>Q(FO6N524P4*4).";;I9J_"E=Y<_GI@_O\^?[ MQR=^+4H[Q/H6VJP(V\.>S7GWL#\M@VIS@&[3)J(?8-*Z\(&859^GNK3(OA[R M #DBF0,\D!49$[305!6@T_4EC@GO,W$*:W*-V(? :\)8D7:-RN.GKSWYM[Q) M(>VPK[71IL3+*$)6L?:;KOH97-9?W\LW*^:)7'-O,-$C., Q[WB8]HI I"0M M4BZ!*:LTA*7][85F6YI[;\Y/6F^79YQ^^S*K7X_?/AWGQ[1LN01\L2R'4R&J MQ,^E\F37G#FHR5/V-7E4X.9 (4GC8AB2W+4\IA?-OK06#[<GJ!RCPW/RN58G,B?6UG#AI7HT*R4M*;MTV]5,M<!Y@D>2/IY[/B',VRCL!&=@I_HN'6TJ%N&RT!,13FW5N4V??M:GM2&:XG: MD-A6/G_P\H#0Q?S[J?%S*X;Y Y#(,G?65<9N=718IX$?+B MF3-XS,LEEX 3&O::2:PZYB1BS9ZB51=T0#>GV7%Z4NJ6!?+U \#&TO("N&;O M<=5LKY31>)/H<:5CHHYQR!AH+AMY$.NYAE;[MN?CWZ?:2\I*X0PU\U)W52I%:B'QGJ> M[RV?)NW"04Y/*00?!V<"[1#%@@&%P" FIG^21AL.]DGXHDEA,B^9YEM;4.=B M7ZBUVI8)-RNP5_?+[$./W#;A_$B7/(8A=[H@%+?CS"9PG+%L\<#C?%#I?K-? M7\Q'Y!&/,_^9("DG 5GSY;@@Q%.Z&N2!D:Z+2ZTR6]%)P)ZB1M]\-A\JSARP MO^U@7#Y6,,ZKGP>)T]E@:,A>X>5TN-$WWA"6&]-1@)/>]#)W^<;W']_.@1N= M0>%HW!@+I>'!C2Q.<,%SY\XB% PU]EPP!W<<7CI\C3W;RA+*#@:*1+WV>#7N M:$]53K2)Q'H9*5S_/H&WTPH.; ZM$OO0TM%CK<508Y?$U>V"W^_0HFJPK2]) M7&-%F8CCD$0B2YQN?BE>E7J(0TQ'[WW(S>:0**[>*@<_1/($LDH'Q:GN MEL9@LJ*CKKXC65P)@Y/'+6P%1;UN\KJBM]9;.H0BJO^Y6;+W]V_$M5\9DH/6 M1T P9DGJKX&U>C(.$8MQTE%^8WXIK&9/1(FE3YQQTL5#GX2U%1'>O^EQ>=KC M+4):<2:J.VU561Y6WTN5X?)RQ1P2X1TM95$74G"_R20\'>!]9U.;272JJMR- MESEW7K9U_SU4;/9)Y&^NJ\H$&0DC+W>$:E$U/'*L+9SOWOUJO5&'>/@XA7X9JDD MNDSA.2Z'$ZR;1C8'LRS&8G\,%,82ZQD-Y45PUYG[P70%"B802'[$PQA.9CC3 M9ZHY8L@VH@9VET?;$N'A;WYO=9?',6W6>T5][A6C+[P(KB6P!W _3<"/B,B] M)7S&; )AGK0(GQ4^IJ(*CTI$;>\SZZ;RQEB8GZG.0LA2V6^V*/MF:D%=D;T9 MP7<*@BWF$>MUW56M=#^XK+V_-KGA65UHCJ[Y1'?U_$KDM/?IBF VPQQ\NN;7 M&W6LT:RT"IU:_1*[;;3;6*G0:CU7&ZW'0JO7CYM[# WM=.V='-E_CFF/&*OO^B_> MH5)C]]C*$AR>#^$ZAS[5%$)6[NQ)6DOT8\9H*? #<&!#%NP7$J: MPGWT3Y3KMA:\S75T[*F*+,E \_V(7!=)P7$)LUKA(*S6AFZ8G=G:I>&#EL]) M2T4X469S+-G!;A&\1N<03S9/X8RKDW_J:BZ?,.]5#\)[=7'[=N6?VLV;[.5[ M?^YEWQV;];97[."\"+A$)ZX7)[+GH.<\\R: 9W?LT\W]>;3Y8,7^\9R1P_$X,[].)@[_M!V8#IRP>44'AF14U&UQF0Z3_Y' MQWQB D#'$(#5:+$0RW6:7MYE3YV''0P:V[GQ"^XGR*/ADG65[JJFC*E2\XI7 M>FP*L'<'<-O?A+X** A%1;F7GT _ TGB3#V7NCWX61A."D8G9W5OTG,V\)[?_[OSF*Y'YI\&)!]Q6O"P-@'DBP/W%&&PNP MS_Y ')A@16,X-5BH@96#9SZS>, 08T43(==H6&^FHP=Y@V709\'/Z@R\?RK( MO(3F4"LP;PA,"4'3X3N5OH@6L!#UL2UQ*&@9^/U+^)6B) Q^8)U=O6/+,PH? MO)5&U&"6<*HJ(_ 5R2J7M%G/>2\FGE8%H:\#4;X]YU2MA2>1L MII3G,]V56+ZIC K#\<-0/$Q6\B>F :-&@M 2+<1W@#?T?I/9'QE''I(J=U>D MH"R>G]ILK_3Z[7>M7FK<5;!FI86UKPJMBH5R^.]_>N>HX=R8+7'FHIS,M4EM M.UFFR&MBOR /RJ(TTR&PS2=7SMI8+^8;NZM+KKY\;O>7Y8?T+4J:^4$GJROL M8*HIT&JPB@8Z=F.@ML&VD9X?&!NW="*PQC -$@939 -OP?<%"+,2=8?FUW3P M'U28@_Z,'O^!%3U>G-F\&/X/.)K]F83> U2R T8!#5Q-'S,UT)@V- MZ7;S2>3*&H\>%]M@'44V3W:A^&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$&:HAF;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>);.XKG3S+!B-A MSTD>(]$X0"(9)<\'#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*"^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>J1V#7R>T6J__W/^#D=L]PBT-[JL"_7?0$(+Y@=5.PNK,Z-?CJ< 2PTQH>@D%G MFV"@)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)].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)]=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\%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&&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(V6Q' M:7)W:82.$^F=XCY/9=_S1"O4:F:4^%*%G38]SXKS,3?-3<%N&^?T="?H'ZS9'S<\R3$O+Q8S":)&N$%^KS_6FK)0KM?:E( W' MN? F7_H79W+;CG6A[N^3>&BG4VX#6(+&NR2!V3\XJW<4ON[QA1/[)NNM7/N#V+[DBIAV>MX]S#2+[M3.ZE07[V M(7+AC>2$+(.4H[B1J!/'J"#W]^O('_G@G/U>K:&2C>]Z0TVI1(*Y02$WGPJY MM-"F.\5RA1656V1SY2=XR!'0IB>!(W5GY'A>WYJ)<3;'>B3Y#QJ:2"I@RQT/ M[.?%=:%LUPHC=4;5///G\^']0EJNY/ZYM5AAVK2\G.0Y9MN"O>?)'BMVGG-T M&*#(&;.,CP&[O[,3 R)Z+!6XQ;+'@H;N7*G,TTP8URGY!K;;C \-/6'0I^N] M2^WO.]$_*+?<: R>2R'H>A040/:(*(#=KNZM8?9^L."HK%^D]5.@ ((ZPS#4 M?M5*#!NND>X) P'2P@=&2.;&LBO[M><&_[Z\?]8B)7/MW'P&>5UZ[>W3X8Q- M*@D(8=93?1\<9IH\&SGJD0:C06DXG/45]N]C(V\#E#I*C5+Z\(#B2<$#=J[F MFX='JG'#7A;G@R]X0/A+?']OZ>3!JV>&%>"2Q KLB(G\SE444GEEY=QGP0H$ M,CF]7\E3+MF!#Y\ ++"Q7KA^U9K(M5RK4. ]#29+,F$O/R"FQKB$D\H3NXO1?BA* M$B=)KQC>9[@]#@>J3"L"%)AN].;[4(%$^7)V.5G2A9P2IN8XG%R<1*XQ9,20 M3@)8R44O3$^K BUY?MF.&$J+MX_I[=VJI/<^,;]XAP:S220((U<._75J=TNQ M'CXI7G$W)+2EVOKS>EW+KR($*(]F2T3.B+M:&-DD2N7\8N$GBZP,%WPT#,;3 M--_32<';-A["^,[="/G7FC2KY;U;,_D:W\=TE*-2(H)8[0?PY)@49]B>\\41 MUE[/IV]_V;@C%=/]O235F/KK?'S_&FB*Q7%OTS3+ FBSCT6?301PZFG19[PL M^K3:D:7*4=O&_8Q]>OUXN"^.WKF_CZ-\;/XD,JR?W>;?V!I$.K9&+(N=NQSV M[_LE=KX810[2G[$UDHSISR112)AW,_T3M/G_@\:ON$UUM4T3*E2[*T:^[==> M+AF.26, T->\3]>910N3$2\L65.MP6V("\W);9@D#M$8+ONLXLV4RG1FL04Z MS%XSYBCOJ6T/[>SK4Z-4:.=VU4T($J0ZQ(UA=J82'X%V2"40.[*Z-:+O[#G_ M "/8&"8;9@2;_=#L<)P'7IH9AZUILXGQ.]]Q;%3 .+;X7]1=B22Q+)2S2JZ3 M/]?1;'"^H#%8$&@Q@>^/MP>3 AW6YZ7^#(WDQN!P7F/ZZ6:DV\)IE/ ;>J4_ M@^VP N&8RT9W5\T/@6T]EJZE]B#R7+9JH=;"'@JW]Q6LT&[?WSGF?Z\5Y^'6D'+NU*$ZX=M>WILT:]H?EV*-+*(5I$+YC M)DC6;X;.5B'T_J9/%:@KJ)@%FU)>3][=&CR\TYVB<'G?XP9WMZV%: L1V,EX M81 PC"WCTLTAG"63W #B0%) W]W+7CF%40[>\.P:E$LX>EL%M\Y!>D&$#;Y2 M240(W$ZN)6IO5540K*VWP,YW1[_':^"OUA_D_ U%R1N@Q!:%4W/OPVXTF4Y3 M3*1@E\^T^!]<]#JJ1"J@4V>,[: IQ4^O1V+_ML+W/@%C>$=!V4C1(&_&H'^P MGKVEL-"E4?^DVE/G00&6NBB)^O*D]&8B[5W];KS-OA/4G+G!-7DY6[V6GS>@ M_LT7'50ZW/>9C.)D(P$EO.6#97\0GKD"8%VY9#+/@BFVM>;P[K7%W]V66T]O MY\\4/DHS4IK?ARGR/UCOZ_206M,Y26PGF[(="[&BN*-]!H[M7_>?CJ419C@) M^F,9,-2:]3S'F(72IJ^EF\H?@F@RMSX9+=\S..R4LT!R)*1]D\CZQZC\KYX/ M'VTKX+K2XY^G,_GY:OSW\9&/PDX"#\YZHD?VZ@,4+M5)=E?9_LMCOM^FR=PY M!M0_2?K3J(?.P# _C&!A OBBP2Y0%$>) "@AO+RT1&M'S20Y2,EKLN;@X]8' M.M2!*J(QK,D#<2X.9KQDJ!8+\E0"+YY).GRSI6%&A>;M]*9%#6UH(I0:$#0^Q_G)Q8=+:'V&#<*L9SB!%K[TD*D=RH/.:T:;G4)'WW'2A#KDM- M5@S"6K#$MMT!#(XLGF.\)> 'UMA6&)!!%<#;JI&I63-N!OP>)NS@AWG)GX<+ M&[1K8?V(21:M/!,ZBEU["'Z@U.BG>B?==6X*-_++VR9X4'!9^ #8K4#@0^I+ MB$X-M9>03:9"'GM8@W/GV%D*I[+>D:+MVW#G (DX!YB46-9O'L4'>D3>W9[, M^<45VUS8L+C;^9$YSD=L#0L2"[8@A@76\IV:/CNGSBZ(/VI.O^D5J80-O1P;['/M[#^7HKFWL_<<(4BE M0O-:^&"/;NSY\VSL.Y_D*)RC/2_]\+8>MF7K9=9,#'X-[QM^HLQDW96ER8-9 M?CL'/&T]-A4^S;PC;8*[M@4$X$\+; M7\L=S$S<%>?"S=/KG]<:]\B>S&G'D_=\V B'BVN7Q^FWY&MC?-.Z_^TI-,OIO MK+X_?%3N)()Y.Q&IB:G]XJ74+*EALC@30FP"P(0'/$@7>;E\^1"&G5%K\8<^ M]:/T#W>PQ'Z->$D69US']CJ%_/NGK )#96#"1U^:#83?__T_%Q=8512DP4^L MR8\ ![>%]YD@]\$;Z-PO#&6UP;8.PM[E]HA)UM%+0,<.;=T0?0?S!R MH*KR =2W+DA+_U"6==^#;YN+?<$]0EA7Y+F@0<@.# 9J'47G)?O?2XJFUQ7] M60!71%\9R;#O1U>L=:=38DH8YJI1<#AS2Q8M,"7^ M&6X#UJ3SHY$JC("(8Z*L T=! _RXAG*:TFYY'_:^&[SNXC(##;!S(40:G!Z0 M(WHP.!2-S#%J+Q7X*UM+FX*UG9JU&P,$"RZ,=73#\-'6BZK)0/$)'?[#["NE M+Z'E9SAKZP^5>)D?\"UA+L@S\"7 \%NN80;MRNBNE&N]=38-U@KAJ1HY\L$2 M<5(LY5,YAO[&34[L"%Z'FDR/7Z_*-U2<(T@[M1F;7K[C<N@-VID['+Q3#ARGD+OR/@/<59,U79VA&1<-:-EVQKQL MGI7'21A'Z!X=38R-Z?NRTGZ\RL\K;W'8.$)TZ#CD"QECC\C89.PD&4GB#.4= M,_3,=I5.A!-WXHZ)<>)JF7UJOWSDKNYR?P\G[@8[HW)B[ 1>GL7S.<]L[7:4 MWT)1+ND<62NSVR8-Q@K$@#0=4, M1@.NCU 6M;ZD:#/5J_W5=OU%V'=T5RWZZ9I_%2OW.G68GH,_,0TPHG0!***% M^ [PAMYODOWA@+KEJ$)W==OYH+)R?MG[\_KM=ZG0K'4*MT;GI?4A]GZ?O:?T M21R^T,5&OE.9HB?)/-L-KU^*=#J,OSONJ'7L8O/>=6WX:''Y-GH2Y(ET(MDR M;U/&Q+9Z[5D4#W3X M%DT,!NFS6?;NH?3X6#G==&I4!DDS2?X=<\.4[&!34Q;]W?RXR]'>7/5>:N3\ M3^Y!"#[:3:PD$U8&/&$D_E*P<_^G+ 6A:/7\1RR_7/79J90]63'8014$R &U M7S&@/[[@1K'YO"B0W_ M(H"M9KX -^_>O<1K9UFQ)JJRU'[@1!*G."K(Q- 5C+>K4#LM,!4>HBH,Q_R\&[UFWQ5Y(;/KU+PX:$@1\RS;_0T#)5S2<,H"H8P*A(22)LBF7T&MSX M\CJ:39O4O%':<./Z)9M9.4$JQO][P\-)Z/T'=A _"._11YOA/_J8UU$R9\J+ M@*XR=LKRS>\ HNL MVJT^])/:CVF'8>F=,.R=**/ZQ MKSCLP<_M7SO->PF2@=]]U9Q717Y[F=]^?\\X&XHEN8I*O8G5$&K,,!1%#=RF MDC@1C2;O? ]UR02:09TJ*LKK9?Z%D1.*^'5[6T(_D;^^&Y<$^+[9$ Z @?X# MM#,'HJ:K8F^F@W^/%&D([N^9.D1_4E2H)F0=W-G\".@>8-2!Q["IJ@QF?1T5 MI]X!Q:[H/([5) FH 5$S0 KF]9]1%C)-X:VQIUMK2^9K M&JKYAR:OZC*XP<;BM+$P?["TSFXC5/?JJO6#CG*?>M-&8D V*ZJS9.G+179U M-9$W2,3-FI&9#@T=Q7HM3-I&:#:=T.XC5M6Y;]9Q342*D?OT2O4T8/[9T JP MDI/+];&JS$9C3 0_+X#I(BTO()&!R[2A?IV7E=)8F/S "C+X7@M#.P646F*6 M#-1+M;4,((8$!FIF,_7)SP)U7FUKN@,["!8Y\".AN 3G GY<6T1;++@'XVGJ M$U-Y7^!SJB.> +:O0!\-+&+SS9L@@Z&>38E ;W!17"["*&H(5ZT.C%8% M$*&.IJ4I4.V/UH]:#0NT[55EO)?B]29(+?!?].7VY=H7B9()%I$0Q5#ZW^OP M,LX[5 *FJ86YA^_J- N89D \/J=G<8;;<)[;A'\3X/0N;;RQ7$2SDR"\*2P6 M0%R-(303](>AUIE)P$$>"( 7P>\6HCX&+ 0?66M ;#TG JB9_A@\BQ5&JH#8 M-6.(5Z.O*S#:@8(=9.X'5MY:!!1'ZQM,!@WU=J #C#V!I8XA)YL<"4@+_RKJ MX*>^( RT3'^FJN@!\"%@AHI]<8H6)BGRZ *\?X+^HHV!IC'^*?P4_"+P9$"0BE @VZ=#OA^:%(NO\3J1+8!+404RA.&0P'P8S#A&X'J:',Q")J U%86!<"#HLB-GZ M$FP(%HN%7:P[IMD>V3+1C5I'L6RAMBTZEJ#K\#B_F^<>Z>9(V SGLAGQVYLT MZ[[<[L(@D\Y_0RFX!MGX[7)PBF+P/./99\^A(9*.?6770U?1\//UY,PM->X[ M>9.QS94/\WAW]>?A^CTW;"S)Y_[YMO_>CHH5&> 8S_A7@=+N5^]"T)#(3*.* ME6OM3JM6O-\>!VD_Z],:"DF$' JY[R#$;[_-6>;X3BZ%3&'JH=N$>+]@;E=L M^[3>B*@1-_@:"*UI#&WP\^T7[,0WK,MC?7>LN[+02G4TZ3WS;5O"84>MNOHJ M.%84 &>@($#/,4\^: QD)!?;U8\F0^E=Z\]A">+0=F$Q"#MZFL)9@L)SV>!I M\<<8LOC;?L2)C 3;"$/)+[,A]%7HZL.[9UOE*_4M)K,>N#)M"K'>'8@G+4>= MUWI[>:7?%6^&KH+TS8V4IC3\&TT7Q+.T&A0L:/?+] M$(-Y/28#U[VB,T;:>8U8V6/@<:PAQP$R; _AU@7=*-*Z532MH!ODYZF M)97PKW?0[N1P8E8%UWZ M8^C3M!N+Z=J-IRH\\^&\^L 59K?3\[(;HP; ]A2HV 7+' GM1K>*Y0/8C1ZS M[3^7L9C?VU@\5=E4'SXJY%WKJ7(E?4)C\< 2'#N40N($R8!K,?A*/+BY&-LO M]+0KZ>,(MUM4TR^0TQ4KIRVYUP+W0)#E$=6+89)6C,YA3GLT!4D.9;$>1#QC M!V8H/$^0.)D/OF+W$L]PPV+9[NJC]9&]++!Y6;[;HW-/CL>HAQSQ@%5[R MGM"WUA-F@YLD<\W]NYGP]/IV^S&SS72 BPD286LM*:2)F?@!%CQ'@GLSYY9^ M".@9Q7C1.9&0WJKS?GTSUX3;^CN9()VC!KZVZJ+]_<.-["- M'3*_$Z(4S2\-.A"_92:.?&5C.X!9A)@@J)RG*(B:B>X2!AD3UK8FQV9S$&+F MUG(ZJ)]E)>+)[B-<@]>)FGW-W[*WN8.>;"RAB^T0T#A+9_V4V_G7MH8?K)#_ M&JQPN,$*]-=@A:_!"AY2_-_>>E,'J%],>.6]Z'5ZO=\TR7G4@7CMUN]3X 16[5PQ:Y[3)0@:C^6W!7!$0M5LWIV1/3D"E99EDBDMVV(T MMW(R+*"<+&/C/Y^2,H>ZW:.$8+)OB[WDR4H-63,OJ=(]S1[W4X=F0GZV+*8TO6@3Y,"\V1S'8SG80R11;1"?K M?E[!?GE*+GY%!D%X=)T^0CV&C[H.!IA(BJ8E#+ZS#UURAY!L@<>$C34)2!@7 M97<(8;MYN^^_-88S.1]'QX<[BST@>I%I?539BXT1H!D\ZQJN/SP&+P3T9G]S MR!_-'0,Z(*[2LF$]PM\:MIL[!3X,CF;^S])_I MW?4S>\+=&G.N@W+$86M9IRM5CLT#[[IR>5JM5*AWL%*]^U. MXZ[2 AYVM=&Z*T!O&BO4RU@%N-^-NUH)*U>:E7JY4B\]?XW7.;EMP*"CE8DQ M^M4(*%3HAP4"$@E496/8L/K;F(*@=0?][FS]#];7R]47BG>O>?-3/\\J M*7B\!J;[Y#'_Y6&&LO>[ B[^T1(%H!> N544_A;4.;*A-PTX_^4UV.II(=LZ M[P"S<3:1L;' (X/&3!%5'DM-,S^$]01)67S'32@7?+.H&>WG>>Q?\3LFB<"/ M'F2TA3B9H)2"HDA8#]A%;P)JQ0B?TOBY@ G.5?9@8G0L]D2C?]2!VV;(HU92X-%_1?"=0T497&C\$'Y@@<86(([.F/%QWNCZ ]X*_B*BUD$& MT G^T5CO9H5H/6B51CLN#1S8>CKX3#-2#N#T) F#[>D!,;"),H$K[&:!]+&'J&,!1%92",5'Z (MM315H"VPKV&Y,T!7N3(?L#.>@T M"^N,3GBY*):,Q^QR@5@$L#)B5P$Z"\)L@F?Z8V$"73;P =UHN(L:GAGY57!T M,^AJ&$,YIBH$>^JP(Z^J:)#_45,V\+ YA,/@KZDXA3D?K#,6-4NHL3X@(-J9 MC5D' OCX""IAF%\29<.]QGH;PFP6!$=\V)KUVC_?5Y4IMH2(% WN3Y#',(L& M5C2$WJ@$J*]BLZG.OPE?+'\BVX"6#E!TZF#-'X"%X$@M#%SBJ@)XPN-J0*QC MC0NQ,X3)J4N4NM5LW9P'9M3&T*F*AFX$ZULR-A;AAY!Y =_K, /+3Z<2$ O= MXG*8"EUHP"\$+[ ]M-&^.U\,M?2$'QAC3S1%6@N?:>*MQ1J(> 8.CX 2]<6A M)[(-R*&\ ;@UC 7 #:)1 P'/T+(>,6-,!?@%/Q&,E+BBH=NYKXH]0\W!N:T8 MA6/_%7^WP1;$(> KH$4+F[VB@YJ-O,24B(WO3 (GE:E MV6AU"L7;"F:&'C]3K\M=C(7KL;C7-$2H! H-WHL-7?R3FT+.6CA!2QNWG[6_*V59%IE6R]*[D]E>3F.65=ME7# M144G49+TI./2$SK-"='S>G&7?[F_O::FV3WI"1=U7'I67>FY)X%NKA\N!PRX M^9G\G@2RZ^@8A J;PXZE(P*I'.]51WVSW],V8J[Y9VNFFNV61>A9<.<_BOJX MA)A$4"L?IEM2@'X%\'$Z_ ?@%7$\J0GWU5QKET+0XZ\1IK>F%"J%3;5KL M^+2S/BY4BCX&;2,6QV_N&_,W6T+M,.-BHU(8#G;H#>Y"& 6Z^->>F>U."W%F M7&PD$8=S#(GG6?+KV)(X-K]#BHV# 0J0IK)XCF!305MN-+Z]19&%\:D84U>Z MJ[N;2Z$_6CPWEG0,;>Z!B795V^L1'>;$ET3 F7$!5 XZI*AY\_&G6.3V!4F= M(W$CJ<@\&;OA11[8'URT)T]:I,/BXJ5X_YWDL<1>;7S=7VG4<]=<_-IZF]XC)YPZ]WS]Q#;C[2QG1] VAR+T^2^]X2K8J.V[#*8$P2& MJ:G2BX(L#$6]NYH(#%TJW]T^-,F4[;.2;>;?0!@*JHKRI5:N$I52@V]>8O^: M!MSWE-DFH"K$@V1I*L,(MCZ$@_WOMPN7&@\Z&TT8+(##&+ +KOK@G MMD'JF>E]NG_]C"U^BDJK%4J+8_D50/J4RG/G76S?!L_:SF>,G:O5*G*]NL3Q M(9$R.XK!DW#BFP2/\_NA^>?Z]J=?[]0.5NS)!?J+X_)LY.@)^26^_%6JKH7= M^S+.'I2+RB)-MQN4JV=N[M.4UL*7$)6"7%5JY7\>M7N]HIZ(M$J$]S MT7!!;Z4I=03D,NL&UI_S(?-NHAY!Q:L7"='B/0W592JSKU##%I]PAS'%\R[+C09HV]J*9@5FY[^\ +SX_#AKQ:<]B:R0 M\NKH]15TAR76\X".EPL9TOCX)Y:,-%[.D,:??6II0AK?(56QCMX/9?O!$K(. MA:=7@)=_3YTSM+8.A:M+:WA8M2M'E44GOZ6G0Z&YZ'XNL4/!:]RV_,.3[_U/ MS^WXV'R'@I*XG\_==!S/E5;?C7K4,@Z%&9V*)B%JZ/"^=W9E^MZUJ&P M^K+IZ6/EGI+%+RY\G5-1ZG*Y^GB6.2MUG^/,GI:Z6KAFK5R12T5%+A0>+W'. MCFV.8YMU2(M?CU7D>KD LO5X^=L*.Q2\Z\/K1OU#[?./14I TMRA,&\^O[XH MW/W&BI@>+T]?D@):N$I,:2ARH[S#]?^+J IEX>JPY6SG<^K_G3ZME9A+FFGGZ3*E(6KPXJR4B[)E6?7!FSW9L_:VL6; M6&2E5I/+I>?VL2Q>___!/[^X\8^Z/:VSX?K_=+1MSE\>O20%N'CO2%VN-[:T M)VZ%G;NOB8!HS^*BOIZ)Q1[V]_KWR[+MY]?_B9 MU?M/J95>CEXK/<'5G];+5"K+%641KR/M]?[+46FEA9O3ZW*AC! >.UOOOX@J M*RT[W]4_O.]KS:/;^YNLH+_I>JN9W1^U(L%N=#8LK[T M9V[NT[36XCG]NER#:*E8>%F[.VLO%T?=*LJ5.NQEX[G-$RLH^*_Y)\6AJEU_ M742M9?7^2Z_W+\VX'\CJO9=8[[TD!?N$.XLIGG=1;M2+]7%I4O&0J^5E8DAB5J7Z;[) M1@#+C^\]YEBJ&=SNNTV/CP=E^I5]PL5K^]NG]ZVVH:;G=*F@*H<#6YCC&)[M#/G8!)J^1!.5 MEEH*O7K,]^/?#_?-KP/GX]'/+^=1W^1,S/=OQV?7Q]+[X[/CR^;5\9%T>B9= MGYWBOUI7\(L6C98\;)XUCYH[B0:_TGK5B6F,S=A?72DHE53 MU$:3_A[N[Q\V?S^T+D^K;M4^NBY75UGE6D5!/50M55?7668W7EN[:2!@OO._ M#YMC+L'"J:A:!:OK'L_PIJS\<:/GDN" 3SN7A;-8E8HR%R+(\RH>FRM7%2(G M?0V+8SI]T%4MO=EV;%4/FBH./MXTO(?!]V^#V]5DJ&?F;SAI$J>-3_4CZG8\ M"%TY6OF,(Q\3DN< S%<0VIYF:8>L*&IYB?'YL^7ZL\ T9_ M[CD+6Z&KMNE8)]34V*$N#M\_?VO*&I*BI=\/Y4[CU\_OBCJLEY^7-MM(&_ZR M,Z65TO1,Z;'E&=[PNZ&S(\/53-OU'79NC>8CW<^V=?/9N&,ZOY$]M4XMG,FL M^ZHYF)J9.5T\&^->%[%Q-C//,^3P,SC%>2Q"P%M>FON]E;@78QG@VN\'EQG##T;; MTJ_9/!G@S^=G[_<_GWX[/I*:K=;Q54MJ7A[#;P^#;##/_5(:.)X8SI+!3TB5 M'L=2P >7OV/@5F2-76UE\PDI9D2NU MK6M57]U6/Y9^K2S>-5,IR/4Y0.27UW#^/(&];OU^J!V>_/QY?=7Y7E'9K]N"IJP&INAE9B2?HB)&^:NZ<#:J6,>J=[DT1POV5NB% MU)Q38M:PNG C$.B!.O@7M?J*](;)=&2X2\.]/1@>,$OKPOION5(5"=NR$PO37SS]]0EBXO-I'6-Z87%V\(*-[YFB&RR[@/]@RTS?TWWK_MW_A.XPSQ5B= MX8('NERN>OBK]O\>7?PY__$I8@]:E633LB0FUB7U^<)F]E)-W8ZGU3$D+OPQ M=AECB7GCT-.S$U# X'AAJXT2XP\\N'_>59+J@8@Q_O,*L]TNUB>#(M,99K%Q M*=(>FB]I?U)_E.?5'^/ J9O4'S^O[J\^5O\\].HI41_*\M7'PF&A4J.!8M5B MDEO!U0=LPS@?'"RF0)*!BC>M0&K?G=O/QS^=N]KZ%=S+7?9U-(_.R_[G<4-9S4?M&I0 M^\DJY7_>M:X/6L=?KX_/KB3L%[EJ!0KH?Z_;[[:>SU).\H8BH5-+^JA:ONH, MT?,HRW1U+B[S)<-U?:;GQHU/'%21U.TI?>[(=R#H!65KV'JKJSK,!5KI3RY9 M(C1 Y= P;]&D=U'!0R'MXP9D+%/C#@E5V@USCM1A<6H%4/8=M_T5!#J8R4:'+U[R^S$#])@+,M]N)!JB\=1,C:L!0>]_JF/60LE,&KVU_U^L_KR^&O2K(,BHUZ5.R6OU?+ ME-&Q=8])Z).BS D)+3?*LT4T+GN29TLL((:*J<8Y\'BW.3#!#OSX_.?^S-.^ M&69MEWGP,3LQ;_R:S(65ZM.8,#(.F[4'6YER/K5R7U1'ZR88%H\Y/ MRXLK,:ET!K&18F&4Y_9R7FJ8I83&FRD\$"RDM>T#'$DRWP:_AHX$???P2 MK[04%GQ6_!:+H(K*[P?%+YRR3L=6FRD'?'AVUS]_S*RACL6WTC?5])&,8C;? MPF].]7G^5HOSOU6(^(;>1'\DH)Y0?SKV'U9!]VT9%SB40PC>@\'QFN M>N,P\NYFZ):MT[ ]TS:Y4D,%=>'8&M,1 M$S,5:BDK.DI>QG>6ZZG8& >&2 \M"64+\#CI*/OA44(8IWH4X^D,40(AML,\ MD$7?H;\9%H_],:OA, (WI,^T6?!X'@_:OH-7L(:M&QI\L&\[GIN#SV&9UV5. /;WRI+K]V#+8 $ZD<:_"3^@R11AI@?%11H=J_G6P9O'80% MX,)@XU6>J<&F0]&CS)?LP,]&'\PVNV>:[QEWF.'N&!I6*]!6B[_G.J&!%W^7 ML?%0[6/KHV/ VV1\&U4XT(K-(:567(K"83FJ0R\-SR ZW+QT#I3,<=APSKGX M.<.?[@R=2:J$/:FV15K?9'<,:<0N2]^A8@OX 3Z@=8-%XS-&20A>*=GM/TS# M71A/!6RA*.V(1FBZ.3A NH,!=A#_Y.($QP8V$TX2$1"[( Q-R_*!0R])"M%+ M/0%1@>?L?Z**&_SFD*F.E#PWOB0-@!-4QT'QM'T<^2.Q.]7T2=CDG _?X@]Q M?4HZ(7,3DY*#3'2I:,)!8$@\@=@EB)XT*7KACG0ZG%UQ7G2P-UQ$Z!EA(@S_ M9L\G97L@UCJ#=^(-(:WXDM12L:3N%RM[[!5]H5C1^4^Q76G!,AS#,^##Q_<: M!140)E#;<[%1*G.%T:.]?Y67*%L<7+"!DBIF+OK;A=H,$0N#UT<\Z> G@4B!" C_HT#[C M04?ZT D.FAX1J'B5T%?PS5/UY-P/SDO-2!V2F1G1<_C:4-<=@NMEN"YIL/$7 MY*92CCY0K@\=E,5..>V(Q/RQROR+G#]?A,--0VX9I>$,\G6EG2<84 M?J6.VJ_HXV[0A.I2SDI#WYQ>1[;X.M_*2S=PW YXI$/\,^N3AQQEK<3NF.MP M]3(5D:@BYA=O[CI1P&=CL:QM@I?%DL/!O>(K9$\*(44$1\J%65$T@-S"/RX# M%7&^U1E\$;@:XRK@/8QC2+>HA@/_=%C'9!KW*#Q@;Y=?!W-"$*/$=@W^"\&P M'.OEK;2GO)HI)3DB??21#@MC3G2=+(8J LMN4.+P.M1;@8CD$D5$EL(@%-]! MI>U]CR^;Q>>-(-%MAE^FJG_;@DTX*=\JV !-(*$)3R@Y,)H<=VXH>9&SE+O@NP1Z8N M==4[##\A&@(X&"0-8,#1GI@$R)+(L M3_ U>NI0LFPOX#+B%N(M"3%4>\$A+OC MHS"%.2."]/%$?XDFZ( M[!(Y3:A[*'3$2Q]>XPC.@1$)+-GC0.O:3ESIXHMQ_4 L*LR,PS=3.*.A.\;U M6W1BD^9!Y2F2)-TTXNIUP>*0]^FIMPRS"3&W6IKF5MM/,NHJ?664^*/"E$]HCJ+SR7'O*5 9F:1NPA8A;^?(0X#(+Y[T M&A.^A!S6_(PQ@ >$IS]-T++SWTA7/?@>.3P?RQ8F.;A_FO]X.4=H!!0!?C+U M8\S*B_-O\J\A;P4.JSG,J<0E>)4%RHT^*CSK(;A'M^@W@\L1?5[BGY>?1O#V M)U-74E:YH@ZKK/QAH[5?!UM5_'6.Z3PB\#2Z6%Y7B<06B>MFKG VLP"L#(MN M#$42!NV#R!Z[27V33-/W]_&JL%AH5XI-QVGJ-B:43DSUYK?>/DF$^7@8##H_ M+P>Z5QQ60469X#'S1_:[EO?[\KWY\%.YO]-*WX:_6DWO]-CT-<6\_?7C].;; MAX_=7^]-_]?PX$"S/G;;/=UL?__FZQ^^-(,C& &7(/I@94\F\=H^^?;S5[WY M\<_M4DEB-,P?>?_>:?R M'R;Z+29^C@,V)V%'5!+8\,KI6=XC1WS7]%SM?N@H'TH;X,)Y*/RJ#PZ-NV_V M06E[F+!>G,:$T8I738(R@P?C5$3M14_D0I7*(R1\YGX1$_B4@%:CYCCD4Q5A MR_UW46> B]PL M[FK$P CI(_"SJQLB47Z%H>J%2+"?6E@VR3OTI.B-\8:=E>4O1HMHUNV'>5AA M:<+)P!IW2WBS('6306JQL%5!:E2-0E0>A^4NYR(@H4SXH>WTZ0I*>H^)*+KN M3T6Q_WZYLNT=?XW2+'E*&G"R8AD;ZR=N3_83/WF-)>P(76)_%?B=RQ&PV#"$ ME?'0XQ#)R]CB8F%*)_02Z\5OLET?6T*ENM0U7(BZF$2UNG&CNM[3VFZJ5BV+ MN[Y_JZ5J-V7J2+4,9A(E!WGI7!1+'#@&L])_)&D5M&IM=_=NJ:;+8:Z!3CD/ M) Z[!NM,AA.R=!&6SD==)1ABQ% /SF.5]&I8+[_[\OO1[EI$QX>\= !"Z_W! M\4KI.N;M$=Q:<7?W;JE6X\7(UZ7=!M*XA#$3M$_:CF)[A*M2W]V]RX1KH>H[ MF^<_3^!1F=5:W&HIN[MWF6 MUF+#G<(64^'C:3N'[9&L& M+HR6E4G6XBF2ZN[NW=HD:Y67IEFYT+1E'HX7.;<\<9P+-.-$EO3DEH" M!6_>O!:A]0R8:1)J3U@&G',-[ G]Z%M,*C8:]3P$J41.FP%=AG5GFW<1N)D[ M,'H]:LBV;1-^J<.V.4.)/P.^7I"E01?7@Z @/H$RX6)]R)HW\5JAO;][#/;<;3O+51#=(T0NT*(C$AD;(2A M4 J%0EX2"K]>1H6O%(IUF31^^/W('G+$%VRF=8*N:&SBQ@%.8.Z:"(Q@:%++ MQ\I*YN:.C A6Z2@/MO:".;>N]/_4'C!7TW5M#>$M82EH=V0^+(*;N&]@06W_ M#HWE 0)"N5TT*7ZO;:A@/@E#@4978"TKCHU$]!!7O)9#I_SUC3[UA]/DD)#& M$;L)9KAK:%V"@>@[!L*-FD/)'@A$*D+[1)-.B%3YT4UQF$=0ES1]M5@?^^N- MH^I^L)ABHU;-=7"36T8/H1,=%;94NK; AW!)7+'+&&?_HN+L7 Y5 MK#*-N9'/A^!LU!Y<*A &9\#5\+#<#4(42%VC)\&:F>6BUWIKV0.3Z;P[NNT# M*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!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[0Q3_$ MCHJ;'PNGP,%Y&S2DPF6(\0*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?\ ;]H@W?! M\.B#@0 .8BI*/#4B@>?!.(X^K(Q&$X3.S@UG4)Q=9^@!DC=\@D(2GKACUIT! M+T$MIIH<[XJC/>H4#X7[W+P'FOB=@ 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;^Y0BRR M-VET2S[7-""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"( 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[O M"R#K8J.Y./_J$)6WPSGQ@E%'J(D$"[%X0?7@;DR.6HE_!V*V")9IYJ@Q*T;C MQ#-CMYDY54J7BA#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-(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$3%DDD, M+W(X)FV\G& CTRNV\/9CR2 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[2B9XLJ#Z6]XJNM(_W MMGQ7VE.VC_)+AAV3U"[#:S*;O,EUK[1]:Q& 5^$2RMNW!.Q1HN'>4I.W08WX M*'N5[5O1E>VIY@)43Z8B'E/B8XN>=UE)1$]_TAP/SKZ][&_/RPMO8^TVZ"+8 MSAO)N6GO*86RK)3JLE*IO)HT^D'E:>T_2?68_/(XX>(XL7Q5^4^R.(U5=":^ M:699;B6Y+!;]QRG?6. ESZ'^WZ<17JM7Y%*UG@[:%]EY8@9EVI>R!:R4>_:J M50JWGD3\A.W,-O[)&U]4GB>VJ]7DD^^>@;#[&);N3,,U]87)!Y6LN959'TMZ MW--(F3C:)#5<;0N?=DBF3L,C7S'-(49??2MZ4HEY4%N'<\&;^# M&;?L4@IV7%GREE->:@MN:3%ACK3I>#*.N)2U.V!072:Z>Z4]376[9/&UZ;R;JJ>>BERWJY>T0]<#4AA*LFJ80 M5EM<_MTXJH7B%RO$F*41\A(\<^++(-4B[S\ZFXC :A5%&L!SB! -^PA,,QC6 M$"_F>%DS,LW9N:QE9U:$ S<;?:NHR,%0H#Z>JOU37O( M0K=5O#J?,$#/090E>)NREC"*?"S)RC?0%WFLB7KR=!HY0P:;5W0:/4,&NW9 M9Y9!HZ5.Y9Q:I*@[&)F!K4)M+B<&4S+.>I&QN5_,Y@/%_=[A8SF&O/51(M[" M/W29*5K_1V:G\-9'FAT263VR0V#ZC,MO:_!L,$OL'-K"4UOU?3AHG:9_ ^]"+[:,06&$S3AR(&[RC&0$;,\U"ORV "* /%7%EVUENN;V'SK$KJO?F<$ M S!R#/:>QC?A8"(6OC.@8?S=HQM$E&0\O)E.-V)('!L4XF7S@(VC;R:A?H>Q M6(0,?\?M(!DT"IHX:WL4=H9Q,Y^XX@^!=7)^W^87&!$+\\A3<)$\ M^L>^8XA9G1 .!A/)=#28XU^C47Y=M/\TQ@5?,T!1 8;FTP#<<6')D1H.Q80' MA[A(9'PRQ@,D 3C=]6E@ 3-QLG)XF&@K?4?K8EU2I:P\ M8EKIS@5^ZX6P8%PKX.<>L?#YW-6DJN)J*6:9[U0'T9K;S!O@1+)_B_E:A53' MOZ5\M4AQ E$7ILB"+Y+"H\E0^ C;=TGO14\"*CZJ$%8XPYS8A#*?P#"V-=6, M35/D[Q,7Y6)4<"T& =6Q9$ N4"-F_K M2-\1PSL=" ^MVH"AGL"8&.0,63\QW35B:&=%L*#ZN]-2:_&D"%G51)=-)7.? MY"? 4WLV>/IX;6YYYI"NS$V&),3U96_\<[O[>-3PV M#V)3DC.Y8D0;D:7:/*(-9JQ2@O)3497QG.8<9O;;O0, 9%4M@ MSV#0:6AA5X9A07CD\*Y[U?-$&V';5AU=ZC&&,(YN7OK.)-5T[:@E(_[,?^D. M431\F+POD48_H.#FJ-8#I'E(2!\L: [!.4>&:#WYM\S[1V(]AUVFZD&FK4GS MCZ)+_/VM/YP=X;%SW\E%;!!K)L= /DBOCG3Q"&B'-RM8>I9\?&[R,1@JO_FD MT05J DS/J&YWZS)>H\,?MG $ATAU!"M8:!3'RF<.O&B _2EY*QR?+7V(C\[> M>)JG^'1P\70E>E(%,;Z1%:PE5\4G=(?3N5>5%JJF"OWYL0^FG)AU(]!?V;U@ MUO;+X(^MAW!?B^HX8)84S,_.^&(KJ%FWYJ"YU6)F=<8B6T'-BBY LC$"FQHC MH)3[]ZO'9-RRR0(=U8C!G(]@)8]@(V,2S1=0R"IAYU%5#.52FZU#J5:L2Z(C M*6@KHEK$#$,U]:SPLC%4MVPPP:B\CI?]+E=*,^S4];;@$;!:;ASUE+!$$1 W MNOJ*Z6;K!JNSU? R+ ( W=&KZ=GM4-6L'6I-[5!*(6N'>O:9[5 [U/*5\%(+ M1I9+5_O=J86@TXYTY:A4K]#$0OD;UF-!M?P%:!,-2\VI)&4IK]U,,1967C@L MA+^D HF^8_=LK,P@8&N)N@?HK@X<"N9U41:DMN\:%F(Z(W* KWD"&*/7-XW( M*5'[\*-&\FJJ R#5\4W&-]!A-SX'!'#S4A/AM!V/%V08KJ"F1\- !RQ'Q7,! MD@B6=8T?#YW&4+K!J1%6.$M"M#;+!#U*@ >O \@",*ANWW8#Q />[.Q&E?RB M?"PL/I C!)!<# M"Z2S:_115 YAZQ&F_H!9#(09YPGSOY-\?5$ME6MXW@[%3'+%J=J"E^?"1T!# M4I7NZ':L-J0*W;@4&_,4MMFVHU.VXUPP 6O!VU^_J& MI%)!(*" =@S7O$R M0S?& H.NC7KUUH)GXH=\1-'(T0_A^T#A]\!A19M@@0:^H[%&>(K!Z^.MO7%2 M9'AG\-+@HT'9,O)DS!SAC_!A^#00P0&\^R<-)O/'H[V3\N%V5[X-*%85.H[U]62=E:BL*JA<12GBG3?-9>G31>LB;2#["P6D$N M5JK;4&$U90VEX52NU)4-I8J8M=I(J8% M+[ZB_4A+==0<=*S40$]_;;E:J!>E]PYCUL"V=>G(R0QXR@3FL&N8IC%0,1MP M<)C"#4D5,:NUXM^42ZE\V$CANE-%3&;%MVG'%U%*2^B>F7L_E$J*"IT+>67# MQCR+ME,L%UFTG0H[G47;F9U.)3%K[T-R$'3?[JGNA%)1]I:)4I9^JB2-9?<>34\BAJ2)FW6?4 M;,/SW ZX6%DHOG$;KK2D^OOL%=6()'FJGRE"H(G6FV0VWQ;_@\Q&LW>O#X3#+Q4[6$\-2+6KDQ5%*B.\@XWBE M5>=GBW*I4I05I9B2@RL6\HW'21G3=2N=[Y5A7F:8E^G!?@"58/HZ++KJQ2/BX\6( ^.H 4HC MF)AM&BZ"1K29:0]6BKJ7M=%O]0":,SN/["/&,3^=H@V3/SII>EWD/Y/DOL'] M1.E(]=C3_)J%6_Z3[/3C\YC7_> U^GH!6*"2V+>>V&>0!)9[LL*J8=666E%Q,O MZ?1*^>K*XLIIIU?-!.YY1[:ZD=_3CJRVQF@^B]QW!;"QM%6 C0*6D4@DU$4, MB;I&WQW!8;QR5,M5-1&;!^.AI5-+9WV-:O=R$1SP"K$' MUP.7F2FS=2FS\E8IL_!^B8AL:AIX3YYJ>=)) !C=$C-W,FV5XF6T>D.ORW*? M/U]([!Z>80G@<0VL#^:8^)2.\%[*]> 7'!P>1W=@,AEGT[L26B9=&O?J2L0( M\ ]E]1BL6WBX2Q7)^).F7QC_\Z[IZX:70RD-U[?E/+Q[HHBCL8+LXD0)F;*G(HF'W'[C#7A;-'H0V&GSGX%8>/5<*GJ<@* 0"S MRE'R0UG/Q60=I3B0=X?=&6S@!G=).!6!62X]%-P1HY>L+0Q^9T6OQK?]]54' M/FX.X7D(R^_&QS@<760.[P>S'YG+YQ.R?968A>7XWU'H+=O:YS\%NB,OG8,% M)U:3(E9#5R58A"KU^2#"P#>)'JU2:2U6V-)#9?Z??4=<]N$;P3<(WR7G\#=] MYO0,4&$8_TS2@QKNSM#YYJ%S8817@QY_O.VX"(_' K+$%[A^A&,4"0^>SR#Z M++%#?9/^K.?:OG[#O'!!?A_VCH8T3\V5A N$!5! BA\W+-AH>"2S;H*9@#E75S-[H>UR]%)D2X79]EF9 ^2CPJKHE73!4_2L7N2 M!^RY[]G[^-]@"_!Q@A5HY+A^1^,JN65Q^TPS.H:62SI!F8X/S<[,,\M+I_A8 MG>9PRG1J251.$GA#4]5B[)2C,QQY^#A31;^/LY84C@1-8"G@)!?.A3)/M@,G MX_I:-RXA>NPYL)*LA1Q$><+6A+LE&&+ MT=]3WS+"OT*HW:1]R_'3-RQX7@\O+SIBEAU_4,@I?6$-)-TF]T&DYO=P"*R %QZS#ZQFR1^8/I6091WZH'V=&JXDG'$B;Z/P(-2GY MU, 64:0\W?CIS$.5!T%ZCF8"\PPY^F84]'*CEZQJ8H$XGX'B&VIE_/1X>]4S3F"I=CUR MH1/%>>.*>KV'E%$UG:K=Y(E2OIC^K4^OUZ!*78=U_N^?KN?UW3>O7P\&@[S+ MM/R-??>ZZ6A=XXZYKYE^HSJO==537Q<+U4:I47Y=*!2*!:52;Y0+]+]*+?:K M_4)AG_\R[]U[H'"MR!BYG.XU6379JOY^F!HJE'YUQ8Q<;'Q3):;T=SU7 X)SI7= M%QOYKM=#> O7P&N *T=%%Y'?XPPID7?AV!K$.PY>ZJCIV^?EL;M2S*S@IK2% M4B@T*DJAA(JA7GG=<7^[;78/)S*'BFCY;6!>0W4,3&'O*:E6"TMDU\QI6PJ[ M IN5]HM<#1[:EHLI'G*BHBNRJ-,&*E2Y\Q_6QM(8 MBH5B_O2LM;N,O%Q\2*R.)$I^'%Q^!O?1]:B>Z8A,##H.[YE[Z@MCH,/FY[0=U=8RT*%J:CZ'O)$^&]9M6W5? MFCXZ.CY)V\%M+3L=L8YA&2^9FSXW#])V;EO+39_5-C-?*B-=7!ZG[0]+N74LZ\:Z M:(%M$5UKOY@52:^U2#J;AQ&C\P*[N&S?-8=$(N(%Z#BV M OO.^,5LT.H2U&R0?HZJJ&, /*T#\?VP/XVZ'JB?F#['VHZO.D-)4;#!HE#@ MC4U&6.;$="*BRQP&$MO&YJ4._'ND=R%5^G_=8&IIYJ0TUUBN7MR5%R;NK8-] M9;:T?U2MN+"7)H5="#I1\KBP;\=,G-G87/4,FVM=V%Q*ALWU[#/;(6RN_[7# M=<1ZO;8 5QH(;YV^/VM>75\>M[:-^!WI%SZU_JK\!*::;[#N]Z/[[6N:H&(B)OH8J-4EL7S@JIH25-]!,>$R-4- MFM$].]=FD@OKYL/IL+VWS;JJV0F 0 CZII[FNPT_-M0OO=BZ&S9 MID\3(7BJR"*75C6#\;!36G\W?IHA\U70"&]-2!F1O954EU=-=IH8+ 6-Q,\\ MM96OX&#XYGE]T(ED;T*C_\]X]]I]30LX4BWPU:6#O'0NT'D.'(-9_WMMI%07 M;A%/+A5" (/:K:"4EYIRN#,_<$I;"^V #(PBB$'.'AUV#=29[ M++8X6[B-T=>48#@>ULHC@6L(3"UB5YI['L2L'0BA[ &VJO8A=D4G'4);$=:* MV#D6%O,,,I\@H6*F7[/E[.L/)]/P)=FKEQ&54951O/ M :W6C";/^-YL%F)Q'9]X[[E5.:_Y5["^<(P#:L[H>9<3.X[121?X"^CM!SV= MA!X>3FK.SGV6',YU],NW_K.O@G;3%Y@SGY4&4K?%Z.T656NNG-A90=MU/LFH M>MDRE4Z@Y)@7_M'N6M*'O'0 ILW[@^" RW&_T\EB2_41ENBTIG.W,L]R^:># M\D9TC,C^X4HG\- L0YFY MDYD[N<+3X;)&E AYVU7NR:A*CZ1EKF1&U4NC:A=E*O6NY &SX&,J?"MS)#-' M,G,D5WN0L"N=]PD3\8WT676]#(MZ_!-+ MQ:(NK1.+.O50S$DX-R.[Z@5;>*_?OY5.C^@?OPOU@]\LF!;DTJKH:^SC_>_W#UO#PU+)U[;9O6IIY^6C^K?+_\-;C_I'KF]1>[_O/OEXI]^M_;[XKR MJ=/5R[?%]GW];[G<&1Z\_W'[_N+7^?&UT;\[.CLY_UZ];QGGG_J-C_VCCV=? MRC?:M_.#STKGMFW]/;1+5W]O?IF?_MP,//7A\M./ZL6''ZLJ4>#J\.#X8?;YES_5_OQTWE[*K^ MZ>^]V_ZA_/KPWT^O;PY?GYB?V.#__H_OR.NVK0_QOUVO9[[[_U!+ P04 M" !#A8%8.NO5,?<3 ]%0 $ &9O=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'/ M7EMK&VL ! (!OIP'8$\!E@"4EQ?"RP.%0"!\?- ] J*" OS\ I+"(C!1&2FD MK(P4 B&GI*TBIZ"IB$"H&JEI'M U,#! JAPR-=8ST=8WT/L=! 3EXQ/@%Y 0 M%)30DT?(Z_V?A?T:@$,!>Y Q&*0 <,%!8#B(W04@ 0#$ _I+@+\+B O,S<,+ M@?+MX>'FYMC3>+8 6XXC["\[E%>$<G3 MLO**RNQ\8E/GR=)\^2%KXM+RRO?J.L; MFUN_MFD[]-^X0 8]._R3W'!.;BXN+G!W)#?N$!*:SOX%/6=*&)G+P[O$5R_P#VG[@F M 0$PB+-X8#B K89PVXLU?97(PS]\EF//]WGTA_Q24K*CLT3*/4,%S: .H"; MO56#=[LT]D?78O6U=)4@Y-%AC!FN-2-YOJ:GM_K3\N/M[I MN]=F99-H7<2%5_T'%4IXBUI76D5N?1^;:\)<;D%7]>1[!)VZ^Y!+*5$A+^%R MEY_KR(8E@FK@]+@W>\S-#]G92!2C3?Q!N=QY1[=/<]2O1!?T4*BDX+781";1 M6-M-XV7$V4"+\,*P/EFU) H;Z#X<_\*NY,3R(2T^X62\34W$\),8M%--&8^; M;VXY,7K43#LNF>XH-N+E+FX,4\]P&(C,[1?K9[B/;R:,!@3X:M5HHW_Z->:& MB%F8N7PQC23TCS>ON%8N%AL7)GF(WD20%-]S$OG#F)/J(EA1FP@;Z,T,90/> M?FQ@*#MFJRM1A0W<$)IB-?6Q@6*IM=4E#9RP3]G(218BB:NXL?GE\RO]T1&B M\!RB1CJ8:DB8]XY!"M+BMUT?AMD%]G-_,&JPPG3E:7Q-Z)_&O2U46OK0VMH8 M^=6\)"^M(!V2 K"!U7'KMV.Z<03S0@=MK7#[V.F&X&EY)7ITM=4YWSUY1Q?@ M& UOABJU^E%[(5VQM\COZCD;B810B IE("A1MXUZWD>_;OA[30TV%6ET>D)2 M#>'+Z*I83HC(.5X$*U4NE(A8?'=CZ>DOL,&-+QVZ"FI/\G*:)1#)+F1&HB[RE ME9\G=5F23UU0-PY5?#<,/>)R?6#T9W7-$[(6=_%K.KDTL=0HK043&T9_1MO +EAXC_ M[#&3JB7T-4[4+9?^R+[0B/2)(_)0<5U,3,_IEX=/WQ/XU4%VC$!PWWYU,S4/ M6 J+%V+NNFHDS1%%@F)P(2U#/\\T]-C=S1'%FI#+R.:#U6LZU3HD$?=IRP@X M.5$/@KQ;UA_)K2GN_B3K1IYD"C$O46L^@0WL"3D9+'[*V"IBR4*:7SW@EB)C MOA5'WG\/>94A4THK/B?PZQHP<<15GF[BX/08AO([B[KC[-L3B\YAOA M-/%^EC>:5$);/&(C 8V6> ]126$ZLWQS:6))^N:"L6X?7_SI E8J2%&73PA\ M+Q9V1M,>$ ;?GVO3#\':4A O>V=;/RJ)KZ8Q4)=R%W39 !=1A7:D6 ;S]N1T M;VIUW8*1T/'>Z6$48H,-@(I@IVEC!FC2VGN+8QLFM)R!-ZB$D9:&N9+:;BJ/ M#]H9\[RO'R$T=H_*.^O]T<2N8K5ATNQ)J/_&>;SG]5@KJ)FSI!Q6;L_79P:K M:TX+GD&_"J8=+L\XP^^<%Z)QI9@->$Y9RY_^)NP \$$,Y]@ D@TL8$=PJ\/M MF_I>9>DM\O.>N'V!+P9(3"=C;%OJ],R(>>5C*Z5\-.#J0F4#+&LM%5:K-!NP M- U[*(008=G<$MU&#J_:UFPK-J0045B%=._9_+$7$E!^1E:@.&&>"J9GPE[ M3)MCH*X>I9*BKC67W@G8!"0HO##V-2YJ@<2Q34X&PH&&X[XAI37#XYF>5W M:51=A";B@Z.ZSA^EO(>@1V99^U\\]3#'D:<=<-NY9Z:(3Q-1-I2E:R;G8@W& MQ6.-UG^\?]%,+6QIWJN_]G (,B;. 6F(_HRM=O,RNR!\Z&,MZL1B_7.-A>SP MUSYJE&GBE*'6?C??4^^'FWKW?7-^F&RXC.1+5O:J*89E1C=GWE?[,&5WS>TV M^ON5PJ)?FR9)@.D\AX=X6ZX)[[LQYARM>8$GTD>3XO]@_A-V]Y2)*YQ+L5"Q M%U(K\U;,*,?>1.09TLZ?N&^H39F6>>R:W$;^.@_ W\_E4B@T-ZE(5FH:9PBM7)6O 45?HG4,W:+:]K] M5C]@YJ?"C>Q*VYDX9_+'\0&+2N/*,ROOA*+ND6XZ6L6C[XLZ6@%)/!0"Z]B1 M=+RM\SR,RGDY8AVTVOM0/[-R!\6^>&IE?==9:QM4/)'"?_77H]6/@F_*%]N"J+!.I&C@ =-W MEC+,YWXO)H7=T15.(,8+YT0(N=JR4ZI%VC]V5"F/__K%B\TV7V_&G*$/*0[C M E&T]2'<:LELG\9=FC)I]0]LM^N^AJ!%P<.&^4JF)IT7^.B^A!J-I\PB28P# M9;>"QWU1+H?,YXP+F-WA6R5L]>@P^C46'K*8_:FY1N4Z%2/4TQ*Q< M>%>5@LCG8\0L40TWOR:2J;,L="_J.Q+)RM@4F*%!'D\=-S3U=TO[8KT:S@_? MYM7[1%_ /9QHT.,J@>>A#Q&5:6 VH/"A@@U@"+L*$S4Q1;#\-H6@O8')9F// M0F\J\:O>@,>K1L-2-Z?QVVP@\R#U&W)/5%5(T;F,D""%:.P8OQYY?;X%/<\& M&+<$/5=@K&NVVP[IA/43FQCZ AN@ZY:#%ZL#[)LH9?B:\_UZ7]R^^!LMVPNY MM,/3,&ZT6+?K&,I63A6,/W)/(W(Z?!Z9VDN4HFV0R(+,W*L*F/SH70/&! MLH$=B4T"?3.<*3#$W0Z*TO!LM70:UU:T4:[G$Y7.B!'O\Y>E > ?(3/'>[OC MEKXSV8!<=3BKN9L-%-4G* .)@]0R=/U(2VS;B*[4C*?6F\HLX.L]&Z1W(V-U MV(S/^Q)*B*B45YO#W^@)KN%2,V:&7*?ML '%ZDQF6@$;L+;Q#N@H]U@BY51Q M<7G87+[4J&4GZD M!Y5.KM+/ED#!\,.,M>G<1I.)_F+T7;&3JE&VMUUNK9UQR\(?D);I%@651B!. MF5/MRX>-)]^1Y=(^+;[2\B3)IB;VV*G<[^CK@S_JVY$EI-9D_M6F2G Z>G\B M'R>M\W\HR(N]K- X!I7?SV5NFO$]S^S6Y\Q2)YMW#VK?X*OL]6Q+PN+;,]K$ M5^B\U;)/M+XW7.R,%+X)K8S(*K2/'X_M)HAZ[,^).A(T8E?Q1?*6M)E'Q0=8 MHS%YU4N᭣(/WFNB40['1DYW0,3ZDEU\R;Z.>':(@/[[ ^R9E-/)4Y8^( M01$>R![;B3VJCUO!@YQWBMEEF@.G5F4:F-&<);0PG)J _P-[$A]6,VSB"3:6 MM(A-8P?\C'(;9>F*4I*96GIW_R4+DN@\:/K:]XC7VV9C2SX(VFJY6V=>R$L+ MA@XR\-J5B]CIB#2Z:]N 0&37L"V>^DK]KVSA-[Q#YG 96VH^(6HU42O2CVKW M#J>Q5I;6%9X?5/=)C*>L?]9W7Z%?:7#;P=X0[\+]DW>& C-[?VV>& S+,.3=EZN450=<+W738@;QK)>L6I M@V+#>$PV@R> ?/49N;FE\)/'B^<[Z^)JO3 M(H!N7>%=^A D &/,B.64XSIL]W<1%K*A&5[8$-5,7;627 M<[?]?)Q9V"UBOKCG _T(KN8N/XSZ.8@D*'42)P:AB/WB9JD/:15=*AVOHTH) MOD\>RK\T=?R_1TG@O_4Q($*:*Z#/H+4$VTP*N)PW4GE MU\Z!,_O/AYV:@-02B>Z6G",3-Z2>Y?21H[TPK"M^T>6UC))02+$Y>_ 75Z-#+AM8UPU";2W/ MTB6)%I38S@&CCLDWWTYO3^S3E\BR578!'97+/W"82K__H*==\'QB."XT-A87 M&39T#,N_IX);Y"&G/U/>1>%Z-3S90 T5MZSET^=5=MF$/V@N(:$W5$>ET?.. M*_8 . R$P*YZ>P.)/ZD;++0G9]NHL++RF\-3P6:\C1Q*7^)0NO!+DR!*YYN> MII;#V3/%D6%4)\X :Z=5]54'40J>>K@B-(NQF$&5'5<=$@SOHSG6 M]'!=!=[%O9Y':1^CX%6M(:IWTZU03HM[4AM M$OCC=*PIZ0^.EKZV;#/I6SA24B!;-OJ)7899L?K&)XWB"XN8]P"-=9 M1\4Q08,L;BO.4._(&<%&.26^"4'1X/O8@!C&>MB3F5SF=V9K3]+GC3L,#0?. MWR%.<ZF]\!'IPLP7I/67LPJ#6Z]NK<+9'SEN4[5[]=,%Z[ MO[9_ 5!+ P04 " !#A8%8SX3+;O9) >4@ M$ &9O"!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( %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# M(,#\RP#^=<# PL$C("(AHZ"BO2Z 8 .P,'!PL/!P" CP\*^S :_S #P. NX; M3@E$/#53)!H7?*Z0Q!QD6LF:3@+UR3,Z;C/74!140B)B$E)Z!D:FM\P\O'S\ M H)"4M(RLG+R( 4-32UM'5T]?7,+2RMK&UL[-W_*A?,J%RP\/!P\TC_D@H'U M^L<"''B$-YR(N!)J2*8N>#1<(N% MPMC[WNS7>ZB6R@;\Y:T01\!7^Z^!)+>&-T#;C\)/LO:+.>?Z.*MK*A(UZX=M M\OOBZVR,9B:*_^H7_\\!IDK?^N$CQPM@.B!VA<)23L&2?-YP_P*@O0 +KEA/ ML J'2 J I#.WX4W\5F+)X7UE(GU.0V9G,(G_WRC0WT@XJJX@TC\J"A?K%(:@ M32?"2@CV&XXC^@:SO&?]D(OD%R#N61::A\"W/9\S;NR8KF[@( M1FU;Z4_D! =<[X3FI9FZE$U%O\\LY[OO,>?<3@NJK5-VO3BB;IC MX@[K$WP\>,[;*G8XK9>G^60H5]JDF6("(PN#5"1JGWPNWS#S3.UMJLL*G7_W M7F)'Z)W8"&FW+H>[$\E=4'>#7R8+RUS2E&O@HTH,5D>8DFI8U*G5^M9;G>+\ M!R..@5/><7*&C+)8*I5I1UY1.1NK*%Q XL3/\WBM0FKK"UN]\*B*T;3%5&_= M,6?=%[0SSOHX3%"OR\U20<.G9_I#=7OZ[(@GK>Q&9H7$SL/X[K,*+')CB:U? M<*N#N4HW]9"?^FK8(MM)HF?$E*+,%/3>?4O"=OIE#/FGI>UA.W?)'K9@C*?; M"">VJ\%O\$V7, *B*(8N614.!^U<82JM$V816/6]Y?*$@EHWG^"+D8CW3A_< M*S5ZVODGKJG@>%-^A!JT?$NE@T@+YSD*B'B^ -=:;'9# 6AR9[RK%T*]12,8 M@ZB@>#?:CT_O9&R/S(X]K*MVY*#I;3_GLKZOV1FS&(GU-GN&@M$@!T1X3AT? MK*&"^X>*>=[9=NEK906*-N"BZ15,$^=$9>?ND+C^\TI)OP<3/'^MR4KW+S(C MA*E'TPK9QR9MZQ0^!$1QCB9=:^S/BU\,K'**!AT5KB^!O\I!I_$#,\R@$3EUI2] #PA^O/[7Y&0 %N>7;X;O+]O']:OU]\9AL6]/Q,]V(OT5RHY MS-2L_8-E:\D3:&:8D>(<@#@YSCMRT*PVV8X\;'<(-6$6I-^FXI;/W]O_$4B@ ML]F3.NAF(;;)DGY@W<#, \6" /G%:(%,H,SO3^ ZW^ B3Y^;XSZ8*N>SV=TLO\W#M_40S3I.&%*L MC7XRE<:"+T7('!X>+&C:;BGYHW9,N8UQ9[E13, _(WM2(ALSJ.L%.+Q>?T % MO0#9].X$XWD YPF,A] 2X8[<6N]SB>0^V_G7G%7B%,UO^D7L/Q MK6:505<&/@K^K8E:X_E; DUM$/RMD5J1,=6;A?\H_IYR;JLZKO\8N:8\33V" M=E#; 9/SV97%K:?Y[T0KMTM9-^Z*CP1JC@,B>H?'H_U(!=@C"Y_QBXP>,;-K>_G/2BN56U>GPRP8*8P6Q?@U7Q&-";IDIU@;G;=#(?%TC M)<=+(Q.:;VRY@JSR2%6%\E2QSNU\T^P\1KS7+'0,_5J0.++&^> DC *3\_[# M4^U' WL/,-6GZQU(TM94'U.Z"_&@*BK_X4#1D2TT?7']8OD4KTJ+H;DLJ/MG M8%JY=ZG]@\>,B"A&6W[/22*[%(\8N^SF>J9 27T0/JCDKDQGFCQ-:_0G7Z4*[ASVQ+[8CES M@L["S5R(DT$7 %.20D&9OGS-S'LTNY;VA-G=D\GX:PI2P:\X?7576"2)5X9UG,-'*EUXP%XN2:+G, W))^+)8B_1WU#4(FX-G54[G;'6G M8=K ]E**]JD06ZHTX9UXG^\VQ&,-)QXT(_*6[6?*U7ULX5X4B/WK"5VP_ YF M7T$7YR>+^>)9D+)K5&!86I\)^!PQK=#6<]^Y0?L%L,U4?Y2B7]@JD;R\-= :(B=R8X_. M]89A=6=ACQ< QX#RS?F[R4>F^]_UBJX9YA;J"^C$P9B!$:W;2G5SCTH!6QAF M76-+WARW2V4K@_6E+K&-E,&!FKLS2NN=!L."H >93\/P4;[!= A!4O%=\:8( M0RV\0=]8I=>Y3W[&+?7WJQY08C3/;80'3MJ38:>)BJMR%S"OV:[P>2HHA[XGFA91BB4X^8> WL:GQRJ&@6U&J-U>A+\1>U6)T3YI2DCU+)OL M[J?VC>$#K"TQ3L/*GV4&=V1]S??VBJS:]S%K_D1H)):TK"X=+X ]E9J./]=> MCPD.+Q;.DO1A(=NOQ>V4KU7IZQSF\SE/+"0:4='3BDZ[8-):-_W#@-9X.0JF M?(JW]I^O_H\@?\QML[$5!Z6K!MU")0.XV1^QMK69LI48FXRWAM8.J!BVD NB MJ8\2X3!%8UFA"4HPH;IYWO) WQ#JAOO&S)6:_YBME M])_W7_\Z5!1E"OX.94QE-_<4UPN,A.CF1M>XYD)FP__U56$)]#%\6-N*8$NP M-5&*/;RJW(_C6-B8)X37A2VZ@EHG&M$*TYN-EUNUT#C'(.]$)D??RZA, ^^] M+[GI/$E\FXGSU$\RBC+"-1>5O?9&[Z<&]<#@G&!^5IH8]B!F=@F@-)$)M M-SWIF?*+D4_B68HJ M;8]Z]_:7U:? S]>IH-'SA%'S-91PY)/BY[Q#?<<:8X]\SH='@ M0Z/X5A)ILK14WY).(9F-HCOTES!Q:TPJ'PFJP>EW=;!(?^( ",@UDN!C/7-+ MXV6(2VP*G&MIX_ _8T>58M$Q]8)D\#'G_G\SM=^MK]2#-NA3T.%)T!.C[X%] MZCGC8^PSS@M0U?0"7/W\ U?RRE9@.='-I*AE,'VKR=/1<=+8U11Q8K9_:'Y5 M97GS!5&)Y G]3+#2VG /W3RA2_2NAZ1(8CWX5J]3U;4TV-+8V3+( MOL5J\4-?.\)3HBIU3GZXW[^^C%#:58H\#)>F\06PL4JAT>W0A-%T!S3^9+,V MP$R]VHBI#+XJS/]"(#%N.UW_X\BK=ZCNX5/F,%,&[Y:?@L)?@"-!I.<0>H^P M H" ;)3<(>JDU A:;![;7XE4LI5?*=6SI%3U2$]).?O=J/)Y!7J@-ZBIPFSF M624..O#;4$5\7#I)!'-+O2^QQ"]VGAQTCNIX"+73GCDRMR$X99LM(OE,HND3 M]I3ITC%U;FP_BX&N 9>6PR7"2L373Q4I>\5.6]NUGV!T!7N0$;E6H=2@ M )/[Y?8-TQBCI M0(JIWMZ("IZ^(40?LYK$V6]]^0D='Z^S,4OUMD.\% ZB$_BY 2YE8&^M5*72 MEJ^.AY_TYP^NJC40HY;I-?S\=^]?/;Y6;>_X^9UL[0M6Q2X:9E.8![-;*BXA< M,H [WJJ$'?8XCPN2"RF1<\NW*SA1T%6)_<"C1^E=Z)6W%9M*M\GB!$;@R)?V MM63+!G*,4N[#<8@[42;M?)K2G,>#5[61L&*F.R$8CR>9#EUK,$%LJ*?L(UBT M;BY8>(AES".(TD[?LF)"47>OJ:[=EB'F[>H-@DS*#_2GL[BR_>:"&1&G@)LP MRBS25AW]$$C==[8UMUH!J:$'_-AU/DWTN$\7"( OAF:RUO16*Z&K\3+]]$=D M?2U,MVFT'W/6$;P4BNK3]&#UU9S,MVOT;G 2N]F=.@L]*0,"?2K4\Z*VCNW$ MM/4C?7M,^GV8$,$3Y"%?ZX\V:XZ"G(Y"CF' G :,LKF_ )@IJG3FM@/ M7S7&>D0W=GU62.A25E:D2IMTZ2^IW/KW70D&/BFP]\CQ_,OHU4+RL^YA=20, M7X!7ZY@__'6#G_P"B"O\88)!Z1C5;I@IK\Q/$O9K9/!N3#1/U"V:1XKJ/?\] MV$H9B[9-LP7DB7R/LI MN\R ^W,6JYIGRHIOG&\4<'4(EIRZ-JIPS/FI>FR.'Q*:)17W%=IPDS8P;NN& M?E !B5%'!.[)O:KXS@-2"A-+#'L_3NK)^.0CLTLS8S.C?<[3%CBMU4,,:"L] M[N[<_/4%&FUJ30W)D VJ-]#KS;IV+8Z%,@W2^E!)'8M3?E'+/YW2^VIL\_]HV!ZZY'=9U::8QXRH!V:]9>9G_!:< MV7@%S)U$F+:>IY:@_G$R!;]/PTX=VQ6849 :@+$P#$9F;1(5WP]F@H.$J=4V M-]A'^Q4SA+LUR^^@YU&XR@A-W<\]T[(5C/#CA(5."GS$*I1QH:2,R2+T#A4^ M9D!#:\E@4M@?IFEUDRZ4N42#B0,MR2("%&Z]OU 0XWM]]Y;J%ZY:!C<;G&I[ MI/)D6V846S_B@FB)X1'T@8,3IV-6:$#I+C'_SY+= 2*7*Y)#D%OQXJ(#D8ZJ MN(6 "I]X2SS4=QYFJY%Q1L2TN+O(-O6^H,NF77-R14#"J6VEY$,H209&8L=? M(E:6]P.5)6[HZ6SY[VFDSYY:<3$D96(8I AV(H1_6#MOG\39P,W!P,,*:>!N MD3 DX:>0RI^WP<'JB,3$+58&=1&EEIR])G&-!A%^-@ZJ/+481&*F'7[O&]U0>.#39K=)?O)^BAJ3QQ,O39,-\ELU8MO47# =]9@I[EN]*G MG3 E%ZR;?-^8":/@2%CD_F\6:C]B!R;-,]%#2[U->I=.FOP*C7B3H3^+G_>_D_T#VA*].^15&7TEVB"4?DG2 T!C4@B0XKJ13N@9):E;BXY=MJ$U[:$W'WLXT. M%3WZIC!+QVTG+*A!W)*O!LM_FLVAM2'U+\4,)9DLCVT1+4=&#D;P?=&\IN(? M[?=Z7P^S'R_BDH(K5+B+VO(-/7DBP$[A,HC0)K7;X*S]%]?X4PY?A3V)SO7/-P/%XG_%27^ZKIB(..OR$RY-L!!9++O3]Q!Q9NE MX!^$ HQP,QMX=YKJ)DM2'A3E#>_R+P(&TL5)VE\_7,YPLCRYKYU\;M;2?CCC M$L>6S@P'H?P%8"X1,$Q Z=B)VN6]>E#:BZK)XM)83UD\+M,Y0M M.D4 R'\'/IA["@+7@KR*R)5S4XK#[DT.X/ "U;T_W.F*L0;*]3\_-K5#(ZPZ M=7>^:\7Y?L0S=(IBXWFR$A[%DZO3X[4OBMUKC6-G RUUR277(:A!)%:GLW=C M]3CJL7#LVM\T3U5 ,-BE&XR>G2_!DP+T:FE(J>:WX8"7AA)%JQ)K90EIZ,B1 M,SYF?I:"9<5QQ965HN(WZQARPB_=Z$\R9G<;>QV^NXANYNPPIQ?I.^8S]&']N[L&'^\4W-PE#%01S?;0CU@"V1*+F8UZ\<0=EEHR+CF_#%YX*]7'E MQLRN$R-EE/#61 ,>,Y1$?HQN-R>I:WCSM;K^'ENO;L\)F:=T]VG6BK%-K]_? M_7..:PS6Z521-P6+1K7)LOU=CZP5:IG.^6./LUZ[0S6,0>Y+(PA#MPMW% M:RQGW J=?CZAGZ6W 4DW#A;^= 7!R68>&_!$[ MGP_314;S*]-$4^.F"(6]UF6UD(;KJ,-I&1F=607V>&#V=8A2;RI07V,N23Z. M7%OPV@XNON\/N'Z(2OJE\/!/)S45)+OT3S>R2Y<:418-$83:D>[J!&3#%(]X MR2%C+%/]$N)H_SLIG_9!%]HB.--]!5QPF2O\>>E!82^NE?/P4%M%8:QZ#@PA MBY5$?AS8J6Y\]Z$6'=NS#)'\::H9,\:>GQ2?VW]K?I&'+0]7 M1(?IDIY7ZBVE,'N-V-IH$&ZK9MX8]W:5MDE&4"M1HALF^8ZCDW[+0X20X\XF0Q",9DQ4F.#2UL[CO)6L@-_XE,]L).=?46RQ2 MP^(_=*BR1[!RE9A8Y-H[-C6YN4Q::L' !BI_E%'W7##+VD)GL0&9W]=U'$NS MEL^_==_MGR!P7BWKS-+.Q.BUQ!&&4+EL$D?04@@RMUYO59Q0UF>$9*.+FG3I M!S8)0_/8CN8N$"[9WL_3=.RXT\/ G?WQ"]-/6PIHSRM2,74AMM?;LLD75_B- MW$GN*G!5!M.9YXT/(Z4]R[[4Y'M*& >#*<4H&^D=*QVLMOPP!K7DS!I+:R0*::0[T^2 MAX$Z+1^!PG9\M,.US,,M-(C^J8:UZN?BWPQ!D9W=W!?@4Q=*0=J#F.(L+YI- MP47FP1P"9P1&1-\N^IVH0BB+AOH<]=3HYT8]A=65BMIFF'!/),<3;_@8KYTH M($UE>EJYSL ]W2>8+JWQ>[XG8PEK3U9W]A&"9578U>FQ1 #K_.5QVKBBSZEE M$O+.F!>KQ3;U!9+$ FJ#1Z6^OMWD_A31I?Z28E%R<*+L)]@Q$/&@2 !6@53! M71R%*L_YHG&WZ6\2\[:?6C0I2!Y_&P") =8\:JM@QNEZ,B46M;:6>F[&93JN M8:ST/K%W3[MH$WCKKQQ,/V5$TAOF-:4Q$)WA3Q8HE M3J["QBX]P[9&=G+!V'B0]EBW0A5O6I#^LZK B1P$L)DT['GFK8N7KYFAKIZI M;%]TOIE9S*$OP(?TD[%^U70;A@N&6ASX3/Z- MS3!L)'CR/6(>F DUO27V.L0&,T?3.!L%^4D0^CY4?E49M7HG4#IJ\M^6/,)D M$(,%_Z6\434?=/26\3DX94)';#/H^O[T*9SN!9C ;48%J@+,P26ZXY8^J*-. M0OA)?'\ZYI2*/O&4V;!OI]"W\KOXX('\N#\<$PE\J!E02^ZXO_"I$-50C01- M54+(@G?);-)UD+EZF 9[]3!"1@'3)6\Y!0BT)63*#]+\6>)MZ\]=<^PQ;$(1 MIL']:T&1F7N52(=Z'\MT/!?>GARUO>:?A0FY>W:.9LJ3R?U-C'3)^BTS7@4K M3# N>M5_4E/GO%*A7;JX)WI6*7DI84X)22-D@AK)F4*>);Q@939&A:89.EGW MAG@_YFTZK8ZU>IAXV\T,86&#QKS4\\(60,7]5MG: 1W]O6OC$2)PM9LZWJWM MR9?FG)^F0K]^_U#4Z"9\'O(PLF,.?8?DH-VWJ9@.=$+/"F(A;5,D55:9^["* M'FPK$6;9O\7]?XO3)1"1_[@N(Q6+/.:Q94CG;VQL_@'#-CHSRAJ'Z,SE"Y/< MT5%>L]T"4Q8094^A@!R[6*NX2$UE;1M&L$2,*RO?,4 ^VY)%()D>WAL>][/8 M3H>PD0AVBG<9AQJ[X&>*XL>P8-!N,$79G8;*' ?"2H67D[.J'%UJFKJX98S% M4< G1_(LE^109K)?"/LZ''"2CN7HJA7M#NR9Z_Z*/XN7Y0=(!$ZXYRK7#^?N MG2+[ZKPP1K0WS6UQDK&PS6!8N?M6=NX!V_O,!J="I:*.\U'6^>G/;^0U\7[F MIPK2H@([$\ 28KJ_B#N. Y'2N[^(^)XFJ]L(KIB^?I?J)C8W^K'Y?/-\!Y.= M-(K8ZAKF.4,)LLC[?UWTOFP-8.90_&CV+'"\_()1IH1;W,2$PIS%)]%!YXB6 MP"SOKU-D9.NK==R8J35+I[OQ1=,GXS-]&*SW$D]^T..'VA /-/,.<^JIL M#H\D"<.*LJIYC#L%DJ.S*'-[QJ8]!?/E."3]VER]CT7#?1?YRR%49"- "'.A MPK8H;FD)M.L1QS33TD*.H#9(=V]67=YJ6K2V_&AN7Y*PK%6EB ET2C# M>YSJ8'D> KAKZ@B[;),A@WE9ZD-/_/Q04F'/.$H#\9&2(\1 MQV"VAPEV=#NTFA:L>]>IGJV F>T(Q0EQF="HF[QU;JYG];#"/M:X\C@QED&>[Y2WDP0VW =W7+3Y M48'.M"Y2BP8O(AHE!1)VJI$$ SLO[!('F)_%&YC L6+ IC"&\KYE:_J-MXXI M7Y77FY#OG) H:Z3LC3/?!"5')_SLW6 6.T+"^\(L%U/W\.-*6IL"\5[7_(\Q M<7*;>L[>8K*1QS+'OYOLBP/'N=<,AYU'J6ZY:3G1CIA/FLJZ6IZ MZWV_O\YFG]3O@T3I/>WZTV;A$'$DA(.:*< MXGBVF8335RTU[K$>;LY1YE&*+9'?WS;^P)JY9<0?OY.J%ZOEK5K0&;1? M;\!G[[]='#MI$VTVCS%+4SHG.]#AE&UFKW!"S_[:V!2NABDJ>WR8N?Q5"S+' MUM?N[HG+-@A]4""$LR\\+D(2E>@+6L.'T5 ]*TC-";S-##@NG\H&C?Z<[F)0 MFW@_/0@7$T/N518I4VO59DZH="1),NCY=P(6..Q']R&?LUR/N1HVR,@(:, = M)YA:S'>AMLHT"QF2&Z>#Y5(&3KQS6FV+"C.G!YV\TU@\;FC-)N-%QF0W@N$: MZ ,=]HA?Z2$$\R<8,84R ]\/;/Y)O*3Q!S69^+CQSX.Z/Z3^T46(8<\2Z^=' M4M5,?$>T@CLXG4C4Y_OJ^VD7=M@B20M&BUQ-4@03XJLP TLCR'OS$*T@G 4L MG,*("I:UVM2/-=">KHA.Q^_482')XOA@$91TTA^ZC0. X6(4UIO+=3? M71N ,>TQ^%CL P1E\M/FU(U(,!6^;<;*DW5H[0FWF\9Q@W+^W@O.'UDT M2VR6F=(8O6&V7'%K$37TN^#.\KU:S>=@SV^R?//Y7J^NP8B H<%3@G#\NQGQT& + M.?I[ONT"7\?)?=E)<4J3S8?E>"Q[4H_UJ((DDI-Z,F^109QO]0,G>BC XYW' M=HE@L<,+ '$'8X'F61W8]4^VA,M0V-*YF_1^>X5\\X1Y5@^@&U>X!N=-Q>8& MBP1I3IA/7;M/\PI7<(ER80@1'Q7,.E@T@JC8=FL3:<*_05'Z1R2(_]A;RT^D M/>,9$,U\2CM?_$/8)UR28Z%!,_H& _*E.R1LG/;]]9\'N0(YT58=O@L)+J0H M3:8#%2U:^$!-&(+P1]+,+*< ![WLQEC+F-H4>ET+@B6!B, 9E$03862V/MK(C11A:^W;ZIB%!<@1T;&%PXQ-6/ M>]$HRB^8-DT=57%C'VL":IIR9WF2/*[DT4NZ)RMR350)1\[B$X&*"1T9HJ,G M3K6YV8RYC)+) &Z^PO%]33VI[G+DH7"Y"LEJ];WDR6>=W M)LWK0U<5AGW>2#C/72@D,)%868J#1(.WZ:X[>*]0[GRQU)XQP27>L;"?Z,T%<]G8.K'N%A9&).? M)B_NQ%LWD\K*_Q$6'QO1OC0?0-7_[V[SH'.0T@YNQ+K0RGK9OQ775 <)JP"8 MD"];*OBV#4OP)6"@):0P2C@>JC]4W1.S'B@NSII''G)W;M3+,+DO3JF6OQ]D M-RT3GZH4>0Y:W'R=I M9UEW4LF\%YB@'I]7X-$>14%H![,'IN+$!#IJD,R3(7FV*OJZE!JH=XI>6H+O M.^J](MHVP,+X&\SZ)XD+)V"I^E*@;V5 MCVH5#)!BVU3701KV'[>^[LD*-0Y&A6LRB9[5KHNH_-;)?2R3/$8P]9'_C"K+327^@L2@M+08 O7BW<0T# [D"P*$5P%(EBI M_1@"?8T[$TC)P_8T!\D0R%J92PE#\T5W 0B-C M]CUUY[%WX#XH[>+AC(\HO5;IW MQF =I7E0];?U%2,9UJA>=O,DR0.U9EPX!&9!,E\=KQ#9"2;8KY-+A^FLB4+< M2\;B:BD3)4S#80FR45?HJ*]:%C)Y'2V&[1TUKS:C[UU)PPXE%+/XBJP(B]:2TNG:ZM$5*D>W M6W3V' K-PO98K.%??(-&_\.Q,8[OA^.W(HI%Q "N /L&:IQ0)@ 5^-UJ:5EE M\A2!P3PV==(_PN$'?\N Q>^(RB[)/_PCB7,,^*/L;1!+9C1?[X2U/Z\&RA^Z MKSC#6Q*6-]>."_I>6Q:LFW*UU\0L\5>7V/6MV'-R&^#!0_E5[=5=(X9X M%=_U]Z7Q_9F[G3!:6K&=YWJ#:J'K+.M7YEH1US^#&@*1UI@TQ\@Q: M_4Q)<"&Y0D!&G%23B3CE$HK G@.VS5DX2#>=KLB;,C'4_&S4+M+".-*Y.9!7*6*"O0Q=61CO9FB;@=3R7[NINUVVNHR1;$[R^VLE43-&90> M=D;9IM:<#R0-N7IZ?_CP7LK'90N4UY2B]2EBL9(! 43^5\;9Y=9GW/[493U1>@?E- M?C5/2DIDBVB?)3KAZ!KO[S"+5 LP(DAABW)/S ?4:_+S>=Z:<;I@)\C1#'T_ M&G+%VA0G?P%ZD-.#$-9R24+84-A@4SU@->F_ CX WL15)7!F#4"0\1N3"5MVC5>W^MM(Y13V>"L-W0=Q>5$);Z@0'9V!GX\CI#L'# M3ZX 'I93G-+#)5MOT=M$MFWV&G&:U]N1\LSXK]^<\/<&[@AX@G2<+Z&7@,.%HY;)GODO&KH5+!!J&%RS$-Z-;KKV/V$=I&/3NDL8L2,1% MJWY9^',[QOI2JQMO_R*')I+*SR^VG'U(C M>E0^P:?@PQAT$TQ4A\#BXH5A3 M434R +[:/Y#.!.3&3(HCX%O%3/RKMEO]#]V%%A0C"ZHZ^_442?T"3-!55KM7 M_C-38P)$!2KY]6?\%:VWVA@_0&??I:P[8P[T%B M:4YN>]LI9DRU^&X0=T84/SZ>'QMB/DX@5L0NC]7VLKJ65XNE7HC(\GX-AZ^% M51D>KS+?-\SPKJA\5.+-F2]W'V [Z:W7OI"E5"R$1QRD \,G12$)D@R2ZQC8 MTZ\D&49G:(6K&U77#OX:_0#7&(-11!?C-BVXVU@VCG9PQ!M+0R8L5S/+B]#V MX*84$?W5:LB$I=;X4,* MO;<6G,P/WAT= X(5;$X]MX3--UF%^X/H93??DE43+Z1!;[J*^\^SVL;%17NM MC6P"J<%BVF=7VG/C17;\W$)K]0LVN=^'!PKX+CKJ0L8P9>6+3.YH5=')5%[3 M8_J9N1M-C^#POTW4WRX\@P'X3 ?IFVKPMO;3R+]$9XK53X'USG3O%IKQ8]= M&72%6$W5<[GLK:$Y4\'[0&'\RE=&$JF74DMUD:RT'%*TZ#L.)*\%*ZJ(;#3L M[^'TN@;W^EEU<%"4<=;X,0FJL9 <,9'\YP5+O:T-YLE49_)KZB&95K6]T4J- MAFRML6_TR-%-&\#DY&"2;+1VBCF/6$\V930VLZ%=8;U)ZMGW@TT,"%Q#:D:R MF@EZYM M>KY07UVYBJ63Q7RB=*(^7U.%.-;VE_8AN*KX@N//CIEC$ M**!RGY!?'U*89XM/.""2P=^PYFCX L" .T+[P]'6*7RU"]L*5^R(A%@3$%AL MB]EZF@2ZD'>,17U,==-_%K;P1ZU=*.';\?$5D*FH0,OMXNM/$DK(H;K!RLY( MQ(/9\.>I;24V W7[]P5%RU$YT$EC[(M53@&6;L=[['?OW!*G%7OTX^J*QHM$ MTY?8OJ9IGRM?X$Y1<:F&:\G!A?WL>3!OL[KKEYMY!)FZ%3"$6ZSY*]38X:U@ MK5"V5!-Y:N[$."L+DO#6E=KJ> GQ9=B29[K/S6LG@6A_$.(,E/,(78;)G.!X) M^>D(1C\4^GJV)M4L30@E]4,!Z2G HB3630OT![;J?/35$<[1M?.E"B>=F M7@@RN.!DV$'W]2)'P^+(IH+ISZT_(T6ZTWI3PJ>"U)&5NL$QPE 8\S^"C ND M?4YXP^#-HL;Z>=9KO\53T[I0"63I*) >-J*68,>*0:9+2.9UQ=8H+MA)H4'7 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?%+^W1VY59WT68=Q8=1[0U9 M;SP?K'ECMTR(#TBM("6=3R6V11GR9GXLH.Q+TJ=O[F.NB*<)X!U*95<$6Y.E MPUKO4H-]=XEB_66NGP(!$'/=N!'NK[2G2;H6>W"%7&X&ZF?/-7O>J<3N&:*2 MH@X8=>/.>$.4^H7]9*Y:"B=DKC[7N\$\(BK%]NE6*>P0IP PO.<9$B&7P2GW M0-#O[_X[N/):2T*93RP%S=P9;S%::[KYNK1!&JXE_>I<7&(XAE*VE&_"M.H? MC--Y,Y2$D+5'(%L][:Z%E%;J*!R9GY)#II.4/-.XC&(%\T-GZ9L7$^&&ZPF? M]QVHQO%A^I>\F[>&ADV:4Y\Q[/I5PNDB3A9AO] +UV%JIM!1_(C+^+L/0HI> M&A>?]0!Y++.9;SA=OS>B2[4)6V!%!P-56P:^SOHHMU\CN90J'9V8J#X<)1+\0!_XHZ657B1D9F_][.@W>N M]CJ*,Y!H#OSN7'NBU-N(D\&3[20FD2JVQ!0CSN24OYU(58:[M=4''%J MY08&NO7Z[M $_+31D2DN/$; 5"XU&S.?<+_7WC;=LR1@R]NC37^(C!%2:Z^; M%Q?$[R?,(FP-AW;!1'&_AP\S\Q\US/^SE4RD(GPU<7+'$I^M:!,\VR4'TL)T MFAF1&\E[-\[/LC!P3\ZK\R3;10K[#HX[C7KF28+:\E1#7MXQ]F\ W $408TL MX_ZINFM1]H/#7GW*/&P-)XL&6$,HUE@I$64;AJU^VS^"9K3%/X)F2EI0^C_-*N2T2 M#X-3K(KCC<3MT)UU)EUJ5L]/DN\U&DA$0:-&\^Y/)B;-D%JPD+"]@?V?2NV[ M%<2/M!_7:;;?9)#Y_$$Y%"=I,*:9WYXZ%5%FK\B=.G9<$JL!.0UW)'U;'=Y[ M$X>&CHYNCMC")L%1"(%3;@Y=<@AK]T8?CE?*2;L<=;GT#C)* [6>#>LO#Q>N MK')'+S+NB%_\C2D4;6*%L23?. ,=&UE!""[_Z-38^@6N3 AU-D&#=["+1)NR M,;5$5,J[-YYT]!N;:Q-I&W'TE*'E4?MMJ@/#K3N$K++(&W!KY2I;PHW^;[Q* MENW3C7-H5/#-MM#,:#_Q?(YM\^\"P7PY8+%#$[SBP%A:W$\-W3]^$T>\:2OM M%[JI,B(K9/'PH*V<4G0HY-'74!%DU7U3(>O]T_VJ"6#20M9M7W&B35X.YA8G MHR3_!993MEW6KIWI3 CA_6&L7\EYD=C6A"3Z<%4^CK=N+R3^/-4PP]8:GLZ4 M5VWO_WWXG7K+Y<^>S'?O. =$B\[&TOSL \H/=.8FEA2+5UA#ETCXPU%#O+@_ MPO:3"&P7,=1Q.%S/G5LLQ2S1'+PSJ"9UNC?KJPX-YC[^%]]S10Q'(@C45=GK M[_[<4L)<8CJ:_M#62GBRDYKR GB>>/?AP[;O/'B9X!X*K:55V"0:]-ND>_Q^ M]*R5[ZDOUS/ZC!;#]%=H)SESUJG'5VFMJ-C;T\_2""H4N62ULO!&I(0H7B,5 MOYUIRO%:CX?00+7[V?; MA?Y-U@=+VMUP#M]0U3RMV)P^/\89D,W%) N[U1T[*"^.>YUI(QH]&$'7[V= M Q/IAFZMV6=7%=9%_LW\()8J-Y*/JXPI9YSB'&7%2[=MGMUPC@#I_\)^]:ZR M@6^2M>7S7T-R]WN+0/<&2FI(9 ]A\SL=O^\S- MO5"/'EN1HA-KB*RBM%E/V,7>,RSS;A9%;(J'8P]&!WS07=#A5&XV, M*^FS72PF'#V#FAG3XV>\\5\J=.2;VVU^ZT"_=MSL8.PJ+:"*+K/$%Y?>QT=5 MUB]."?*@[>I9ZIIY>%@GY@[>FN5;>":QHX(8J:+8 MC,Y-C(AB@GJFJ Y!3*NVC2M%0ZLW' P-S]^+]%6L>?#6^FD_N18-+\:$A:^N2TV^M8E[9MBRX/=]AK=A>'EE%%\$=-WX3W1R%9+KWN[)B8 M5Q\93?8DV\FQB$]QKT^QZ%'6XCD5Y[;FMI]+.!!TO\\D4_8W,/L ).SS')$9 MO:5W744C7V\_4,$ 7S$23[F"?H.1F3=5#PE0%J55\ELT]Y*V4"^)>1S!][B? M9SQ[^F&K#0/9243_0-CM\+%D\.2]^<1V%3$S MXP6.?S]Q6#[)C,]>,EYL\\2 QM\5%6!GZ-K@'M1JB?LR5-_[+VZ'DU6AI9!EB:;Q)-EBID=+,^L\B$.JX*AI?)]O%=N5S5K MGMHO RY%\X^<+2>W#]_ZV_C&02W/BTJ*:JUQ6[J;-F:Z'SEI$*F3ASGICBD. MN?NI+O#.O)XB-5X :24%_X:)9O^YV[C&!*%I\_2WR?[J+%6W7W=TZ,_Y&!K/ MV)YJ#U7_'+\?Z%T94T/4]2_O3D%*S/(];VBMI4)HU2/,*&0+6S8VH$O67VV] MN?SU[1>/)W-(D7P>:U%))_H@^O=66]D"/(9$?H-[!,7F_ MWXY?D]&?239->O "'"V-1^(&B*,5KCI+)N'_V&%::D5WOY_1=_Q28O<"(%;^ MJJNTLG\!, \N(1DL"7T\G9;;OT949E21)M*(.%_=K<@8(5-""Y0[&!%4R=)C M@N=^3-4!?6:M;0B0'=IRP?_(^3E3USHQL]1/ARS'H*C'CX/H+O?^[=K8[J3# M,37F\',%P3(Q]8^!LNM.>,]*TG-WR-,/MN>NORW/TR8-[#?"%D^[B%APOY<[ MLK$*CSCRVNLB/*BY^^(&6^CY ><@H1]*) E]=.H',"R9XJ("53@35[=GX[UH M+&!2T)J25+>)_7>&;[^RQ$9#W:93J)1=#-=#'$XA6-C[I/F^?2E(GV,?GIJ% M,P;;YP6&G6)SENN![&UROQN 2K[U7':HBH9%L"M"@#4 J8)EF-R^:573 KVF MGS'$F 3/1BB^5\G^&:]L.3I >>E>X$I7;Q5;FHJS%KR1W&\L*'IO>E?2*L@1 M^YZZ>TM4+U>$1 I23OB>^XY<^5DI1O:TDT7KN&KL* MO@#M.O/?_,V?OKALQW(HGVL=]U!B*5%83*\(ERIQP+$.#WYL?8:;3\!R71&U MC=@BP/Q0#!_DGTK%0;(W'?6W5''YYHYH"R,-KST%L[QF/VE(W@WSO'\Z:R1+ M8>T%^,2BTG*7MT6%->Q53/'>B,*)'7^5TW;W;Z"7Z+-Y"P7W,KDJ4ALL\H!@ M0177'4Z01]#9$A5D[.(;NT4$UQX=]9+X"] ?ZPO^US+(OX5K(-\KR]H,>L"4 M> &R048?]PVS8G_-WYD\=R<$_<'5T7V-$Z!$16.- %M3OW,=_;@7H+NAN1IV M0(X5'A\R]"-UN!().,-:S<;2'NBSC>6Q.XBEB70X5O<1.(RJLG%"5> 0B?E; M\=M'[P70R4KS#(JF<.GU:?L*33KH[M'?C>3MAE;>I-Y'#W [2H_B*R3NO>'" MQUM)DN_G@3F U1V)$#UL13\>%[CN%:85&/4QG0+'1VZ>Q]W&F_ ?OFEA]R+@ M)Q-)XH[-P)P0K9LK:CVG2*W;%D7]RVN@>\3&2]00(5;/Q,T9^O'BW9AD!&I9 M9A-C8S;6!SK,^MY,1LE#9JY0B3>U,!3V\7?194:Z"[:>A"6T/_6?A=^*E/ ) M2I)$E7FR-3CZ(3(T+?\Y O.@Q2+V=U>9NRZE-(\6]+-KWPFLAE + +F<=!O^ MD:)NXI3%E7$Y*6%O2> ID7/H0-@B#N7Y%@2"B*UV%X(:7?RDS!)L,545_>1" M6.D@FQND!X$$<@1GD@L4M1\Z!F!C1X)4 MBGE(!W44<.**P+L;Q96SH\4J&=M/PM@PUQK=OT;;,.O!]JZ[I),@-:-BJ4_5 MD,DV_Q)(_#PF23UT@43? J,-83D$RQG,\\;J2*5I3/,(3M*D%&H96.A.R282 MB0E;1EO'?V7'T@>N#:.X1.U''[4VJ3 /[B&Q!6VAT4_Z&FZB*X[+4_C=PG'. M:+B?,076,V?6L6U2YS+?-,]YM&&;V$!O;LXEF%4BZJ17]*(L"$D^JFB$3$P@ M%4S*%S%C%1?\QVW-_]0]("%U"VVL..*J$-Y=F"^$>,Y%2">4*(6OH:D"##C"A?VN+;\^47RC:3 E=7B?3BY\W-B0E#KA@"V+XZWR7*]>\8U>;K M6?"CD-'/7BDJ3X89B#XFC43,DW>Y]=X:+@EFYLZ$F2^V3.8I[^8V6KL)0S"! MT^57A,"&=54!X+GF$/@QWO>45MAM3-1%>>"Z2O \,,W2>HN,PI1G$F?'1X01NR^3;HAN9B;+%>K M_.!#CJ1M'G.]+TZ9DABS&Q-B[+.-A?I'O[+%U*[9E4)%/6NTL1%S.0DYF'W5 M&>4O-GD0I9^.CY?#O+:Z!,7(W,AAO1(F?U'C"O+XC"I\Y\0>.B8F)I:"_.\X M39W8V^,,'?J1[*@#A(ZOQ^: MQL23/&4+'D^XA_+VPASU_4Q3EF;^*\>YLSDV=V4!3\?_T&XI_: M&!Z\P][)S[(O /(+,+_R MPK7_TC*44J !AD2(A'O8_XH/PO $&K&F7.YO*3 M 7BVM-<%A8PMY(NK 7LCQ1U2@>]HUM)C2>#BCN.ER?!%73R'&+O;H^[A4C C MGO04CYDT>VMMV,!]E*>,3[-WD+P)B2Y_1 6=P:%P[GUF+EJUQ4)GKAGI'16)MC#?O!3ACW] M_J$&X;*1)7\]F\3;JEG*SWNSEL'U,TUU3:U3J8<>UY!F[KK"ON448SVI8SKT M)X%LS*(1I8S;RA5KP6U\UL\'),1A&;EE%S$B(]<]88:Q.T54RNFM9W^0BWY,9D8+ER)5?TT":ZNW3S@.&O509:R&/%!2O:3/HQX/:=RO MT:5MYNZ;F3U5;+'B<\<' 3ZR;]58LUT5-2?M?4;YX46E4D$S-M(9=*&JS;2X M+(+IQZU@31&^U[&Z9Q9N2@K'KF,$V.?;?EVT1#G*V"/CD.OC:Y8NV-'&FS+P MAT%E6*.?]MZ1;4""T3U&!W+XW'=Q3!ZN4K$Z4Z.ROTY4+1"(_]TIE @4:WCL M9-&=8DQL(Z5^B_*EB [[$='X#K><+[V[B?0.STV&[.V5O[%Y+L6)]2IIDMB? L?K9KQ'++;U@6[^EC!! J5(MP= MV="4]K247B9^]DC27IIZ]E0UN?AFM)6 M#75;U0?Q,W( L=$2A"5GD.H;)^4;:>VJ)_/LC);6&-"R*TQY=A@._HT@\#KA M:G#$AQ(UKA.DO@5$9).ZM=6JPHE"J0CB4.=GY3 MHP]5B\3GCYND)#"Z\G+@7&K@^NM#%@UJXT6OC\]UG&;!FWL]ZY$ \F.L'0MP4FL53%CED,_=D_@;^W9$B%28 M&;'Q@6X9$UUN-((NBQ3ON/8 Y"IJZ,D*+T1)18CQVJU[%^QR0:JZ4ER$7VUR-M"BLVM9!T=5OH#=&K(8?I?C>=1^BNHN$LI=;@ ME'UI1P5(@'AK_W^A22\(*O'D!!U-J93/$NQ<4G@NB4^(EL!(71P9)8.$/ <& METEG/_Y\@S&>ZST-%]#2HQ\6IW?6;P&S,NP7Z_D!;2;3@5\"7E]A<>/&)Y^$ M&JYW! >H+"B]'$) YC:T45[W"9:S]'3N9.^Y^23A8U[$F4*_S:ZF[5#%O,@' MZ[@];-V5X(7+IU\) CZP?6&_!/LMI-M#"BJ4*I& _Y+J_OP6WT.A78G[?M9! MVTW@M$!OL2Z^TOX%8A<&14E>M/&P/;.ZQ#?O;UHX)@=F(#@ VEX_5;%7L_48 M3.3.;68NMIO6:]F]>1L5\3@AU' NZI9'8)T/ ,;I;=.?R!T:VK0**7D1$Y[U M9A([^>CN2BC&L-F-C , F7!@MTM-D!L"W#I(CKP781[9^EB2BW6(K%&HRHD, M82JF6ULB/4:NJ)0'FGJ@&>L93V/EL!/6NJ]K31)+PGN(BSNB,S, XR$W!&BG M8R/V/+_D^1>'<7+%K@XDJKO9&WTQ:_E@6>EL@"76CY6L0K-B*U2>W>-)RA#^7^8LFC 2)8Q+B0D+$B%A#-]Y$ MT+--G[((*Y2Z9_6TR43^&,22RSZ&S[G<_E"C"7@V(Y18" S)W)-R/@BAZC= M5"4OVEU=;[,O Q$()N22S*M2). SM7%J&MUF@..K7ATMP].64;#W/VF)^HF] M04 ABNE'T=X;:.GC*YD)UKG+02%1,:&A*_F\,@IB-[;@ M(N=B:D"J7&Q?.:]52O5L:P9F$H/%GAMHN??4D2D%FP& 9TR1EC7C!TC #SG; M?O2P5/FUY\$?MP/)8G5=,I_ GQH&'(@7C ID)G@>6;C&R;<";GTURO)-TAUU M+AD,"%%=G*EQ-7]@ZO)[:KVZ"MZ;;CA\ZUC8 H9C:LM:PA02^J9GU3Y_*=@" MG*82C^;"BA,-Z%N [#@OM^=!)7/X:XE[[%3XBUMB.\]S]'N50D=_6:XT^%HV M%V;BD64(G_M'FD)@RP=?@80&+N0KJ#J'VX;4\J<#R(^@_M%]).7"$"Q3F"2/>'#?<&)W\/H+M3#M\5\4; MS%1C=8PFWUPY&ZR R>D##XA DO)$)I*\5,E9TQ-Q6I<)_C$B\UY*TJN?LE.) M2J$4@)4@P:NYS_))(^RRMN*4M#I97=%<,%"&ODV?%X>2MH.[4>6QH9V=1YY^ MNIWE#Q=A7R5O4]&9E"@>Z/GGV_P_0.3?99IO&>>DV(.S#5(&3F^77-N6T=$53@;' MC\HXP-=&9+(!^A\\T/\C5+5DA1/U+/[EG_,T?!?%L7R4T3=IRD<;K(CBH\LU M1DZM_;4)OJ/TXWUY;63,<$X"G]6-4Z::W?N5PB=H'*3*@2'"+J&.("&V&X+W M%Z/Y/R1A:_SO4$L#!!0 ( $.%@5@N)U?BQQ8 &H$ 0 0 9G-I+3(P M,C,Q,C,Q+GAS9.U=6W/C-K)^/U7G/_#XY>Q6K7S-)/'LS&[1$N5A11:U%#43 M[\L634(2:BA2 4G;RJ\_#? BDN %DCP3[!ZF4HD%-,!N?&AN4<^(G84D+\JGVTOIBG!&'N(*,-@L_50A" C^=)[ MY=WY];6M# 8"]7Y&OAN0A:GG]:ZC:!N^O[AX>7DY]X-G^R4@7\-S)]B(53B/ M["@.\]HN7R_3?\2*/^#0R0O?_OBP#7]Z-?&O*^3_'(]L_R7\8O_RZ9>GV>WO M[_[YLXV^KI^_W/W^]*OWRW+W&#R]V#]@; :1??EE\?BB)Y_\$#IKM+$5 ,,/ M/YY1^5+Q7F[. [*ZN+Z\O+KX]6$R9W1G">'[5P_[7^O(KVYO;R]8;D;*4;X^ M$2^K^N:"9C_9(&F'3ZS2-*-$')*()X3$*M$@VFU16$N: M9)4*(,>MYQ4R2H1N1"HUEYH7LB]H-BUS/;B\&=Q<927'\9.'PL"+ M(] HUOW9=ZZN:0GDH0WRHW% -B.TM&,/9/XMMCV\Q,@]4R*;K%!$^W.XM1TD M6FVF';;O0P^F!&D*3=MN,6A)G@!)M%>])X&'+!!(H7^ %G=\BU)=# ,8DLX4 M#$V:_%FH-:O714OL8\9#JKY7RH J:TP%AS]9R0\756*^ICA$KN'_C?V])2B$ MXDRV"22DY5.2]K*.[3FQ=U31/7]M)=/TK$7?I*GO;(\J\GR-4!0F35Y.$FKZ M:VAO.JRBO.U]^!9V(<55TOJ4I,(>D4,0F=D$A%^C"(,L-?"4\X6PNA''2OE3 MJ?X_]]AU8)>W:V@L=5A';9#JNW3Y0] :^2%^1DEJ@J0PM1"N/[3ANO^4$BR5 MI%K%]EVE]+DTHX?Y )B'=K@>>\%+R&.ZSQ("\)TX@+1FA57=8W4 5O,H<+ZN M \^%;8CV6XRC'0]:#8T0>C^*HU?\Q/\JR4=Z'#NGQ1 #/+."W-E\R&>T(W9[ M^^[=%5VRC& KYP5A3!#\N%/G^EPQQLK,U.;:U%(MW9CVL'2I%U[YL*EP;#]2 M'2>(_0C[JQET? >C;$AL)1& ZJ8*U5R_G^IC?:A.+44=#HW%U-*G]\K,F.A# M79OWH'6 -D&PUT_12?\6@.&'*@P339WWK=W9VFFG#TWD(/QL U'2\C7I BB\ MJZ*0*L!<,;6AIG]6[R9:#TD')+K_#/(&)!^CB@D"(/Q8!4&??H8IPS#[T:>[ M\6C"9TL71;#K8:,071*E>'30"$#T4Q6BF6G,---Z_(NB_6.ASQXT M.GE,1\DH]LF8C'KD.I:R?F8FR'P)8_,QAH5K0_'V#=S7X?1"X+]CSH/?K M(+>_HG1J&.:VNC8" 6!NJ\#<&\;HBSZ9,,W081$\O==A0E'4^5SK\>I>6 7^ MRD+4YKX-0IR!Q*5V(W-]R2VV#%CA6IKYH(RTF3'7>S2$9ODPVNR'K&*" 97 M=;/\W'KHARZ1C>$ZH(XRZ/;P960LAP2Y.$IWA/5Y I!PN_;Y)\.T!DPO)OI4 MH_OWH:F-=*L'2'BL>HJJX]23$!C+>!/G"^ M&EN6FIGC"RD"&'"[\;EE#']1C!FUX/:*T!EM86]Q9'NLU=.@BV** #<7GNH MSG1+G21 ] !T # -_($3^!'\@#I6L)%#T 39HK4Q5P 8;N,]-::#H3&U3&,R MH29SV.)I)JQI>RWI'*;0BFX[WG*@N/=T$4X&G,%H.'L$#4NZ1ZG(WS318#X9 %D M:JP3N9^Z1^1M'-9%D(0H!7#C+!K=SNL>S@.]V"7<2DD" /'1!8E'NT?A#5S; M162ZR030XLP@[6[N'L1C_=VE!5Y]G@!EB.\L65%J28+@,(9$HJ>V1Z2XURT/"J5 M' %@."M"U5W;@W.,W[9DB^/3!8#A; @E'VZ/RJF^Q")"'30":'%VA4:_8H_< M]W PEO3O]'H$>@ ?.+4)@=_/J/%P)$Q4>V>-W-A#QO(!1>O -9:@C@0YN A6JME"I )P#8#F SS+;9&;VGV#["7LXVI7U^/!RW9"_JXD?>7A0S4>JR:9^ M_\D:&./!8IX:.??> V6BJW?Z1+<>>QT_8M1>^"XT.E59Y)K0!C-[QZQJ#2-W M%[D T'S$26'T7DQ'^IRIMS923.HFFJF/J8&N1_>@:(7ZH;HA3P WSBB413#T M0^\)^L<'+C1H7C.A ';\%10%G:L-=^B5[6 HLQ"'70."7+X <+Q=J0!<%@W1 MSWS'P-4>[-" H5@A 6 Y$U016)%PB1[Q-PE_J9\E#RPC@/=1(3']S'J*?B=! M,4V*7,X50) S(I4T-HN?Z=7R8*!*,3(I0["%?$9+PZ+;&H;EADP!.#F+4E5C^T'V&-W5P@AOZ!V1XSB" M=E4W 8GP[TP<[76+_+!I.R->L!O<'WG;44%7M;FE/ZC4GC!>6 L3=/+!,"W] MGXE=6/MUIDWG_8;G32(?Z[7VD ("8'/VHZYHR%[!3U#P:AAD@SHWD0G@R9]: M*BAO7>ADKZD'HSBV,6%/?H3&,M$\U8&M#4$NW=BDUGJ,0LB+-\AM /G(6@3Z M0*M]:JSJIO)9G2PTYK*U/N6JK0YAZV3"R,XV3JD?@+J#('_Q .E]7SEB2F<7 M.B2K9W"LY,8ZRG-A-C/B]%Z)C:A*WX+"/K0ZF1 M6^N[T:EA^/6+O#8" :!K;Z3-0_/[%=P;W5_7$+XA1BL (V\C:[K?K@?UQ&6Y M[=,7HGR[V<192R, 8JOE:V*H4V5H?-:F:F_O/ X[(X[H\W/TD<+TO2**5 .( M[<0":/*A5 4TC84UA_WRB,92W:D3=3K4$H1[7(\Y#M40(_B*;P>YX-Q'J$E(K"X!9P2^U7!:-4 M$@1 :1;#5PC;:R9U(Q%-3JS M6A?,6;U2'P/V%/1R2Y]TAJ43M5$,87;<+0/R8I/&\!ZA,@)PMUJUIE2;9YJI MLA!V9KL8JJ;Y"$/[%]7L8WL.,DM4AUW.+-%,((!CT_7(Y2&X7W@=HY_T;)>C M^NX( Q%B9L3L0'2#=@J4$,"4/_I7T$UZ,&S(;(HC?;*@YD*FGX7SU;UN'A[C M[$=XX%+00$72H]5-4-- (0 MV^*WE58 RU;;4_&&!$4=@E(FOMM>(4\"-7?2 M,R]\ZV K6*H;Z)]; [!*0.^=^8F3OA^%3[BWI,&=TT8A "9OB2K?9=(/OR>] M45$/6BN% &B<*:GTAD4/VFEV(QQ&!#_%;8-I+8T <.V6(7UNF?K=HA\D3[ " M#?F[@O(@%1; %C(>FTU"!U8@ 'JG?:CN,J)B5 N+?)OK_=46;W*[5/V0+$PM M /@A-T[U0_5)KIQM0")Z/#J]2*K9@]-$* !GJPW)U&:&:;%CU.FM4OW0?1R4 MS\B/T3WRJ46>1A NZ,$N=PZM@4+5=X>V;[MV([X'E18 O=6X9-(W;F!3>1!AX]%1?&GM.T"1P$F@3+ '4 M L8M)Q6.J4:@@W0$3DWO!\GYP"QZW:3!-L.LLZ1=@_:28K_I^\IWN8*P82O] MEC4*]*!O\09:OZ X*FR^_ ):0_?HHNJ&_+;[W;3_]P#2_SS9(3+14GEE*1&0 M?3P+\6;K 11)VIJ@Y<>S98@'UY?7-U?P[[] ZO/7C9=1T _DX+^\O)R_/A'O M/""KB^O+RYL$^&I#I=_-JK")P]7R!X<]7,3E=)]CL\JA,@QSVD M$V3D](^#A"_5PL[UD=TA'RX6R7X MHAL.MKH'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)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>;^K1022% S3' R=-#(*87U$G1* M4:215 IJ'>Z6HT0EIR340-\I2(E(4CGPH9@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_(W$I.]HVSBU3HREHL0C;$/ M7RT, RWY4@-7N G&6-*3H=C%4'T9LV8B6>&:D%.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$[.,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 MVXDEU626[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=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>>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* M C?T<'#W^6*]'(Z68].\&,2)$WB.'P;H\T407OS]/__U7P;PUV__-AP.IACY MWJ?!)'2'9K )?QW,G2WZ-+A& 8J<)(Q^'7QU_)3\))QB'T6#<;C=^2A!\(OL MPY\&[U^]?>L,AD.!<;^BP NCM6WNQ[U/DEW\Z?+R\?'Q51 ^.(]A]&?\R@VW M8@,N$R=)X_UHKY]>YW]EW7_SOWUS^<3-;NO=HZPQQ0.3FHHNB%QFEJ=^;CQ\_7M+?%DUK+9]N([_X MQKO+@IS]R/!;S&A?HB3&GV)*WBQTG83"SOW,H+4%^=.P:#8D/QJ^>3M\]^;5 M4^Q=%,*G$HQ"']EH,R#_!?3V7]WXZ G?^B@._9200Y&[)*TNQR',3""9]K^/ MT.;SQ2;&\)6W[]Z\S;[Q[Y4VR?,.)FB,R?RZ&%R>^OTKQR="6]XCE,0<.AK; M=DG/PHE0D-RC!+N.+T-<8\<#LTR%]RR1T_[P/?0]4JO%7BI-G"4+;.Y]]!L<8 MOK>(4 Q?INJ'.W5;>YQ;FO@NP!M8%$$RACUV,N*B+]#TSO3,$ M*I='6+71F2G(68UMY"+\X-SZO/7]@#<3)5@#)AI;GUJWW890,$V!ZA@,$ M.V.$/)SPE"JS4V<8WO+H:FIZ=NR(6;-RG@3T5ZUE)[0L4+2\!\M1B)S#QF>W M>\!>L-#0],S7S,!BZ89# 'V"(.]" "$PG MK@K@=3LW@NB.J!ODE0RG<1HG,'1'UUA$YL=R$BFYIV M;L<+4<;KUIU-+T1>:_M>[7LA4F6&Z,;6%R.SJ6U_=K\0C<+]._8!Q-8VLU-W M_H#P^FELWZ'E+2FUPP[=6>&"$FMIWZE%+D%:.Y$$?SY@>>*2HQP;M3<>^2E/K(V-RBY#SUK T*+ MD(O+1/" D1FC3\M:$H6CQCJ[_[7=.M&SM;'QW7TR##?#-,YL@L+.FF'G%OLX M>18$Y^@!.YMIZ\##,94O\FR8[POGF6[=LK--<)Q._"')J<7NU)FDZVZ/K(RY M(W1&>^$3B>/&ZP[E#*/4!J.QFZ=45GQ"3VT MP0%.0$,_H)J+*,O(T2-WX\7+3B9VK\[P,.($@UV)O&F:I!$:;<,HP?^DAHWQ M!-9E+*U1I4?L[]1"$I,C1NH,I\/C"5E4./T[HWOJX(AF\X'YGXENY(*^C)!' MM&5NF8'Y";]+M\B39>NTX;M;531Q)_,67LYNI%>2R"A=V>>PNVTPW=+"."ZY MGS;RR>)>A1EUN?V$Y-D\^X>Z.Z.3U!L"/7N)Z>B>K!(MZ5GV;)2=X9E!NLNHB*]OW%[=B9]Z-\=-'[GA.HQ/REJK ET[S"Z4I%:D:W<[,(Z3 M"-^F1\T/5N$#FD'AS%%>94L.6%8D[-CCY9EQ:3,S0D+D8FS?N44^_>(_\G8'S2Z5T$KJ M>MM)S'Y[2%D)]U'D#L+(0]'GBS?%,$[D5M"N5]KG+2YCZ5(,#G5"9)JR7>;*:'+3MVF?W3?&(J$M(7OT&2T?6(:4P&Q>^FQ M<[?.?S[#.@'T$NHA:8(T8=G:K/-TY7:$.-WTV+M;(!)B62>,#C.]8"H93ZZ? MDKA\D1#&VLU%>NNQR[=N[^("T FXJOT^#P-7SEDI]]!C\Q=R5.J,Z@1*L3M"4,H:XKF%36[5G/@OGF1Q\")_V'+97[6"U2[_EL*>989TF%% :I,+JK]+1F V&SKA%&AHO*0K, Q=G-[U:Z6,#ILAG6"AJ81BJJUQL:JO2EA M4!BLZH3(# >DG"9+_Q?8(YM:JW:@A#%A,:L3*-5SE'U).Q<>7C_5;I4P4&(" MT FR[E5@7T/!EC+ZA4YI1/HJI'1 M+*>]]#Z\JSGV)3[ECC(..VID1XL>:C3SKA-<924LLK#:VFMD3PML-WHOH?;7 M'.IX-+55E%07;K=A0.FA]2#M--=;JMXQ&>]GA!S2]9L^(\^CM0B.OW PS:.F M922,DZ6V#JJW2&%8."QKA8[KIMN45HY8R3V*&E[#(46%L%U8&]A!F.>!<@.I MWC_%T3Q.1#JA;)-D]P!YAA,%8,#%)9; 2, N9FRQ(GU5;[?"6(H+0B?XZNS! MM,NR&1;D9B*0/&UV_?/$5.!U.']ZB5'E/E!@=A M1!GG@5YOJ=_^>D;XV@2C$WCERYX"3\;NYO=4O39%>6L_&I)#3.'YB0Q_9Y[S M3-'\=GDHF1G\N=]RLN;7(BNU9>_$:\L&/U3&^[&/ZCCI1R0KS/W$8NYEZ$&X M&63##)S &U2&SW^AIJ[N.B)7C-#KSMJU4:61*HN7!HVGL$QIK;SC)K_CY+ZH M:=UG@Y(\'_C;8_HV1PVF6N$V(%4SAH^6D4Z[YCB,D^SJ5*IY4?2 710O0:>R MSGS:^ZC>2?C \3ENP&>H/G"2%_DP E<-316Y7+#/1-E>_KMSQR*YWE+URF^5 M]Z'MT<*C3HO;VH!7#K81V0&!%\H]8_HTME:]H$7Q8/&J$R;9;2"^&<1I1(RQ MG"V&/=#60?49H"@R'(YU H<>4>;T$83:;2[3I?D/XCJE/J&O0:;0H/Q[U2EB7%$>T*O?-%Y%S@,BU\@; M!&URBDX<5>ZDYG13G1TF.L6%N-<)+N(_@--&@Y!3Q+)?ZRU55^J(@M+&8]>* M)ZN."R-ZXQXY'()Y 1,DB#G * MU-XXT9^HQ"7#PV/T$?3U7BM?+'S&=8+)1C$"2N[)U<8(-&^X$]IM.-T$P5+O MF0NQKQ->U=Q0OM_1W%P0'PT\=1:[.N%"$L32 +M['5VZS'&%W/L@],,[1EQ1 MM+\@3F!=._";+>86C!-!AKU"4H-!(6LT#,_I%B_!;%.\B#M(2_M:X#1 M11 1]2XZE^VN9_KR'N]V\%D2NFB>ZM46@I)5Z[$W,:739)^&$9 09#4U[C.U MSQV7\'X-'BQ)6KQ"H/T0,_@I-8@@;.H=^B-$HU5,K?S4SR1,;Y--ZA?W#3!] M?48O0?"TC9!6+%LYG"G'U4]Z7N0:-M, M:YB3&NFS8HNT@@F.Z45NF#S,EMV9]*9]MO#ZJ58)_0,N)DD]L1>Z"Z^EN>K MOTJDN[U[WMH'([JK:FN$@+LJZ5EY7?3R.-%J^?:H.("Y88XUIA-4>)R('+03/5"K*1 MZH;,EP.T-%)I%0Y.JTP^8BC5:D\$OZ,EI-7Z:BAZ*RY!.&]]^MD_I'J-=R2Y M[TI+L.[2:(_.%&EF.5C>_Z:9*\V_H*2K[ZG6-_W,I6[1TFE>,N1YE(;26MNT M9\ET,J>^#Y@[VZR^#P/FK-/EC,:-HNL+RO7^Y(73J1\^MKR*^UZ\N)^,-,B& M4F6C$Q)H)!V$7E)BDHG ME/O,C>@N\_ED!&53'=2=8+Y0NG1\9&TJC_'N7^(509#=7W69\QDA%1&45ABK MRY3N+E'Z''["=Y5!K3I*WEVQ]1G,T6.CZ!VDF(U*VM,I+?R"NR3 MEYN,E#2'EUAG 7R(>9*<"&V#*"]G M[P9]MLSTAKSI8N;]TWLRL',&4EYOWP'T0K+3"?X6&62G:*<%91O'4'0@XSS3 M$\%52+TCDLDO<%C*[J5IX):!W.&!C(!0SFFQ-/KP0+Z+D$<++VSDH>TNF(+3WP(34.[$JM05EQ=GZJ5 M"6I.GK(V-RCPPL3AKTSN )J&@^57J*"H.D?O4*F_//I*:[W;M"F_FZ917D&D M1,6BE8M>UPWP$R\EC&;1:2D=6N^K:=CW%.79)B"M=LC#R5@);9(;G_EA8)DQ M- T%GV"I<@6FUS(^)/\JC7% WC?*7G EPLE_PW@_2&X43FWK@XBCQA:*5_RE/.C..49#B*8BC25U//^[@UR1:03@MRL9^! M>T[)7; "QYCU'IHZWQ(0H:!5_U!J>4"19B" M.V0["3(V&^2R"J][ID.U'Z1&[O6;;&3#]EK>!JVS,%GG-"<(LSMO0&=ALI2Q M1DHU8\W:E-FU@I,$NQ=A=M6PXU]'8;HC3TSAV,VN643>RRV+[8I6!]I4>TM: M3'$=@!!9.AK](K5WA\$+_"HSSD?S@@K%\'QCE6G- M^R!XB>\"O,$NB1%E";GT#B$?NV4-7"+]W2'I2_-Z;D[-\6B^&HS&8VL]7YGS MZ\'"FIECTUCVP00M2FZD]J=#:F?&:-D/48SZDQ*![P\)S$6X'-C&V#"_CJYF M1A_4-A57E,C\<$BF.?\*T]2R>T*X"&;N@YB@^BCJ9*$W4OSS(<4+VUH8]NK; MWP;&?Z_-Q8U!YNM\DLV(+]9LT@\CH*K*B4HEBG^I43Q: 9&]D'4=AMXC]GWZ M\EX"FQ9I=Y =4"+UXR&IUY8U^=VJFK[FPO ^C9)B +&%(5 N\ ME2BM;6/++Y:]&E*!SLRY03:TL6U,S%6_,^"VD=K:SE5&_ZH7$DOE#DT4UG8K M1+@7OH75#N:IO9TK@FRM:8_*UBW([7 ,X-S'-S/K7L&VJBT_W. %%8-^:8 M;"+&?&+,Q]]ZD4-Z&Z._4O("]4/+7O*NMN,MUU=+L'^(\6-\[6U'83D9#&?C M76TKY#@;@Q^*T7Y4SM>*F/R-7-6W31Y7V5B]\)3Y4NW$UW=1ZE'U2F/=M6JG MM[:G-CA8O1)?\K3:J6[89O?^5J_4LAVO=@9J6S#?_>J7K\P/:V>@[C]FWEBO M5#+&GM7-1VY;JOUONRS9VV5J)_JFVW)==-D9QODW9R M:]MKU2/J6;Y[UZB=X-K.67:0%)!;>$KM%->VRT-_J5>JRXY3.\VU+;/B/O5* M<)N7TDY\;>=L]57ZE?P)3DL[LW5']W37I5>Q-,1+)BAQL!_/G8@$LQZ:3B%^ MJFW.C?&3P0_Y6(/]8/U@[=XC+R655EF!JK4IWTV51O<,C ES=U^:Y/HH@).'FZ-G:T*MNA^%FF!:7W>;V M[_[&BG8\WS=XWS,S)-CA]1=7*>+-H' MF1VGBE*G5"917KXA)UH]AJ?/AOU JI,*>YH$!X+3,A^'CZ3&H>$6^H'2"4M6T0ROJG6K7M.F*JTVDK5_9,Y#5,U5Z\TFB=>NBV2QJI.6W%-J.X\W3H(B[/AD82_3W<[GW +,ZZE: M[\D Q6%?2[/W19VQXYL,'5<[9R[K.)%@9Y\'.T)<,LW_H^*YJEV#/,C+0+%V MD%Q!L8CXJCF#JP1_/;0!A9B H_F :K%@!H/,(^6#P/#$F)ISIT_5J;0-&-Y:],O\GBPH8?RR,^=+H%S%&MH( BA]J!\B\O 75X!XF,S"@ MK*=\E:!LRFQ0HW*F#HZ^.GY*[EO*@"NN#R,;QLN]_/"[=(L\!L/,@Y;IR+0' M7T>SM4%C=JLO>TQ'8]A,;)C4="O)HR D#@2_7]_ SQ4)IOF^60;_3!>([)BK M;T5$[R5'I&?NBAA7]CHQ03B,XU(PVD8^45VK,.,^=V*1F #J]M%+[ MLAZF9 MFPO6P$XQ <$X=I]GU@6D4S:S0?C*VOQGRDT/JSTB2&/934_%XY/GUZ%9AC M\%0/K9=XLM:K)>R?$Q);OQK-1O.QD?'9*W?EK#2!J?6A MOW;$?F9&S$%'?C671".";BSEN;V8=E?&' SVU8\GGJ,U7I$]3J,(U!UPTW", M 0W*OU=TO4U&P11Y*')\B:+U5[W6 M1=_,;GYI6TPZ.NGL@O**77 TNF*CJ%8YIV$L(RD=D_ZBL&3US! M0M+1"5=I(+75O7*("1H.6MXI>MS "UK( 5BEJQ>"4&:Z:&%/#)D$I7^ M-/4K"VA+(GR;\N8:V^XPERO;O%JKF%5E&V-LC79AE)!*E/RF"M:L91HDMK&P[!4M MGLMOHU V=VWT@((478.K%CDT<6E-@A^L*1VV7@T'TU&JF1 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_OPAO_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$$B3!8VB!:DUGAXSX.+-+1QWF&UQG9>!,ZOTLA68)F" M_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/PDJ[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&"%*.,;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 ;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^8SL+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#+C!5B@.>%B"QUI\#$$A*Y MV^9$N!W0Q_3[CVB)<)'<@PO7PX1*];'\0R7T\2I>$+]'0]_G8]X3%V@?[MW' M+ERX=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 _^7SO IG)?KP/'X/V_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 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,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 MFWVO8(A\);!* G#M =7Z 21L\AS/=.?_"SSK"=%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.EU4A9,2:6>/Q6GELL3IB!K (0S$'XY"U MCMP0NESW;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:XTPNSF\%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 MB?A69 'V\MV9FD]=@LA]-+( ;NDF)5A37<).?U&R #3A4(H-T:C2($5+"TF@4JG>#7TS4*A%:6C(X8B."P09%(,4"&D$;:8"L&F* M*EG95YGJ[93N$:O&]& ]!6%2N!PG_H)5,<:8T'FU&$U8H3"TU..BT=*\*Q\9 M"JXSQ D'D\F(15[BT,Y+O?B$I<-)/3#DY;#OGUS(0\Z%-MO1<%/XR48;>N@7 MW'P$3:7&:K(*B\25E[I(T;@MN3[\^-&R2("QO)G*,U$(@585I#H,NT8DP$G7 M5E"-7>QYRC-+ 'SJ22HY#Z88EJ.;TB6/[V%PKEO3?Q>EH\-;5W"2XN8T6$O.7.I<;-.Z7Y" (V.:SGB M>GH8K4NJ$#+UJ&\&%- N^8N)F7N#O^1K#7:+]2[!WB6HIDMPQZ HC O,03_M M&8-^N+.> Q!&C]Z:XA9$8XZ&*.H4+ /:C<8K2E^J)ZL(N"3W()5V!-IVW"&L M!?(JZ2NLSH(.G84WZ#*&L<-Q81V/ZKIK%T-*(1/(I@\*LL/5G!:]D9,15LW, M:0X/T_,J,+-S%ZP0L84A[\8=BSZ-G<(<6N^'=.Y^%27J$8B->UX%!+BF])($ MH&N/30W1I8%-H[R\'DSYBY)3)XR+/2BBX:;X%W;#V2IK**H-UL!$P.LFCY6\ M=J>DL7*:T-8@.9UGZK:C/8TY2JJ@[3&P0U7U-@@+GV==3*21LGIK,F0>\@&F M[@YI1Q?.:_=><^_Y>5<])]A88?X'C$U^&^^N98$6QA!&E RFM"^R479)=YJZK!*&OA-+0S@SU.: X+@*Z?F'3?$V>W##S6%7A6P(_7"LO:2Z#&X$ M,ZH*(CFPOL_"R9(XK(8#[ZJH]O)VFY[HUN?[7&^%]C M?3K31\9A%$M2[&I;DS+UG;0>95>;4F(]L:D@=Z[L5#,JC+RHE_ *RL3#Q%E) MS3H3HY:+T&1Y?I:JO"HUUQ2EC$*Y:714T4=YYK[09#G. MF2K<$.1CF2(JN6G:9J3*CIQ6F:WN*T/K!*F&.X@%WAHB39#TXE"5759Z?XB& MAW*GZXVS>$0:0K@I8LAC%&.2K->*ZG.+ATSC\=#3>]$_/'@+(,PMXG!9WM7Z M?**CT4W,=0@=.JG1@/W?93TL5(.V9;BI]X@T<1\FGH\?AD 8;?]IK-8A?,K> MK.6)O]!T6:4*];>#.%J-!\:)V\,.'<\'(6N'' R1]9Q0O4U2!IU&57DO"6E) M#%?P'L')W1.EH7>_G TWF"C0N/*+Q!?08I%3ZF#8W:=SXT89?!HG/DGCA T6 MCP'TX7(CK#I1I\ARSM?G$!L5&K<^2^/6KC=2E;N>,>GNR[EQC(<,C6=?I/%L M6_24IE#@L,JCM^;RC#$)V5_GQC0N-G0O>J/JV!P^Q,].R'QX^'#,W>7YF.X4 MX.FF>J.T+08$LR#A;01*\Y*DJ!7AY M[&)%=EF$43ZDF[9.WW4[X 9Q*<$\Z@0YD5@V MG3D\43?>VA1;5(ZK-L"Z#A/BK[PP2B%@=A\['"0I^LF3<\B"M^D3BFSA "0L M+H^:QZ-DQ2?%Z4F$N/$@)-F'_^B%7(H>#9(52!0G* G@;D*&5S )XT?NAC\: M)2M\6&'+DR#N*'#(:4*0:UA6F+\?26^E01YY/DHB%06J;$O@ Z[6S8&+6&TA M&,.[[[_!)&N)^G0493?D:(H'2BJ #?!)T;RY^:.W7F>1_:].X**EESP?.G6* MC()^_KXXULM9P-/X(Z^L?P0#7-X29N\5>]$?(HGES$GG<^F(8$/=4$=AD1QHMZ7TMH^E!_!Y"904V;(R@NMR30F&C0^?>[4D;B_ M]LE/:Y1_"X#IK!B.W]-6/!_]YV14:0+PL4O^TT!D>3)Y<[IW*3?"""B,H!K^ MY^99IZ0&U#5[.S3V]QBP+/SC4=VG;8MO"^HD:R_K+PD[2".8H ^C_7 M=EYJF\RDQ0< ML6.D&]^T(?JU'&'#9T: SG'63BH_F%I Q3"_(5&R9K)VR[9L=U>NNSTC\'W' MVC.EIU2+6$UGUE2?V=__-M#_>6M,\6[9GQ!?K%V]I(&"OESN&3.B.>3UR!,G M<+E-0G=CSJ_K\1'LU!#&ZVG;>G:MD'G(T'@FKS'R&#P!'Z'K[GL$IZ$G+M\X M$\^O2;((0C3^U6Z5?.IK$Y?G-ME@DJR1]F_OPX^!QMN2SY_N(4T:0?PE,$ W1C[$3+/$":>(3"S_FN\O7EC7^ MW9A,4K89YEB_,DS#QDE.WW3\"ULSKPVV5 R M!M"HTB!YF0%DFD(ZJ*TJ#GSZ9J!0H[YHR.&(CF/T#(I!"H34*[T1+;YIBBH9 M+*],]0ZK./5@NL^-CD8P7,,L.7XR&;%\#/QYG8?>:*(+JP*M7IAMJPS1[\_M M"%E^->%K\@!0Y3P$'%5S5VS%9TC5E91G7"V$E+/CBSX(G.)]B 3#L<.R;?<#*Y9II)<>7#HV8:4_K'1%WT "9IW8;-GIZ0PHA1/4^6LH8R!6 M82DU25V49LJGJ3,0&6YNG'_#<.0[4<1.5Z^TB )IZ\+<@_715.XF94"_AYW9 MTH=/!O)"D#[<::V<;_TVS#,@?ZOZ:Z.==E!\",U=KQPK1EWL,# M6,21%>A.&'C!,IJ"QC">.[<>=*LL>;/L,$;?WU34F&5 33!$3[3C[&?A/X 9M MO\=ZWEZ!=655^#:@KC: N'(!]&HX?0=.:#_#IF0C7^[-B$01WS,_+E)4\&-J MCC[R@)\2;U(<\'IO2AIV" OD=B@O#(65MRHVT##T]]L;]'LY M=*'UH::BSVPJBZO-[.^#&]W^:HW3%K-S.RT^Z\N3^O*DOCRIT[A&7Y[4; 2@ M+T_JRY..RY/62"-."E4[$W_!KDNB3NC:MRQ2C\0$MNG#@DCA*Q^&GNL,'734 MXN)?4B%59 F( W[<TP:O*JKJ0P M2T_"J&G?,.=]6-WW5EZ $Q=OUS 8(3,9^NA\C@NJ->W16,94A9E3#04!YZS< MMZ:F(7SPTI8Y2)8*#W#-0-KNR8:9%.9O $Q)T?YC9G]&U33F75EY.UTK/E\ M8)A7UNPF2T:=Z9,T4=6VMJZ0_,4@G>(-:=_54[C-1!R5I59">[ 5JE3D^:]$ MZA6KK"&[:I$"H7#%(GN^.OZBRFREUBR*4$Q.ABWG[?DF7F0_?)G^M!45J& 4 MXB5L"-]N-$R.$(B]"7_(9MZK2=D!8AO M$[4+S:1X[;+(@SM/0*DEO S8 MJ1>"6C[JRZ[[\]2A,P-TJD37;BQ?Z^*UG@,01H_>FJX)'PTY/]66B&/;:92B M=&=I.*5!W6NC9-H1:*N6/EF'O*IJC!59T*7.9TZQ#L2Y)?=#.G]HBB&@D $B MC7K-/A^%-,@JRC))T>SZ*1 Q>M)AI1&VF<<_7E\R4JT;KTJ24B/9XGV24I^D M],J2E+3UVO> ^Q6F[][BML*LTYDV^NZ+F\]S&.X^(/=)HD<.C,UXHJ2LVQB]%&[",X&H%@Q3<(:_C2GFLM#=!&?L! M"L%,O;KE/0=*/JAW;H\I.OO1S\Z2D4(DO,3=!TGO'9^<,U0111J?FS7:7#>E M&C(I3^ A-I*J+W2&G#P%4>J^E;5KATF$\(PB=-#'Q MQD!J6XCP(9P/PXT) ZS7(9*A3R^S(71>U5[R?!E\(LK*V7Y"16[%^K"SY5P) M"1HO/C:IUXS!?6P$41PF^,LW3IQ@Z4E;QN$N,&0=AC/I#'D@BA0UR"C/EX7, M(R.*$N".$]QY$NUS#[II4Z#(!,_IGYB.+9'Y9\C1&OC1F/M)&G,QE-/06[!* M2G9CSIA)1SC0&/%9%B-FX D$S'VT'7&^3#C$@!JND_8V258N&,W GAI2UT3 MQ'1^$(>?+W,8Z%#-98DO^VRR^ /,.WH)*7&L6>?+.#Y65/X5_!UR"GH?81A? M(#-BA9&T'D;(9O=BD9+53Z5BW:_6S+Y(N\Y-##-M3#::Z6/#5J> M8CCE8.; M=,>;$G/+4LN9)F<#DH#B5*8RIBA3C"K$HJ/]QR6%\H^ZD#!@!ZOI,Z3%JOEL MX+--T2=82G\\K$@%4"F.WQS250]P-,[;#G,G4C/_N MA+@W[- )_F#E29''2GHJ1'AS0 'XFS[[Z*06HG$!.$GJ>5WJ'D%.=?Q(NU3R M7CE3)T3W) Z9.8M4.Q]NBG]AJP%5UC@;Q: Z812*+!9!Y-TSI+%RU($:)*?S M3%V5X#3FJ'SMM\# #J_^&\_UG^F?EA>3<2&R^P--0 M4N]FDL5>E>^T%D6@P[O-!,_:,@0I(,Q&.Z5QDFZTNKL)=A_OXVU9]G_;%F=?XLC]"6@=7@IQZ TL(X5;(VSCI? MHTJFAK1<^4,@N=7KQ-%R;B/AD#T+195NH--9H?+]T0AB%\Q@@Y:_07XAMF MC%N MDKW';,:S@IE(T;CL5(9;#?.B[=*5B=RF+;*V7.8C1AU%S?I3-I7X5H/ M5S $WC(HEW98#[A(($ K4MX7K+K*>7"N-F)4]4;6WCPL)46( VV%D:#O0]J, M\^"<$!*MAGA.Y]+6GIPY,4C]!ZY(-Q[Q-X3IS00> M%P-#/AW+X\Z#]@S0E7/M8B2B+6:YYL36,HY'GP=/N @HY^1(J_9L$.[5'%9D MI#SXK/A"A9_&EKJE_.0F^[ZWQ+631:T%V9+HI/069;6%?%A56^,\F%,3+1K/ M"E7_0:1[.ONW6W=P%^I?/Y?J7T=?]?'M)"U\G5B:.1A9WW13 M*[[@VL7+LWM,K"2.8B? ?;J'CN\$"X!Q8Z#TA862=6O/;(KPW*-0DEZ2!4ATCK%$?# MJTIY80ZZU<^,[,>PTTV^MDE_!9.P(N7W4^XN5;XZ!4"GTKWU^_/*>ZHJ\?LI MTMRRM>E^!#J5[K6OT],C3#!88L\^#D4R(DN%4=V_+-> +ZJ, (T7\C*-"B#R M0WWEP6?/EP,\E/,&%2'%*?)5.+0??_9,.D:%:HE)CB8581;HI?KIQ^/ R\0R MKP=I*]6Q/E2H@>HN%HLQ*W&.$7L^&B\[G'( EW#TA#1+F6 )FS74Z B=$LH' M0PX3F-A!#])8!8(;#.JSDK44C5D< FDZ*\!SCM-GR(E?,,C,XD<9596B%7(QI^W0UB;/BG(M3+F] 8$+HP=%E&/1]U=DI@LEYAD M&*G7VT_-DC% E['CQYO)9,0D9&E<]\J# "DI4-)UA4;ULNVV$-GFVQR_KAN6 MB&_N(H34N^JRZ4T]!6%2>-*0L[F)H^\^*+G)&;!2R=OP9L^ X&0<'H^Z^]!U MTILP.8]@I)+Q.F6BAI!Z)/:)7V4E !=*<.V-/XKD"+3>)^D, M67CL.3)I#W?309^3F;&5'_UEC6YHP$YY)PP^#W90 6\U M5%%W?!( 7E3!V<611-G0T[5;".MK3PH74>#" "3>-!H>&;Y"Y5TQ ^>=C.NX*A$: !P'9>5EK@"M<@N4$1M'("73R"AR7).43IHG/(3[D1E*E JL.[H M$!8DCO(5*;N32$MB= EY\0:G3+.]Y*PYTOSEH@PYODMYZ"MD').!Y?EPV;/D M.-0%R"[")W6=[,VS2F7'>Z/L5-09/W("QW5FX D$"="6(%AP'YFA3I&4CRRT MB: X"@H>D,@R"AP_AW<.PB=O 8S9G,V0WT&]S MEI]+>!%9[PK6US>K(J=@N.8(@6L(W6?/][7 14+K!&EC[NQ/%7C,6.45,)F' M7=,G,#%1J035-(0(Q7B#NV+$$8(-/Y>Y+FH(AVE,%18X(Y[50$RY"$]9X$*$ 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-^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-"+M'1+ZJ+>7&.K-A]'3DOP4T]^=LE^APG#U0F^]&LNZ[;9]0G/ ER MZK'>+NE-K\8I;'$V2Y2BK1FP@T-00C M39^OD_?#R(21],Y:&\8Q\^DUV7ZL.EOW M5%_8T1=V=._?Z@L[*K-*99]87]A!9">]*N)\"@78.'3C>-B!C6/J3R#L8MK/GRGV8(TS!/D$Y?1$MUS8QD0, :;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?[D>Q)H9QRSL &M][OP%L^QL#5GD#H+ %/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;W_K+(,9!T9;,!>$6B)8-PK+0<1>]HGLVW MQ5*VX5X)CE^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/5IZXNMQ1VUIB/WMJ&>H#N_ VU$S )0=XBW4<E83(B('4W#.2@T7BDA$AI?;7VX08 M)IV/!G7>J[<1*I.0H$JS8@\&G.'C#N>GJ A04SDO7/^^1/^^A%KZ1QOL? OO M2TA*4V[T@0EFOX3S2T-(__,-1/AY@!EV:^.7ZQ;HK\Z2%X]H^G-WEUUKMLJX MNMHCIYH9"G5PS4,6&%O@9G7T638&Q+^B-]>; 2P#Z/?(!(E#9Q$C)K:58-,X MC/V>4(4':J91U"'0O@&%4,>F)C[1BW%#)%3..#MUFU;?CQ_:.[=K --+=N?$ M%DBL..ECOC96B(&)9>,3Q;UA2&/2@,;O1;@V: MZZ8DQNBEWX[&";!A41")/;;07*&I;Y"UU4A#=?J\U19L;TY>3J0538"D=:_< M1@OG('SR%H!\&9HP>,I,Z>S5N@%38T2DQNO#<8W7 M2)L:MC;):[V4J?'JNX'UW<#Z;F =%1A5D, ,9/0!=A+OT3 %\G8;[A)&QE/- MU(%:6.\Q0Q>V[P0BZ9WM?$U.!B^9LTTU*N=35Z5DW_.7(I63BV5)FJ)YR#LO MT-Z_SLM#IDZY4[2[Q2GG L5G1D*]Z>N(4]TFPK&# K$RT%UWINN080*84T]^ M>?J#W,CC%T7%H<.WG[XHF=K-PB/[_14,^I5(4L.QMCU"P(W0GBG\8453((8X9%2A,YX]KQ7QVD!=*DJ MN>QV8OL::"^*0^\^&\!XDN(GUI,48V-NSXSAK1*/3V#-#/J>F[)Y J((AP=^ M?X2^O[&> ^#.D_O(2$[8DLT7>!I*ZD4F9;%7R4NN?1'H\%(L'5#3)%P\.A'0 MEB%(P6/=DJ*S)04(Z^X\6 M!Y0[E&R](FS-M8:=OR^.1LAI+R3"^B;@K%PHZ MAG(,%B% S#3)YJMCP>V-=!&_[PU MYD;Z)'??BC#W_TX8]V/#TW2)N#L<.)>QR/4C+@ M00)2.>NICW3TD8X^TM%'.OI(1Q_IZ",=RD8Z)+W,K(*WFOFJLK03>-O!)'<0 MAF"81 BQ* )8LK>P&X'V\.#YGA.SRAVJK_66Y*$F=933M,E.\H-8#%@4ZL+]XW%0PK3,"U(@0J'GW/O@@]JT[(,/??"A M#S[TP8<^^- ''UY=\*&OO6BI+4S-J$[75DN]L [+?/A97BN&W85C/4R\E1<# M=^(Y]\A$CC>XC-T)-E:8_P%=27&.=NE>HNMZ37WA[M/;,4X;I9ER3K%CU]T. M[/WSI,.5B'OE; MV@S^;D>\)4X>X$S5;:5%EQ<+W(Y?GVCF[;T[CYZ@*#?_.ZY MP @>8+A*92/?D#@ZH"/RA8'CCY(HABL0"GB/3UA2=NOXJJ!'2,D(H9LLT@C^ MM@N9GISH*UM7SNZPY<\4H&>\FVP"G+05L+U M2\""Y:5D#._>';XH&J/N-3^=2E$_GWT93I-][]78*KF"_( MD )H)W[BX6BJL6BW_WL+@MHH\8X@I5)/8JM>)\Z:E^;I5%M5GUT P)GVNN]A M,1HHYX/)P>,^M7$X3$XBOQAM(0OPCF[DEAF@Y$W<%),ZO([S[[)NE8,ALEX) M(>%ZQ2NLI@L'V/3QG]= MU)6+!NY\J"^X9SK#/70T\+4PDH269YH0,_N<.N6U,(Z- MH'(';]:5!QT#N:#E;^BR]AMQPFMA'PL]Y6)M!UV5Z"P[&/9:&%5&2B TUIA& MB._/F$3RO;:5#3E[ILF0G1;(5), M8+"<>$_ S?9U25;HR3;55Y0=J*X(N7!$NMZZRH2>3Q41:N3Y%'HK&6+>.:VN M 5R&SOK16S@^/<[,&*Z D_LD[D 1))4(+>=J2Q$Z5EB3,;S[T#*?ME $<#7B MRTTQ0DFO=E/,ZN -[0@L?EC"I_=IBF&XR5B6_[#G6/Z+NY%&8$_^QY$F(?S, MEW-( +*3T'-1RW0"5[L/H>.RH@:,"9V_7%V%M *@4\\<:6[*MQI<:%B]:S&V M(-ELQ(2X\/>4T$(PP9*(#U.R-R5[4[(W)7M3LCU.R-R5?A2EY D5O MYW2*WLZ5-B$/H53/6L0M +."2VJ0=QN"/AKY2NP\(EK*&G&9V"'#S%L&W@,2 MNR#>XEX(DN)8)CJ'X/+-.Z,4:#L3[5S;%NCKZKTS!Q'U#.9>C& M^3<,:Q6O5$_[!KG_ASU3 I#N=@:7NDT+D4BBO MM0SR%F!>%09_IIS*&&$F\'A')H1*]3+M,4])H[%=!G=@2C;39(;[5@EE1N>E MH%5W%J\_3/=UHAP7S>%E07=LDL:]INN/@B+UP.R21Z:S0J@>@,=RHS&&=^_/ M9! 5BD"LAB.S*0XH>2>=S*4.2SQM]#>P Y25LT$:*:.3 %^V(1]FZETAK1+) M3#!PUH.UQKG;A=.5X8"C39'UM/II1C0;'0$/G&PES 156_R=)Z/HJ#1MRI)K MD&*X^,-:8P+I+TC%\2*0]W$E'UST\6=&?CXN MJ5'#=U+[\6'(]WP[G^C]O==,>X$(4E5[>.<)/P'-,GR&OY7D!'I[OESA:&668,.%"3/@I]YUW)+=AIG)P?*Q55ZD>]\GFP<,7HG1 M0[935 8;E;R[VF-UAYY5_'X"PMY!YB[+K5H:)B$?M.Y^@6PLFCX;R2V#5VL? M;@!@$OEHD RW]>DT)B&AGA\[]5 9490 =YR$7K"<@M"#;OK:3F2"Y_1/S":Y M(O/O2'NU>ZV-ZUD01T8Y_W8*Y-")@(L?5T-'>I9)&H;X,9>T@>EF/R1OI:,] M.Z&;N2>CZQ"?!D:0H7P=,GMTM?"Q8(./L:I&=1&V12B=)I1;D#6V' M3EK97Z##?F/GP.#_W".JH-_\?U!+ P04 " !#A8%85'H&&UL[+U[D^,X$2J7JT75529;4/9ZS<6*#)4(2/12I!@!9 M[>M8[W:)F> OB1\2B5?B7_[7RSY&SYAD49K\ZSC__V_UVB\__2$E MV^]__.&'#]__Q\/]AS__^<_?\Z>UJ"#Y\D3B M^AT_?5_#:4JF3R.-? M)%OV<<7CWZ3K(>;4;7X.4$NRO][78>_;3^P\_OO_I MPQ]>LO";^N/S+TC2&"_P!G$S?\Y?#Y1*6<28\$WUVX[@C1Q,3,CW3/_[!&^# M'(?L17]F+_KP3^Q%_U#]?!\\X?@;Q"0I/Y1V_;E35J7TO6NP#;FLYA/^+3OOA1S_V7IGX>G_:E6YI7@9V+ MD =_7OEWC=F/]_1?'8CX):<=& YKD*P(C0?F;^ =0U5V4WJZ[I0;,V^>$M%V MUC/R,C=!]L0++K+WVR XT!?\^-/W.,ZS^I?W[!?^$:H?_L;Z1KS'23[Y>Q'E MKZSGIC% DF>CERBKW\4-_==O+'6^[QO"M$>DMB8@:\,GJ22^7Z>T0SOD[^/R MXY?J&Y+NK:%4WR^U5/A;_-2\I_SH%(K"H(X8P5E:D#4>5.=MJX9\X0KE/J9: M+(C#R?M/RV_^9RF*CK+HKTSZ__S+]\*$81;1/DV6>KG]_P/LG3!1&2^1< M4DD)LTT?00@,953(^C0IY1 71'\M1<_FR":+>+U_^+$,#/_A;CG]VS@X1+07 MG2:3ES7.LMEF'A >@DM98*7A@@\#H#-F6(A[YX@]1H$MI1:*$E3JH72#J&8Y MEKH8?\[V,0NLX/7I5 NC6AH. M@T;K=;$O8A:2SO(=)JP?)7B'DRQZQM-DG>[E?NL$?9<\&VQ6FWK6RF#8.!1Q MGZ"CV7B*1GE.HJJU8#JU^Y/'_Z$*E%$9:\[V)X\ MSJ?),_4=;-8HHZ\;)2']K7J_LN;MU%RQ88@1-4-L=$"P9@!086KO<8Y:NIQ- M04)'4?3WFF'79M<8"\^$4C7_S MUQ4)DBQ8LT7E[.:U_42S7#"D +=3,$,-ZT[+V&I[Y][)D,7I&RZ&N-P[M*(H MKQFY?$I("Y?2^3K<0+I=UN@"N@]M9^)8)>J>5 M#;H^G;CL>R:,F/3U^Z&[B&0H^]5[<:4[^2N13BE7S5 MGF:)Z1<.M94KBKBJ716XNGK[ST'4KP*4T(JYF(,:7NTBHJ]@0<)5_2J@U=7; M>PRB=N68^I7+I1S4[1VU*]_I7;,@XLPW*\ USKGW'$3]*D )[IF+7;:&3UJL MF),T+-;YC"PQ>8[6LFA-+>9JZ4('LE[!D,EX9X0!F+!&6HKRN+3HK7:M5"/O-KPWP.Z&^ IA[SRR12B&^J4\9U2M 6>L.&85 MF.2$G[)91-GO-Z^&$:-6P^UN5R/T[KY7I3@8T,L=L'U.PSG^- M\EW=3 R[L*UTW:X(#C"GNQAHH0B&D$/0BDN 7!>Q#X=J;?2%JC?.L4U3*%YR MM%ZG19)G"[S&T3/;V&O:S*T0=[QW6PNZMU5;*@N&= : PD;L2AP=Y?U.-+ 3 M_V$1X]FF/&CW@/-=&AZ7M<1?,6;I!Q03$N<5YVKBXA)&UQ,,,E?YQ1I MSE;R*7238<:Y][]VFR?7\?/>,0K>CO$>M& M1UF&[U*X?0K MD@G :?@W112'Y9IE_<_I_D#29YZ@1Y]IPE+7I6,89$[;45@I>B?8*6@%_E4* MO"MJ_FBK7WG'&@E8&DWUJF#WN;-U0!FL9N6O_= ["U2(A-6]4@:.LQD5>;I/ MGR@HO6.1R#F=F5;![$Q)]X6\T\*$3)B$/LK!H<@\R(W]3D_&;?X/";QN I < M8'\A0R6F ,DOZOS/IL(*KW=)&J?;5[MQB4;>)46,L-MT40J#H8X)H=#I-/(0 MQ[GW.,CP+HU#ZR!7J^&25Q;0V\S2B(/AEAFC,.-;:UPG8#U_PK?:)<#/$K/3 MQ[OHH.>75L/IQ*\9>F?R5RT.AE]FC,(D<+W+HZ-RY4-:Z2;_$A!UXM"^@+,# M6E)@S?&LSE/O=:Z$).RZKH3@.(U[.A+7]T$M :==C@"LT\,T3[U7OA*2T'^P M20\P%7^+GW&<'EB:^#IH6D3;G2$B,6JYI(BE"6W>&%3 D,D.9Y]AC19J1<*E M'ASBW45)E&.^O#\%_IF05FB@P]O2)>#.+E7&-S18;7?]BFS]^'."KY2_]QI"W] M@XX5MD$\2?)(FHU)*N&"=AIHC%:2Q]YIH\8DCK:H%"K%KKEY;Y*T4Z^,4W)( MRX,!NK2.-DK.4N)8&]#DQ#%J>.?)()C&I'[1/F+IE>ZCX"F*RZL\FL+0M[2X M[P!UCT%4WAYP\\H]H+$S5,L[[?I,L#L=G4K8.^]L$0KK&7SGW]6ZJ O'6=H0 MWT(/2$RE#O.-2G"(9HET8-1TW1QRR8$ETFSG7(W7FKY2(^VNDS1"/O:.2E'O MK+'#I\Q\VL]T>U66/ 9).MYA=?Z8OH K+LB!U=7??0JBQJ60A(3W5 @Q*>UHKW+Q4#4O!Z;(>Y]YR W>G*P[@1\^W\[UP_8ZP]S^$Y]_>AP MB",<_I+R#7UL=*5D@EK4%1=,8&LVJ.1 \,$ 3AB?E.*HDN<#X&MOM8S2V8&. MLO,BX1=M:CBAD76W!=, ][@=4R$(@A8F=.(VS2A%+87+$N/\W&+U;:U\9#W; M\+LU;>[/%>6]W)VK@BV]-[API@/*:]GY=AN]+MB M)(+NK\N5 17ORVU+@>&+$IKBQMR2+S=73F@:IR0*@YL@PZ%NV**0S MR6\J$_)>_29DPA16*8NX\/5CU/O7;9I-$_48I2_@JLKEP.JZ[CX%4 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,G&)1I9UTNF2KC]U5-!$ 83#.AD:ZI\2;56N.R M1AV,FJ-0;^&G(>X$%F#(,.XNH\_X*48>]@!9L MJS>0RL&@@1ZJ<*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)_Q1#>M.4]TD:$K6'-41@J:02$ MEIQA>NXI$ST/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,HHZ&]35_#&U'DT)4\Z8K#I(D4 MHX0E?W;&$C8;G;_:,D24]L .%60),_JBT%BAP"4QGFVF21@]1V$1Q)+1K$;.!4N,,!D_E$+>F6%")HQNF2S+/'N4 MON8P=YPF61'G@6[?JT3&E7M0PJN=@B#@O<)UJ,1\3HWT[@]Q^HJQ9G-S M7\+9AE8YM&8_:_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- MX<'FAD2YCI=;$G7PI3: MV@^]U[ *D:(VK^OE;\;SD;(NVP]=5:0(J*[%XQ,052C Z=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]*=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,:,EZFD'?M^K6P M^WV!5!@$:6P0*GN+MA)JM#SQ:)0D!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:4EZ86$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$9LI:07RHA0I80YBL&CBX#-1!:FP.(9IN*3)CRPFI$Y29^C9*T.F57B7@BC M "UE34\6'G7D $W\:0+B6L^KKRF#)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-?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%*>2 1 4$%-:X^&QY35(FB M4M9'=JH.6(DYO>>N"""%55=]YR&(2IDT$#N\T,B"HHJ:GQ*G]&HH*..ZXR6/,79 M--FD9,_??T?_(;%2(>8N2H)D'05QDQY1-B-N5G'&%DOP#7$,\C X9 =2H%.I5N\6V0!Q4VI;TJ<=>'*G6@^ZBP5#%!S2EO*6/(F(9: MVU2S2[PGY3YQC !1S!W3B "BAPR7)H,,0;6L%RXL]T$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 MPMTC@B0((AGAJ>\A:310K>*8-3/*8=(>QW$0TQSOE:<=S"JN&&0+ON:121X$ MFRQ!]CG%U;J#:ZZ(F*;/;$;MY/;J$*\CY#@RE@#L!<8M"1 <4<)2A<7MNP+\ MY,XKGN)H?1>G@7J6I2/C.&.>"*^7+.\H (@!(BI5BCPNB+BDE_J_"9+?27'( MUZ]SDJXQ9KNLLL9;F>;?++7=M7HLGY-Y M;-,XR^:6KG]?[@+Z 6=%GK$>E )3SX)KE1PO+U@8T%MDT&@ HIX%3-6" ]=$ M7/4=*I512]O3^"P[9@'$X<.5O@EOZ$O^ETSPK#0=3UZLS:G/Y@S M*H(@X5"TJJ%>AMH%H">V1ZPJ OV5%8)X*:[O+Y^N-X1O)$G)*,\Q;1I\$Y/\ MM(%.V!7MS(!KGJDE01#+"*_/I.GX;H$J#=12\7$@X7@O"/7,^WQ"2$K&*>V^ MUQKZV"BYOYO%9(!X38M* P2MK&%J+F\1-I(A7@PZEH/^RDIR[:PJ\BN.172> M.MV0V(74V7M8/@+!#!&/=$1JI*9$)K>^JEGEMI%<8I!D'!M\DV0/7&T M1?9^&P2'LMYQG&?U+T<"5#_\K>E79INFLYFGY=K9Z(E=_[+N3P4-4W5!F5., M85P:HN>=9"> %<[$-$%$NFG%%K4V^FNM?]EHXA1>CK(,YYF!@7TAEUR3 VRS MJBL!AC]26(*?XD) 6%!-1EJ109!USPD%7)$:/4%@#)&C4]P>Z)TIXR#;*R#AL5MBAD7=:Y%FZ;!%)!,*S0 MH1,.9F,Z; DK!?3M8YIC].-WWHE3;>3)%GB-H^?@*<:/.-?S1Z_BM NQ -_I M233R8$AE 5((0"H51!J==RC!>46S/_JGV31YIO!3\DIM4=C=%7%)(QFX-FW: MS\'01 )*F'BO1")<.YQ_],^$.<&'( HG+P><9%CO:12R+KFAA=LFB500#%MT MZ"0YY9@LPJ5PAH(D;'HN[_RQB7 \1C;&B,9?)).G>1#?VPYE5&$,*P2MJR.1 M 8R1[YRD!TSRUSF%FH^2MAS."[CD8M#\C?&$&*;J=4 M>8=P+_)9A1NP#: W3.$BVB[RV>;3QGFS4CQ70PZ M+GEG!;]-/*T"&.;9H.Q3CTNQ:=XBPY5/JVCVDW^:39.<8HUH3%_Z9]J")B_K MN& [P3ZF:?@EBM4QHHVJVU#;WIAN"&[6 T/! 6#%D+U6[?+PG_WSL#O9\4CK M>L L4UOKX*7IGM5.DRU@MM>R 2\VP^II,%0QPA1V*19*: \>"DC MF]J5 (BP2_#:21$?DTCJV2.(TT;:^2(@.R3NH^ IBJ,\PJ;-,E))EQ300&WS M02(&QDFHL0F1ZE$2$D?LMM+H%#PQQF)3C5K:*7^>,7E*,ZQS+T:D4'?9U*NR M\^"5K,7OT ML'L$D@M#XI 6H81&3![%@/JR.NI>X&><% 8/I!+V,5"2 Y8-DKJ28-BCA:<< M')%2VCMOZ( .VW5;4DF7C-% ;=-%(@:&*VILXDP<&VZS,32&TUW=LXR5L\V8 M$C@R[!R4B[H-DM5@N^&Q* >&,!IPPB&674KR2KC) O93>UP!#-"N8BN$7XMEQTH11CF_A:"*C5SAKZVR) MC&W,OL5/)M]]3C-]P#-;F3F M>4AFG&VV'I!U=RI"&I8IW*IQ2X6%'H!N3[_)PJ@$QEO9(A4FLZ%V=L*B7:LI M#5A#[6MY74B5FZ!=3>VJ@*&;'4[EU$'4# T%ZD%88FUW_48_IQ+V%6[I/9I< M$@ROM/!T6\:@!EGFN,!;6&6(I\ &4MH("M+B+$^)R8T M38("9"=E0D\&#%L4P(1A?YGX-BL3WSXS2>_D&(4AS_<3Q/,@HM'9.#A$U"VJ M5@U5TDY78O60.^NP@ 0+TP/:P4QYL 3C&QMS5@2!%PJ'H2 M;OEM*.NV+HK3"]\(=PIY%S@/H@2'DX D+ %^RUPZ"(W6D2H$LU%T25%[0]JL M-&N!(:(U5,D6EEH0X4K9.^_$0-,Z(O4=XMN%]K!&A4I\\L%A)HGJ,5=#_,\/ M?Z&^+,GINV-V4T;$[L'%F?^]F0]1DI+Z,E\*2/$U1#&7C%*!;/.I+P/&"RF M]6GTF";O90QICIK]R?_DD]@F:'=>'N>=EPN4HSPGT5.1LPTYJY1-LQU-,E#L M4H7[=77G?!"]>SRE9.@N]0R;Y&X8\.1*^Q1($EKWYF8U7Z=Q=$:HCN;(=,!X M:DN@QMEAGJT%,!.%"YE&1;ZC?=1_X7[B?BL-3Y-_*NB*><"^.!C6F3'J9P>S M\EJLH-&"Q*]Y0&:$)Q /^7SG'!-NI/E;J#4]\UM-?8K@M9&]>5HF!8I<=G%<]%7 ,>C]37 MZMJI>&64XDI=&WFXW#)?IRLE6'JE>W1/2^W(5@6;BX8,>YF4TFX3.&HA=W,V M2D7!,$J/3W'V\G@K%*#[GZI3QG>TIL9LYI""^C7*=^."4G^/29-\DJ7AH?\) MU9L+3BK)[>KMR:9VEW,'%P.&MZ=C%_;D!3& 39WC-,MG&Y9NCL\_8O(UF5-!AF&2&*/6S&\R9GC$AU9NYWZ$_H?P3[PU\@Y S\ M2-(LFY-TH]R?TI%PFBQ2A-;)%WE\#&L]2P0FI(YD$NC 1;PSH#G'55U^84K] MII'W8:$N]$HKUE0,I%LE^#K?(@BBCF=&E> M ;*SR-Z3 4,2!; ^-_@S[W28;3:T=R09V^=)"2J[%EHOZM2;:,!V'(E$#@P] M-."$K8SA/DHBYF%RMH,VJXC%EZB?<((W$*XR^DB!D"">)EE! EJ%E6M4=;LJ M::B7N8?92M<4R?XK3P[V;J'61ZL@A2CJ^%D4'LW0#3%@%#$#DNR;TN7*J. M9L\EQ2:+>$5_H/_AE7VWG-+A.W52<2XN4?0?NJA:.2!6H]TGWBM2"D>:6TEX81QBAWU8-/1^L9MT'&:L-$&?B=UHT[!.WN&H!1V4'(=[X1B M4SDXR_@IRSNL'->*8HYO292"[-V,V)$!0PX%,,D-B(T8VN#SQ[C27J*\SBOL\3\> ,U[2$@O^/6U*!JFE/9.-6N( MXN3*,^WBHHS-SC)V'>CW21G9O)-J@3-,O^*.VG*+:=^:'LRQD4''[>*V!?SN M,K9& 0S!;% *5[)6.MXIU4T#:)APD[">T-ZN\K-&N"X=P@N,)8#L=X MW2G@2E,\^WW$APC]89KPU-TDCP#I.,O3//)>RW(\LBVCE81W3_(IKPY6]M?. M%?S5R+OT%T;8;1>A%/;.%UN$?08U\E=I_\M==#A0#&SCE83@W<>N/( ,5.T" MVL^\UZD"D'AI1BGBW0/C_O MH!)<>HD33&O[C0'J;ECWYY)U"=ZR4U2Z[7/#H7=P D'U:W01AF?89RE!* MV#-H&BP>Y;SNU-0.MVLA6'MZ5?#D23]2>)LS&P..F19-IK8EO?!%A"IES%$, M*&<$@.K-O.4U!=[94O>TL^0VR@YIQG/,SC;E->4?%/::E)SNP[,RH+,=3ZL! MIM^R@BF<-Z!*B)WT#&)^Q5W I.OC* #.H#0VEISG>9X.RHE[UC>[S)5SUTXDY%Z[R.EB#C^L;JD@ \<2+;=VWYKUU"C?' M\0-T]'_+"Z)-YUWMU;W>]&&9LJY+>#ZT$076/^X1/D45F@GX!+NC, -#6@L MANA "KWB@'CG <5U#$O/N!+BA')M4E">HD1U M-PHLIMM\((\,-;(/EO>301O &9"W+=4WD=5YA6^"+%HK[%?(NJ2/%FZ;1E)! M,*-*'3K%$/* 29DG%7W[Q*2_JX>3?_0_G.R;"MM:L*YR2I?)I"LO"97*52.US6 ^N!0 =#:9 M:$%H51'0*6W ?3JI:U_MG=8V]RC3#BE*V?0E8<< ;W'YOZ8TH+V.^O!&G:.C3+LQ M"O^S*#>2]:^Z'T#<$+])^L-?E"MB MD!O,\*\'AN@#2?QFG/@0ZMDLL/D/BIIKR6:;<9#M[N+TBVG?IU[%:48]"_"= MG'H:>3"QO 5((>]$<[=:R2B_C5*[S*I=NYYH?J\WU:[P'C.NZHG%B M*MSF52PX)/7+4')LC6PG'_UK35^H73-P$RA6.X%P.#;?6Z42=AH<:@%WPD*I M)!A6:N&)H6"Z_AT],6D^0U2+>^?/+:9#I'445!//HSV;!OLO'8FT&FX/\QBA M=P_R*,7!<,J,43RY<]3@R;N#ELY5,AWP]+P+MO=@MJ%N]BY* NHBI7?4J$5= M934P@:US&:CDO#/# IP\?S)A\FS@6= _-K6*=W]3@L<]DW@Z& O?8ZWM-/7A M,),Z:0_M5+VS\#2\%L2T]597K+XST^,XVI5A/XVOAVF1*<>[CSA:P"ZTGVUH M6$\#^?QU3I'G+'4+OV_ :+Y>V4\&)AN#Y)S3:<*EH 5JJ^1?GGS#%LBB, M*_><%"WFU&+0/L;C(MA3"4]FT+5-6D M@Z,6:]F3QSF:8U*\0_?W8^^]3G\C:6OZ:!PX#6. MGMDRM_5GDJGZ9:K:&#U'13TH/O0$S)+3>%R%\3.HE%@/7&D!Y"0;B23T19$R MY[=!QR\+)?#U]&LIP.>="%:,^"K"?1M5VM\Q[D5'18"2PH>2MTF;SV? @\Q3S0-D92UCY\'K\Q5LSG^]9H4])-% MP5-UT=#@#D-?&(P.W,9@NRY=5Q+@$'0 ?&5__VV(6]QONOY#662Y_%,6BN)C MJ3"; 4/9RH]8?98AGU-5@G?"ZTTSLERN#IO:6LQ*7\YCB%:NRXK( G+$M*R M >.O4;X;%UE.,9.ZX:HN_QQ8%^ZMB ++8PU(+-FE+ >..3H8M16C3$!98^P2;4Q@[ULVGFTMNEY N>=+FL,8XY)MW85.[:*"])>L#Y MCF79,;HM>WW'*;.'F=4[062G[)V5IR(6AN915AZ/9:E!JC4E&B:R;WJ\]\J= MZY.?-)]M'G 2TDC9T#2-VCY%#D!F,/\Z<.?4*5] M'>[UHX+[--FN,-G?5DL*,HO-.LYX9@N_89=) 4K8-@2LL.V8BB'*H3V4H#7$:O1,.WX5:D-Q2V>C%PWMCU4NGP]$=>*\$A[4V11@FF#*C." MLEFDZHDJB?RP(KP2U\(X+74U^N#):\8N'-N&O+'8?H;S["E2J'/7Y\U9OXD5 MNZ0I,D?$#%-5H&MBLM<+$YN#IN:LOVH( ,-C"4 LF:TH!$]Z>#+U/ZD8# M$H^[\[2'JI^9;>Y9]T([%GX;JT7@K]'U-=@RFJ,:;RD5P7!R"%IA5T:C\!T* MPF=V6)D%!-DN)7DY!T#?R']:\V*\4[1C8#.?\:1BI5K<)1%-H-O<4\E"BT(- M.,6%G$J<<2ENS3 ]^>=4NP%-LZQ@K<"*73:*OAR>WA"5MY-K@71U6JC*V26 M[&N:41,3C-/,N-U!%/IV(^@N4/9//VD_/N;7L/'4?X/Z_XZ>_WA+8H8YW&HI M 8^V1*22//+\.CV>PS&BBMB_P[.?N#E[Y@?JE-QY4W%O8E)9C=NXK?_;:H;Y MNV/R/TA3U>^#I0 M$G9_:$DV5_G0;N.09D'\D:3%@6K0OUFO$26TX58')=)$U2X@ '-ZIS4 >\5V M[!\5F%X+S*?HNYP2&)N!P!4T1!4P6E?9'OMK$Z1>^KO+FF_QEXHBO-V+P'1M\ MM5' @3?&91Z0_&H-_C)=/Q]MU"9F[] 3WD9)8L@O_O]3\C)5XC:#;$G*2:*_ M.M*'_7I2ONT^R+"OZD)EOYE>0[?[ZB(%@QGM7=(:?0-! <'E;<41FRE*-]ID MIE=FAJIBH3H[K1/R[GJ6;+L3VT%@/K8K%W5[(90:;/1F2X?-96VRFSAIG4(9N=*IAN8QA>X7:R MEC8*:=05IUE!<#V<1WQL'QV+ Y'V^IAK+@H?L28INR#H.,^: F@OE5I/"@RS ME- D62K;F?P ; JI3YR;&-*3
8L%NB"=[A)(N><1DLWZ4$1]MD7!""D_7K MB@1)QO9H\]S!?0[B C_B+_R).M*TTG4;? XP M1PAR3(I."?V,R5.:86/T8@GZ+6P55]A3=J8GLE%0!D!'A4$6?.QI@O&P@^!: M4!%,0%2? :I#_7KC&3N9T4E!JAH;_*(]V'6YXEW2^M(?I4W\2Y4-[5C9A>W2 MI\,M3Z#)#J#Y;U''8(KET0I#G@LKB-GD[#2I;CWE?N.)?IV016TT9.-QTP*7 MN;/P$I/G:(U+'[/ ZW2;\%)XQZ?X_M=_K\3+[;I2[4>XLU'6OW=)A=>X0=[,'U-W9<7=X7U=OP6>=5YT"D[> I2CAC M%::?6);3,YWGF-LYWGE*06 \X#GH3\R2;DJ ^=]YZ>0G@+O'+FO9"0LG\-8A M .X 58-TN1*1X?4?MNGS]W@=5GW..CQV-?2/O\V?#[*-#MU'+CH"&1A6Z^W? MO;MI"1@A[5;PBIXSEEN8[X5CV05OC]OEKK&IP5S)DQ>\+E@Z^C$-DK8I>1V] M1/V84B/GJOJU,&LN2(5 $$.'3#@872GNND >Y6R<;.BMGO/756V%%9=UYV'(*I:ADA( M-]],9; YP?94A9^:?Z#C!]H!*>J]\]15K4L@U77>>@2BQD4\_?JN)/Q4;AV2 MK/!+?A.+N<04,J[#.@%>/[YK!$!4N@J51<17AGF(:2*NZIH1XW2)8\S._U7$ M? SVLAA?(>>*&5J8-3ND0B 8HD,F66L]!,DKJC50[3&8CF-VL%>&30@ZVVRB M-2;97:+S'Q8ZKEAC#;]FD%$!!)ML40KS?$P/'4<4M>8[=)>F>9+FS!]Y\T1S MC D_K<]W(IA8II5VUE^9(3<]EUH4!*?,^(3>C&H@KH(J'1@\&O,L0V%CD)Y' M6FEGO9L9O;%^!E@9208=LT !M MD4(B!84;:F@RBM32B(D#H J?YZ%6,"3Z[D8IZ70&30VU,Y!Y:^ASU*+.!E4&L,U82B$'@D,&<+(=$HPZC\SY M/&,2;#&8?JIM"K>BY4K-'))J^*"2!KJ,41)Q<,128[3A5Y=9G1[/7R?7F&?9 MU:GEG79X)MB=;D\E#()?-@CU2TQMKG4X!J$G+#P,(-:S;F@!SK8LG&18LY=AD#8(HIX$6=C]P M!32GH6 PZE@,CB.M[^\\9 MCQ!:5Q,MC M[/LT4]T5?!1P?,Q45A=Z7,+RTW'P_RT3_ ZUCP:S18,R<9[OO>GR]BP7\[8S M7=)R93+>*6( 9KTMW8O7YW$M.TBA9894RA4Q-!!K7DA$0-!"C:O/BG)\T3[1 MXI46QP-W4CYT'[L_M"@RH/T,1-5+ TXL>AKHZ;BT%+SQ.%63-G!I.IG$!7< MQ2+;7>GAG)'^[)F7$V>:9SY3Y/$*6)A]I)%HAN,79FD1\ 5][ALQ" MR>$F-4L#6OO4#!H@:&,-4[9;[>-H-&_Z^I:NSSG&8R+ /_[PX_,QF8I^EYI1 MQUV<8 G_&#P8%$#0S!:E&&;4>H@J?OO\73<]CK\M:H0GJF54E19*+ M.=MNI@'9;"J3R(!@C :8L$&,D#3!:9'%KVCT)2 A[IT'J0OQE%")7:];74%T M2_]7D55#*N6**AJ(-5,D(B"(HL;5YTE+DO96.2;[*B4B8HI^DG&TT;XSEEWFO\_)>D96&9ED>53>R/R \UT:ZGADI^:*4T.,J/EEHP.":P. 2K/5 MHSF)UABE!*V6"W0L I5E^"1?*^>ML2/3R#I;SS'!;59U5((@"&5")ZSP'.41 MS ZP9<9CFO^&FU@.:YV8G9J'B,EHA"2.4NJ X-P H(-C+EH@HB6B8Y$^?=H= M_2 493WK,$U"Q9J&2M 5W_1 :X;)I4!P2@NMSZ)*N)D->H=:"78]+(KTP-\6 M>)5.7ABI\6PS238I_4ALB"GO# =I>R*4C4D*ENE4(5+/ J^)CR@L^#:KJA1V M\4:KG'=^^E69F9^CM+PA=;;Y)=WC,8-%7N^#+_9,U1?ADZXVQNDXJ],'2UP+ MT+;L;8IB_&6%H:HT1(L#1.+;*/L[=?S1)EI7EJ^"EQNT*@+I)(BAC+(D15O.+@K!'^IAG&'N24.EC/\?8]+W^)Q;;R\,ISA[3G-\>2QI? MK.M4ARC[6+RW,TBVE*_7!,' P7"UR_RT!#[-6)71WE/D;Z\CV^R4C>,TH^'N M0W*(V.8XU5XTG;"S"6XCX&9:6RD)@EM&>,(4-E= 7 -%"5I%>SZJ>'B<3UM[ M&C-/6]0XO-5^VYBB6S-1RSKED0YNAT8R03@LTJ"3DHA1A_61/>9X]T/,#N.F M :6D<^;HMP8HQ&"QQFH#0)<)ED4 M8N*;*+^D7XX6V'0^*@77Q-$#[Q-(+@V*2%J(.D*]0U159)6_;JJ)R&B8'MZE M?-?*YR!6>"*MM+.SJF;(S=E5M2@(/IGQ"6=;>\$PUT2;E'1GD%@.:>S16TE' MC$:79=+R/WK7.R^]"@C&V>,\W"OG% LJ.EFX+-,OJMC2 MR_=""\?Y*0E)_+I=XG5!HCS"BGT4&EFGM-+![7!*)@B'4!IT\IB+*F"JP0+Y MHY*G;=L,T.2%K/D)!96%+0&G!!& =5C1/(5#A3XD>?U/7C!91]2?<%$?-?Z1 M!.5IW;L@(CPH4UDDDW3* 374#AE$,3BL4&*3TX.+ET>BF4(9-#MF2=>GO3[\ MGG.NCG?)=KZ6]2DF!5>4T>4G)93#"L2\!-0A-Q'"9[F>"_+RZ 3=L4J,^":46I)$&PRPNLSJ5) ME0:B*HPY;$V>#JF8-N+JSB>(BPB&OQ;;LBF5QG->?(U8/OWG-G.V'(*@@0R3D M*7,_%FY@K:)CO A/KE3V%5/7.]*["(\8WA4:;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>U-O=N M@NR)VUU=Z5DQ-M;/T?K-=O0U^H"1D]9SA*[]+Z6C8(+YU3D$LFGFYHFZ'#2P'#W).A]QE],UI.EVAVA^:+R7+RN!JMIK-'[T1>1MN$ MYW-+2XM-UG$J?:!_H?3[6XY_=OQJ,8]#C)E7ZP7=4$E&[",.#HY M[S2Q -R V51@LBU1F5R12N30(IL"J MR6AYOD>A7/#-.Z M+IT\9(X9IU\?/T\>5[/%!<9C9Q-J3E(:]>6O\Y@--Y-P\O(:[)Y_<;74A^36F@O9\;5@0((#SQ_F=W?^G>?'],T_!+%,35PFN04 M?$0CUQ$=3.>9=00XL R7S#W)O#9U!Q4 AKNGH.Z3MRZ#^]QC*:@L!FQXJ;+6 M'&5::+H--JU-Z<:<1C4P-+7'*GC6T8HZTS?B/DW4&UH(. >J)>2P$L!P\R38 M@@^=S6Y_G=[?\UY_^K@:/7Z$"WD_EL.070";*14?Y:IJ]GLTE9SC/ 4,_Y_Z91DG^F M?[#=>(91Q.!27':#)YK8[@<'%N&=G.?A[M.V+*6^XZ!5#A]>\))0712D 87" M>OO@;D@! !AM&=39:T/G\;!9[^7J <2XXQ8_Y=;S,RIAEW33 VY32RX)AD9: M>'W*,&&@,R7+74KR,O!XRHW;*17"3K=/:@%WMDM*)<$P2 M/V [YRVRQ>L_C MO?OIXX3MTATO)K?3E7<"'0-7,W\4LDZWONG@=G:\R03!D$>'3C=4N/%/F&FR M3O=X%;P,V%JBT7 [%VN$WIV#58J#(9(9H[BUA&GP:]5A=FD2D\RS_CH5SQ0S MS/.KY2&3S!QECV S263@"11LLWFF"QW@=%?J<6=CNP,H#OC.(4L M& 89 K3#)4XRUV-N (D!]4WQCAWH);W22C]S(!*&"RE+#W2?+) RU]&"_][ M=(_.=+9IWZ"UP#%+4C5.LSSCECT%&0[GP6LY86>8)#BS4*>3"1?Y )U)A[-* M!$/MBY@A#$&9POL;IH$JE4YZ-$ .UMK^F[;])C=\=JD@VX;^$YS4..1%OKW6 MH;5#:!ZKV?C?T&S.#DT#B%CY++?54IO/E33S0ADXWRJ%I5CF N02ESFE[BZ- M0TRR$MUCFF/[$?( ?:>SP4/-ZDP0VRJ#(=]0Q'U>CD?SZ6ITC[BS\L[)1UJ_ M:9)3JVFIVVF28_J]3 @TP/+."* ML]'TR3';&,ZL!I9Y]OYL.?G(-AQ-;M^A=F*D\2<:R#U,%M2_W,OSW@GZ R;/%1*1:W"DK#: [5%3(PN&? M'J! ND8MZF$P3+*Z,<^W2PG__Z)'8"=? :Q@W(< M9+M1$K+_80/JYR!F=O L=:\F3EGJNN37('/:7+-2!,.[(6B%.1"JQ'>;\W^T MU*]RFJ9]ID//*J.TJQ,U%I#K,S4:4>]K+IQ M<#LJ6>_LL02HRKM4)R%GBTGL-N,E=3'^Z30G>!\5^^R8G&P4Q^F7@%;I74IN MT^(IWQ1QE:PUFV1YM.4 X;F9X 7XIJF*!;-L"+>\S*@D)MV/#C:)N."$)Q0;K'Q([;0PMQFUG\% .[2<>'E "&NB?!%E.5\T(0CL4W M+$L,7F.UMABHFMP":XFOTXTK9X0 M&ZCNG7ZG8Q:F]EDIJ"P&10FJ"^*#N+HH[PY4M=_7E2PMLF>EG;IK6@XQJL]+&UU0Q!P MN,_,6;[#!'4*064IWKG9/R5G1TFCEL]SBQ8$-*B X9T=3L4)_N9LK'>2?0J(9<4D@-L,Z8K 88@4EA]/E A-JO3B'GGPUT0D<]!7%#LU84Z M03Q-LIP4^^,ZOVH.P$[7Z2S-$',Z,S(VBF"X-@2M,--"=1%79DQLU%%+WSLK M:?^\CYJLAVR43ETO3OBUU;:!FG4!CD.U@8;U@C5+;3!,'0Q9V$/45O%.S":] MBNTN$96XET0W5KM$Y+)@"&4 J$ZA!( ]8U97;,:1CZJC[/BJE.!@FF3$*D[[T$7H(DJ#,P^"=3XH$J]J@S: #("&N.DC3*H#A ME0U*VV3-WBFFN93!K@L<4@"0:S8LNDE[;3"T' QYV/5$WIGZB+]4^]9HN#@G M:4+_N<:MIF?'U^'%.#T&?Z*1G8/Q \L P^ 3@LZZSCKGF?@B8"%9;'Q M+Y/;3_<\I_3#9/7+[);]ZW8R7TS&4WZD]#K<*_;[@+S.-HMHN\O339&5?I_V M!'PKY7T4/$4QC3_,-#RU)&>,/,_4AIRG%0.#IV=A%X\1/CR,%K\QGBZF'W]9 MO9_=T=\GY7U:QZLUT?UT=#.]GZ[\'WZ^Q]1:/#M@-K!+MEV;'X*\(":FGU62 MTPSKIYO:R;\^O!CO3#\?N\XY?WJ\G2['LT\L#P!:L#.T\]%O,.XAJ<]FR(^$ ME%,8]VF663'\U,)W=S[S[A[ MC+::8X'EUN#\-W"=_+&9W45)E&-^5J@_P3?09PXHR8_['&RJW)-: M%P.&U:=CU]([2ZC:Q)MP/7T\^#^W[HD7Z' 0%-548%E,0"Y/!2[CLN] M"\!O)W?3Q^F*35!\GESA1O"+<3[5M>B[@EW3.MJS9';_Q><;)R]L4ST>U!@N M\PH?K>22'T?6?"Y1/KAV=4&C= UNLEQ-'T9LHN3NT^K3@C:LA]EB-?W?98K$ MR7_,)X_+L\>3AC45X4IO^_44DZK[M10[8\1U%+V>=WJ> %9'.X"WLA^MNRFR M*,%9-EK344?&3X=F-Z^MO^SCER%%^0E@AALKCV#LR_'.Y0N UW'[;C1=H,^C M^T^3)?MS]4L=K:#1F(Y#%]37\E%HM>8RI6+T^:>'R:WW-J#8_&0\Q614 [ Q M37^.R: #AK.60+5=/B7AZK=Z"?MX2[MW]GT,HH1-@<^2 =PS*3G=E69E0&+V=VTFGR;+9>=--R+R3V//U>SFIG5BL;DDN0TAJ!!,DZ? M<1(D ^-/C9Z/X--HABSR5"IY)^!0I/J8<_2(QK//D\<1K.DR=C=YZ_R6?72I M5O032YH,D4>.*BWOY!L,5<>^V:?5\ -8O)9H/7>9.O@GZ%19!CECHJ64>QQ1;@RQ3IIV&< M;KR\90PO#V#3.-D(7=M8L+MHQM/[T,* H@]T_!KZ/][>1NLF!S8JP;J.;)OFW-C9W=$QA& M?H]IXXX"0UTU*O@0D'#(2'%2.^Y'A"6:*(\4!A7AG[KG(=9Q]9/YY M/EE03TVC>3ZC,1XM%K_1H.;7T0+4MJ)^XJ.;((O6M,G>1G&1LU8\+&X95IJG MD.44DQ71RI"BO%/^,OAUQ+\9+:=C/HUW.[W_Q&;H./EI4T#+7T8+2!N/1TD> MAE2 M;P'8R"YLFG:O_^-J^IXWO>EG^L.<3BT+;Q+,,;_R)TC%7LR]].;C+GO,1W\SG_ YF:TNEO -VLSC;+NHD=][N4 M^U@NTRL9ANVW49:3Z*DPMXP!>NZ'Y19FB,-PC9)W2@Y%JIT:FBY7B^G-)Q=\ M>DP3?IU$&E.=[33),?TB>94[?96VMX(-FA,ZL5 O$T1G?0#I;-%))0+C\)EF MF.:1QK/'U6)V?\]FDJ:/J\EBLERU]\3P/8/+Z272BUS@5IWV"L=LT[J+98FW MY9)X2C]6EL91R#^/(5HYIT"WM^V<:WCWYIU32_/>-"YF@GXE;#Y;K-A!=K2< M?(21N.'H#UJF3EZH,TB"N+Y\*!OE97?''$-]QQ8[]<^NN;UY_8C3+0D.NV@] M(CBPC^2O\$8_8?W5/IT\QK_XZ\ TO^O;J&^?GR>/--K_.'ED:R!\GR;ZQ,[I MW=*1 ?UAR:>(QZ/'T>T(4,N=)'F4O_X:A9C&I>LXS0J"9TGW.V2]6Q^GR30) MH^PG_GJ%XRJ(PXNG6[J-]1!UEDWR*S4H&R>N,5 _F 5['4<36W80V_GKHP*GCGW1"4 MDKL4N#P**T5V^63&5-&AT;T*CQ9X'T0)GSRI#P^Q%A!JB62CY(I)]@;45#)K M@."2-4PQ"W.E2$E4:W+?%%Z03&=W\ ]1DK(,DK6;;?SNT;Z;UT=:]\?YO5)$ MX>[/*,]E%WZVV>T^^^3"O!/\4A;TN=\5/?;#@(A_'"&H$ZFQR6KC ,.D[F>L M:6>4?)RHUP5#VH& ^QRME=XAKL8O?6@4T5^YZO_Q3E.E:?=1@JR^G1G*3E>FY)V$0Y$*$S25'KN+M=)$+55('6W/*HL> M5JWAN&LU0>_UJ2IQ,&PS8Y3THB*W+MAWGDVP.A&GZ@1=!?)ZH'7L+I?R M3AHCM#XY*N'V]!@7UW'@JCOXFGTR?#=GL,Y_C?)=O5>F/*T5)5NV1D[_PXZW MR[?N#2[F;S\ZK;QG3)[2#-]K-^^=;H00 0>QMEE?L4K':9;/-BS5.,M!L,3D M.5KC;)G&H:SFU-+P*L@":[\>F H;A62T/JYS!Z9PX?:*"F<["DJ[CF>GYLH' M#S&B]L@V.B#\\P"@??K4MU,ATEQ/]0X%&^JZ45!?4X7HV .M^455*$ZS[!VD 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'S6(U?MP[U=?BETU@*T\#DY"N.ZFZ;VLOD-+VI_S$""KB=:(PN_4^E#[U"J#C;B6ND)')AV! MWY?;?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-G" YI^+[1!F\K)F-R7OV5^G?!!U66!8 M:C+7FK*J@J!-6IUCA)!G8G^@D3%;>*G5:(EO=^#WQSW;O$:[Y\P M03]]>(>8'P#I>VXK\DB.:-JK^?8H,B-,SJ.M SKHD@#MQ0]4_?^JML7[0\Q9DL;6R8% MAS:+X,L#]=TD"F)^BJHX'&+UD0^SFA>J#"?L[@"]K7XCS/ M2U8I>)I<:.Q0]!SMYXY7]8U=A12;O&^(:E'O35N9A$HW:C,I@4@3IAS#Z37 M-&DKF+(CJ]XY16.F8E_PNWS:>_GIOVFGQFY)2\+V:0"EH>J0[$+%.PZ2+_I1 M>O'T1 W7$J\L>PE;J2R/AWEOGVR\G6-^5\N<.OPDSW21K5+:9:LU M0&YS2B$*IBWK\8E'-[C(.[2&$,:VL$^3G.*,GN+R?&36"B#:<8CY(U@7Y(EO M PU54-&R%(@L'09=2>!VA!FT]""36KW68%("0E9%N*S7> LD5"\U-(2C$;&O M0"A-PR]1'$M#GNH9P."FCZS_96L![RUVFH1XH^9&DUFN7P_"[.308MQ.SI]F M9'=N>%@98%K^B<#%RZCJ8E#,RF$'J:N"+(+QKZUR0>;Y.=F*X74-,1-0.X*: M;?K6J^8"#4I.)W&M#.A,S6HUP.V[L4$KS*9:QK=?FXV]U"\I8"';?AN'9MV0ZH),IA M9RS8P@:D^3QV,BPB;%5TLMG@=9[-DDE 6-2?S3'AMQCK^CQ[=:>S 0.-ZH1Q MEKI@^#@0L.QH8*F.*GV4)J@N@5T4@G@98'HZ"WM-/=ZP(H Q5]L##M%_2PPV M]8CV++;L&WT';9)TMY8)7\XM%$B@-^ #V*XBFDN$MLIP$6M YH,99ID^*\R) M9<$ENB9#S$D%O6U:OX&D,2<81-^L"JI/+@TXH]LFG\EI5A28^.4\_!)"_],; M)/0=_:07^SYE8;#IW#;X/#:SDMXPF5OP)5S^TUOD,I6]W.?AA0'G7;I^13CVE0+9L51YZ[8B1*XN\#K=)M%_T4@CI"TOVD1!ZPS WXN(6CE*PCHU8(19 M8RWV.!P'V:XZU?@#NYG-@K9 ^@@E]5X[PI MHIAM4G/1)EOO>JM-4?AQ6\M!XZ^,BJ%[_5IJ?_D-=JC/*W M^CC_,7?=2K6FBYD]2F&4!R_'!.M7N?KUHIZHF5U[ZA^BONZK7%U!>^V/54^P M7NL]<#I"!U;JI@N?_"?6N*3UVJ.#UWC16^WVU&M-EW\+G,9V=1L5^3U;);+4 M#-69N9_A]V.TG'K2=DZB=7\9W<'[WF2/IOIL5^G6^B^#T]Q452L>L M8RBH2D7I,R:777V0MD&6^S?+^1;X.-HSLW'XZ5 NF*1Q%,K20PW0<]4F!IE1 M<]M*R?NJUE"DXI5/E&!14P#"30FHH$5PCC5E>-C+P++US1+>FNI,?(A1M3M MVD8'1.,> %2XLX +L4:-N9CWX:S*EB!F$4\_BVHPK"WIBG$Y%#W52+-K4Y?A MG:EG I?V3?0_)6_1GI?7BBD\1 U7#/C [+(;#EG,A@,R[+M@= $PEY$)JC*V MF"0@UM19:\^87\#4,["DV!G;&-UV'I,L5U_$:J_NLAL8:E0__[F-+ABW/Q!P MGY"/.$<9T_).Q;JG.H)OF:8PWJ#CDG16\-M,TRJ H9<-2B&$8-G3T8&DF^CL M=1SIT$D+2LP0;:?B:LAD"[X.9$SRD"(82ZPR)Q0EZW0/*4&?HFNW2\ZG5_:3 MF,_&('E2/ITF&$\U"*XN&5^ICDI]U"H 3'8BHZGWAMQ$0PH 15;!L$&$;;3? M#FG[D$\D[CV@A$1R2V=?$DRR77288_I]DSS8JKSL 'W_DT\:L\Q#7HDR&.8. M1=PG;B.)#HWH58+%41CR%18Z$#J1>">7XBJD/,/$.LH\H0CO5#P/MW#,NRE) M.?>)TH&DO:*[>8B2E%"4TR3'](/*#+UY9:=TTR2G9=(2MJ6(S/V<7!B<"=3+ MF2*,3M+D?4N:91GG)5_0<5W@_A5A1K7W73H2KJ\TUTSVMF=-?3L4-2;U9/M5 M^BRV37::9#DIV"L>@KQ@E.8)]U@"$8D?-&JXZHLLH3>Y*O3BWBEACU$\)/"4 MLWOKN;!W!\$3D\HV2\H$G [Y!&"=(5WSU#L3E)"$(1G/ 7M@$MZK?8&?<5)H MYL_KQVZGRKN@NK/BY3-H844/E^P^6?]+**/UFN5_SQ9XC:-G-E>EOBY1(>OX MMGDUW-[5\:(@&(>@0R>YU)W+(M((TW^65W > L)V%?NZWSUX+6=)TVJSLR%N MT\D#V)PY"*9X866IA/(456KMZ33O[9S-YLTV8X+IB/4N6//3A[IU"8V\R_9N MA-WFEU(8#+5,"(7-V6P.-MV@4@/5*F!6%63VW!L6$@PZOMDEP#:EP]ZSA4WSLSSP M#&Z:8A@#-V5!*) ,3.GCJ"[,NY?M3L+25HG+R^X4 M35@M[M)[FD!W,P'+9;USSQ*@=/Y[0Z4J#^@M&7,;=;TJN*">>9E7F88T^S+L MM>&MA)Z 75SFJI8Z"56X2C=UGP;)QR(@ 7T3#A?B40.5D*NN1@VP[DQ$">]- M5@M+3+P3)&C;2!KK^LK19E9'7F-UUG29'+P&J$6I&OE<)B2\P'IA2G*6L:D) M>)5[2662;E<0E5"[2XF"F/=V:L8F+BY2R3)-UE,C>YWSZ7'$;\=HAYVWZ9[V M!M%:C#LE#FAH <[.K)]D6'-Z?9"V=X:=#%G(7E,5TMKUQ-Q56)4C&T!X=V*: MA(=R$:K:P-CT7"=[HO] MW9K\:U^B?'=*,B8W?JK:C'"7 MDK;EU75,LX298MC\H%=UZL<&&"/;;:+3\Y&G6M=!#L LR^-&W5^]#84RDCD_ M7X/R(8&*CPQ@AAP=4GS*4 4G(: @Y7@^\!9OH@2'-SBA_\CG%&UVO#?/\E2R M51E^SGL.,$]^Y-.B .^]USFH=0<_JU)050SBY:!606#V&(GVMBY_-.PULM1U MN[XSP)SNNH*%(AB^#D$KN2M!X&:+FM9[DJ!T<&Z34&EW*'G()LJ#\:T6('4!&5=Z7]U%3,_1KK(3B9P78@1J7134]1H_'?: MW^0V\*5 +K:[214;]RLS:N]V0CQK9@@IR4/79.8>K+Y-*>AOVV,;J)I[3 J, MMU9",U&(Q9?>>5(WALG+ 2<9UBQL2B7=)@=10NTF"1'$P'!%C4VYFQ*7HC N MNF. ;_$F*.*<#9'R*D8Q[J[6Z+CV-4;X?;>C5 ##*AN44F?4O4;1(C9QM!,G M2+)Y\*H[I-P1<;L31P37G1 Y/@=#$ FH/A_N(D*=S9Z.);80PI=JMNP.LTO. MXE7P4GG,:F988:=1RR53+$UHD\>@ H9/=CC[%*N/9>;!RSNT*76A$(V/ ]B- M??0E0^EFTO5 .CMS)-33*T(CH!5:+0WYP T*":N#>D.]G5++A[NMA6*@.J=@\'V!7&LODA*29-15[I MIE5VF0%]/[M4]AE+3U=+9-S=H*J =[P\JR< 9156!TX<;C,Y5L?L3 *7]#1' M6]&M 6[M1Q4:CB?2E6UM(%JM.^4O\=YKTR$W)FPO<1G*&FI,W"9CI>QXA]( M@WI;E"PTP?3H@^!*-BEQY>H6&EC#F1I<)S(^C9EV1?C@YQ#C9"RUT0?'U0&@ MK1@+8^33M,0R0#[1AQJ4O?A0*X.D/E2K"8Z75G#M?*AYD.2@XDZH,97MCE?! M39&7+5RKRH(1@@WS%R ,&7F)@F+Y J6)ZTCK/B^ M%RG9Z=5FE_L4G4O/SB\63)NYG"W]EO%IR>-Z+E].9E'9*Z5\H>Y^G;>B"8C,+_+$P7J%EJ R"G MRB0+8O95H9-2@5=8:]C1OR@1$\325>U9%XH"=M2?J4-E9G\>AD4)MQ&---BR M210,_%+FT@ PU]9D"R:;BH+.;$O\PJZ_*J-S'2JBL-(!E:* M"HRR#.?9YR NRM YCM,O+$''L$\XJ& [#_A0U@TA &E0F\3PTU1=P3/M0H* M:AVOLUAGS1]"FSVRWP7 IP];8YGF=,2W]:Z-[[Z6;1MPPSK=%"3 UU],#D/E";=F](A&"E"8. @BEV)+P'ER_!'NLP,MX# MN@%/"&+51ANZ!JL2?&R9&6":K(^V4 ?#V.&8A4E3G*.T86_,V+MNJ\$C[,C#):T9M.14>R6& BYWE:5) M >B8))]8+F %7O5#L-KY"VNU)X MAW MR>?O8QQD>)?&(+TCH2[_4LH*G'1:7'@MMF3P\ M EE/?X.;WSYQ AO,#+5]/M#39Z(;032RF7_V0T$:D]H:SD6]DJP%5LLJ*@?7 M=QW!R<8'H>"]X'&&W4"KWTNA5_'*(0EX+9=:\N!=DXA5#.8;"=]A_"R172HW MM " P7S+L!/B>:H-A6#UY7WY/"EOEYCK"W@EC MB] \H$1)FO,5UU(/DO.ZCX*G*([R"%LXJXZP)^8I:!X2; MY/N>ZN)7'&UWM!D%.=-D$5K65T-*@". M;SL/OGB+)GT*JP9OH[B@OPJ&#*A#51%OIA:-!@A#FE+!4TU. L+NBL_FF'#( MRC8G%817*WJ8D-I0'VG% YMO7XG"__I]H"=PW\E8:Y3D4WW"ALEV.X"[Z.=I$ODC!8"+C2UK3;QFL M[/=UX2@]\%0PWMO)G#39]-+U[V4?-\VR0I@UM5%PR6@S\#9-U=)@N&>$**[[ MU--<&=-XAS*N@R*N!))9D@C2XBMTM'QSS! $&U1 LTW$:4NY]*CIG7?MRT?+ M@]DO0TVM'L'H1XF\">)WN^06[ MO7KW4A^B>TWON:7":6"7,D6\_M?3O].L'&&T.O5R0NO2]:%^ MSYMH;Z;/=)'FIWJ)T]9XP"1*6=9TDNMF?*YEI+"RP1^R_J\,(M^A&[R-$C:@ M1C=!?(D-W=*M0AS\4]^^,@(>%?DN)6S7R:=GD!9-UE.$Y MB=9XP;Y'R]C*_(Z,9"G4[>M=;63R\5'KM6^7[X;48#W9+B;4+&70@0FQ&[_+ M!GV%]@RI,^TM%NF:O?.WO]&.U^:37JD[UKT:4IOW8WJ_R=\2KRL>:_WUNC!6/O@^$+-]/H=HW)Z6^JKKA$67Q(!J([T M\I]V4 =[N==[;^K^;!X<&[^9AF_X4G 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#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]BA1NLB>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$,5T#/38+/D50IKM(5RH+%) MV5E?&*;X>+]&^6Y*A^_/45@$<9G=FX[EA2_*MH+/TRPG.(](^=EQ@C<1VYJS MBG+VIF,Q5);^2LV3O]XNHRQ'=_+)A K V3)1S-^:6_7"E2;\8YE+.66L%(7O_M8#R8_@*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*W^W4AR3\=SR3_2%.7S%>8O(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*?@>D^^[-?58A1Q?TP/,A):SE_+Z+\=9ID M.2GXSJ=9OL-DM0N2ZJLJOEGYL2^^LG0FFC>QK'&93WZ9MZ6!UE->0@EP6L)#G: MI 1EE?2[*CL85/KRUGHF>U5E ""OWCP+[LH+@$Y=+6IKYG*?[)VXMVQ'.D[" MC/9+/$;=IT624SMY^U1MN#[+>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\P6J_4O^'(2.WF"_4BEK3. '"7 MG6S^4[&>=WM*VTTZF@67QF MLSY?UT5#!1O;'WP6]#>T^A38I*4X5:=3SRUQD,*2FC^C:T/FR ZFB5].L]]!;^E M2222C/!#ZX%D@$_$I8!?UI%%]FO=2_$.L7.?$(,+\_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-WGO"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!)NW7^$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%T5LB 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 #,ZIC-#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! M0JPK0: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^'&K^4R MO7C9B+(0K2ID(W>:$]%QR6@6[W9?#$F&7*9$$R*<4BO=&(H[T3MNNM.;G#U& M^:$.T'$L76Y05$(I1; N!/O#F_D5B^Y9PLK#R/ER'AE4AICKQ$#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<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,%<8=2%9+/LL=[O@7+HDN;["%E_Z7Q91.&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#JTWC76 MQ")>+]_;;7@7'"I9C#!IW&5)<*+@Q0M84 >]:,_**!%NHGP!7F]OHOP?45(Y M')-'P%%)QH]7XY598D&>$HD'L]I)NO4CYSW?/&"8A*/&-< MFD[[+",MA.!3YW.2Y7RG$VGOG"\M5B!4%12\636>(2DVC\FR./'X2$K+E/'E5SW*ZK1MK)F/&\ M$.%0P:-:_AGE<( [C=)_.^*'K%"HAGR017LH"D +KUV )^LTZ&[\A<6 M\)EI8D%>T?-L0VDLZE'>TI@^[N7#2.LURA#P. HNF7KS:XA18:@A@^4@T&Z"7[.D@CXY+6$G M(*KQ'^/2Y@ I_!\U @YC><1*1FJ3V7FSV\6A3;"+A#TPOE6UM\9S?@0M2K8Q M]T;C]GT2-BHAS6+=\.Q01%J.B[![Q(J.S28(L;C!HS4LM(XKQ\Y75$*RLF;- M\RKVD?!'RM'#)-(ER\6=ZP 9>MGJ[V_NFRLW)"H!C++YACOV; _0B\=]DAUH M[WVIO:CV );R]+0S5N]2G:^HQ&YES=AE%%#@X)2Q0BVHB[+X%F!1<*O0#R3U M%:NXU+O+J\)Q0^8$1"6!,2[=E\;JEE*@!)T Z1[>=JXRG-6E#F[EQN=;P3I !(JR4SA>*C*Z?02VD5QY-[? M%P^5'"Q:17\<*09_LAPQ>OU>MC\GX)7U>PG3PA2L^R)YI"S5'_-!%.)%32 MF,+QT":?P$771J/CV.7;;W#0.QVH /\_D(G,$PV5&*?Q//SD*$19QU:(GP*G M,U-IFNZBE[ZLFB^HQ&&PY4H\548O82)25)HLB.MYHJ8_A0& :GA=W%E*1>JT M7KF"#%-/2M0BXPNCN#^0-:P=SO!N4%02&.?349"-8Q!YBR)Q@AJS+WNZ*<$A M=F0V. %1R62,2\.>5?#M['.=U2OI_&7.=E2"HW:/8T M+P\W"5BC4.N<<[R'L>VKR 145+HPG6^S](JD(.:]BJC=*R)D+ZB(P%JJZ818 M$R9TM,/C@V_*: MZTX$574A:N@LRO/#-LN?X3ULPD[L2P25/%_3@Y']-M/4^-$;,B"TZ>'88.^> ML[M=5A5\L8"B>9 K_^6?-')5-P2L3-KD*'YAJE\A;=0G[25TEC"=6$,V2W8-B[56+[C MYJN6A)'I'B$"3N:8?OO<*>!;QMI*$ MCTI^\;('YZ#%==&/A8^KEI/Z;Z8A5,@DRZ',':"OR(==+R'5HOAI>34=;OKC MJJ=7OUT+)S)=%)7/?>J^HR_X/J72.XH*[\>R(M5'D4TIH!4_P@8J!0H[!JAM M^Z:[->LRVX:A1TY(7*(>8],>#)M)-TY:BT;B!'6S=2S7!@"J\7=QYW:D#;I( MMVKQR8K)Q7E%[S(UF]69IR\!+R144IG"\5"1085,XHJ""Z6<-05Y"'S),0APH^S+)NW$U.GUA6%+/KJHZWKU')CN/J0KXZ8B'$GOHM97PWEVFL^4'G MY#[/HM@^3P9 48EIG,^^?"2&3N8-_N42"4\1<_">'T\<-8R 2DB^W(Z5 (5, M^+_\]!MII9QZ]^GT?OF>W">+2:K3DY:$/!BE3#DG8J?*#*KMA=-VDW^^CR<5O(/<9#GL[&UV[[+K3@BV[;CW MMI2__XI8U*_JD$L]:J)$4344IDNX3GT72(-^S[,"(H"WS*H&K<^(IJV-*^,L M#S!$ @4:6U5Q1VZ(F\-='J5%M &E@(L&"/ \I5!,IY=]: 8Z(MG,X=IZ#_,# MP/ZX(HH@T11)B^2*W MBA%,+).0Z8%>_XMA$:0 A$IB;-R-?9QU-K$%#C[E, M2 .*,CCJ#1C&<;=PYQYYE7A*3HY PP\.&SG=<0U@3U0R=$W+]99/PK- \9\4^4WG5N&0U,2*H MD9I<(+%R]D^8K$ZT_F)JHN#6EH.5CT%IK#UB3>0 MT/B.?!85.[YN/[&8QJ>';P5D8ZV/A2>;DCTY'SW\L1$)<@;39@WRD@ -HHF0 M^P/Y >APR?Y(FD-U0RM$+OGH(%PD5'+5G%YEZ0/XB)U3L6>;!:O'$) X)OCS M:62-'\,,- T-OCI6F2L9['1L! )\!=,N:<+Q01&I+="5-$%7PIDKM!UJ]/6T M*EA*BX(6XD %:XDN?^ EX %\1"OM++9]A-S0J<^48CG6Q'!MIM);;>YF:L%& M).(93$_<3&M2X393W=E;;K%)9832,WKCN+>NR2Y81+(;9;$OJ08!9AR@?!(N MYX 4>&5=;S^S-$HW7$_.LL+N=^:"122241:=JR,72(U"!$YPB9PSF,YI/"*, M&@RE'$SNAD100^/:@6K-F+4#6; 1B6H&TQ-WH&9>!=^!@$OX P;M4Y10<<4' MI4JA*(HPI]*X^T,+\H;F+(O->PSU2G?QLME!R/MM5-*+[99N["]:BW* 2,\" M==S,B%/L5E);6_17I&F:2! X]_1^[&)(GHCE>JK]=*M9(\ ;DR1? M+*+D]SRK]AR#_S^\([*T@A0PXN(F2ZW+XY+M(SJH!^GV\=2^46W-$A$\"G);%1_2-**GI-G\47^S3P0<0T+R;Q M:T]E(]&)Q%=;^HH($G U]BP!0LV?+RS-\E9TM+8PH,0K7VJE P@LL"ZWH3^D M6[U-VF]%&]%L??,N&0<=N\_4BNB69.G<3EL#OE9$M1=(NP;O%S#>*HS?)82^ M/VB*1($VW+*'7;G>\H.P"($\>00WSO]&,MV6\TU_*@U$ IK-NMNM6E#B=BK0 M^I1M/W%J1)#3!S"VX?9J7(FH Q12U_=9X[+5D&@E:# X*B>-$2K(%!ZU:+<3 M.C[SH'D[KZSSSA<7D;0FLVS$K@H"*V+(L::R@OWKGG+!LE#/@H.]_,9-[4*X MVM$8V68YT11K5]85 MT43%78\@VW)O#;7F:_9X3Z^SDK9\=J^I/3O)$ (F\7KQ:0A1.QZ#C)JGEP9Y M1:(M/W^0KK3/JB@7 9)I*[8$SP_E;Q+C#,K/=/D MB7[A)ZN==8:_CB(B37BCCIAY'('L)T&7-(2U?0WDQ"5PNXT5@2IK9)V&\KB= M-A; [-US]GKM4(3>K5+T^7]#7>!D ^F"]F,[RQ[O^4H'/#4%MR]C;OVR+8N: M85'N;7Q!;25MX=^JQ_HEIO7685.:X[:(2+L6ZJA1GTTU2UKMPBN5;IFTFR8J MLY1N7&QY[70\JGWU\*4]614/'T!G3RN6P$O#T56U;NB#:JC9OX44LV[X VCC M%>_EL141VOB@.MCIVD+J!VU^ ,T[IUN:\X]WTXB1W&VHS;V$9=#9Q^/NB;V6PV@EK+-I!IX-(P:+!WRBJ<,947]#M$\8+)G#+ $"1XY]SO*;/-M0 M&A?"\TV&YJ_3JRQ*;4/M@X=(#)/8=0:;P9O7#QI?N.W]2!0)R,L$1$+4,Y0I MVGM9S[I?D"Q&%H:,H(,:),!0RM1IO&W8R9YH?NB/J & ("?V,%^6S#A=R%". MI,W=@#00P']:6!'U&[/5Q70<#=&R,X5;PRVU?6VARXO4^,U+/!;YC<3+#,%C MEIA/_(Q55.$B:6!!,/K1R?12M%.]K%/CU#0-&\GF,I-IES#]R(2??2.7U^@O MG"=>$KMN0Y!O* HIX<&1%F3)\]1'JORP*WXK^NJ7[;L M:(T@F+;'[YLUY.Z3H$/:;9%68Y")H VG&B2B1?!]%6UVPO:X]HEV0Y2T!4[O M^V,G0PM/JG*7Y7"*_Y;&-&^5;H?%K*CKM\.5RRUTO]4EUKQ8JNRYH8H=HCFA[QG MW?ZPJY<)G*F7"9ROBV8VCU:*.(;,KE^GI,36YQ(?T0&SY$,F/! MR3M5834/16#"T4Q>HY$/I*+NOAU3)5NM?D"3M]6[D-;O"!L([ 8,O5_*)A[A MY_VOOTN;QYY-?\RUVJO'BZW@.,UC>YZ53F(6R@&*+&&Q& >;EDXF@DC?YO,^ M-_E,EURP2^U]3C=,L, 9W^>92M%AO]=V ".2XSB/YNUV@[$B'9R DU$^R;L] M/?LPB$3@9,W(; "9M64DH],SLOW3%?\;_UG_Q/\%M@?_Y?\!4$L#!!0 ( M $.%@5A"QO#K%&@ %O+!@ 4 9G-I+3(P,C,Q,C,Q7W!R92YX;6SMO6V3 MXS:R)OK]1NQ_T/I&W#@GXK3M;K^-YYRY&RJ)U=8>E:215.WQ?G&P2$B%,47* M(%E=FE^_ $E)%(E7BE1"U=J8/>ZJ D#DDXF7S$1F_M?_>MT$O1=$8AR%?_OJ M_=???M5#H1?Y.%S_[:O'Q;O^8C :?=6+$S?TW2 *T=^^"J.O_M?__S_^GQ[] M?__U/]^]Z]UC%/A_[0TC[]TH7$7_V9NX&_37WD<4(N(F$?G/WBXG%/H1>9R/#N,^)\DV_NLWWWS^ M_/GK,'IQ/T?DC_AK+]KH#;A(W"2-#Z-]^_IM\?_R[O\5X/"/O[+_\^3&J$?Q M"N._OL;X;U^Q[Q:?_?S=UQ%9?_/AVV_??_./A_'">T8;]QT.&6X>^FK?BXW" MZ_?^YY]__B;[Z[YIK>7K$PGVW_CNF_UT#B/3OV))^]),8OS7.)O>./+<)&.[ M\C,]80OVT[M]LW?L5^_>?WCWW?NO7V/_JSWX&8(D"M E(8)/01G48 ]C)1\9T M9PB5)UZE5$5WWX9JUZ\>Q^B36Z-GV2HS"]1*1S1!MHQ@K M)RAJWL$:B).-!B6Y\CDKQ+*-%C'")Z,A+DXT2UJ4H[=<;#)]6\>$U; MYQV[UBS=5XW]J]:RD[G,$%D\TYNCUG2JC5N_]]#KRG2;_59YRZDW;7DV W>+ M$S?(OJ125CA-6Y[-) K?>5&8T!_H$&NZ R)Z=5)N :IN;7,0K=EV@_S2Q6F0 MQ@F5'<)T<[+);GIT"W?HK*(-]NAF215_%'K*>VT+0[=-;?H4HS]3.BOG16,[ M%C6_Y'VWC7MOQ_=?Z;>7[')YUNQ/1^CD[JXU25[3SN_Q6C-3=>ON3J\U/6'[ MB][OM:9J,D0W=WV]:?+:7N[>KS5'[?X=ZP!Z:UO:J3M]0'O]<-MW>/,V1*W: MH;M;N"9B@O:=WL@-IL;OTN'M7.\8%G:XT-U8:Y9ZG2VZ)^MAW]H'NK<4#U'B MXB">N(30GU]4JJC!"&USS7M&?AJ@Z>H!)<^1/UU1T CR<'D2*L:8C'')F[4A M%QJ-U;K^M=FX9#==S?'Z.7D7K=ZE<7XGV-^SQMA]P@%.=IK,:3Q@9Y+V&/HX MSO!%_IS*^\S=94>WJ;1ICM.)/F0H6O).G2%=5WM,,5:.T-G<]SJ1KIPK.W8V M4[E*9#I]H]$NJA\:RGRSP;KC4JX1&K.#VZVS69[HA#Y:X1 G=(=^0345T920 MQB-WH\6;"I.\5V?\<.($TWLE\N_3)"6HOXE(@O^576R<5WJ[C(UW5.,1+V>U M,.1)@Y$ZXU/5/&'*%47_SN9][V*2O>:CU_\OVD?TLW MR#YEE,^N MN#\AYT;LA>DH9N@]N,K'-G,YZF2?8H MFVK3Q>M.-@W3J6N-TJ&]UU3CT^C:I4;R@MES]?N('"R]Q>WB#H7T\F>\V9H/ MV1EU5!>-0H^>7-D^N']NF]FR3:G2'ZHS:H9HA0C=2NA'\Q.Z="R;DF,P5F?T M3"B.6Q9.01%2=.T.\Y.#J>_2+ MC;8AG4$N0<%!^\G4FV;B8S9XB0>O\<@7\G\;RI7I,!W>6;=4>V3^D\*-W>"JJABA MP[E3A3%%190LLS \,MNQGX5EQ2S,S0U=WS4GJ,FPG5H0WP7,'EX8R@C*PD[9 MQ/*9T"F59MC$PGC&^!:]UC ]B3KX5,>OGDTIU.S>9-99#'.,O*_7T*$41G,7#UD5],_O,4GD=?2 M]'E#RJ:_+3W &M-?G'1!KPG;E?S]0(P$X]0 "4Y8KR)MP_O>.Y;C(67XTG_F M+8L9[><41-[)- )V:$1$ R$?X1PA^H\C0O2'W[,/]9_HS=7U#G%A@?N$@FS\ MWVF;2I-O+C"K/1)+.B)_4J,@P.[5R3:B- ID(@$$RT#13]Q&33[]/L^F\-]X*[Y<%:::.+Y'@)0 M+C50B Y1[!&\+0?X"X ]::F)[P=0?#FT71CF_=J9HS73K3-X#AD@Y/N"H(LF M\-]![A12:H$XT _#U URQ5,._&E+3;R_A\2;1QL0S']/79(@$NQTD*XUU@3[ M!TBP!10"X4TOAV%NP](!O-Y:$_$?02\> AJ!(%\\HR!@*IP;:DDYK[TF[#]! MPBZFTP+@,^/$D!XM^MB7NFC"_Q=;X*]1"\2!&2(X8B8]HH%]K;$FZC]#HBZ@ M$!1O)_1UT3XTU=9_X,&ND <$]3V./3?(9W1/?Q?+X>8TUX4<1.=4D@D*^V_( M)=J@EQKK0@ZBABI(O##@@Y20D\E(=Q5Q:UW(0110%9$7QMP)$YSL6/;=2;IY M.AI.3[&NM]+%&$3I%!$%@NW>TA F+*FP#-]J2UV,071-&7$@. \H/<0-6+#5 MZW^CG0SH6E-=I$%T3"EY(%#/"&;!$@OLJ3>->EM=L$$T2SF!(&@OW=>13ZG* M?/D,)#7HPBZZV(.HE5KD@K" O1(EVZAD+AZPZ!^R&T2^=$M7=-1E!XB^:4 Z M"%/ZOD_ABHO_C'&(WLM8P6VN[2."8X"$3$M@_V &^P=]V$'T4"69EL#^G1GL MW^G##J*+*LF$A'U _SDER^BSP ,M;*P+.8@NJB 1$O#LI)F2+ PNKTZB0KW6 M0Q=Z0!553BRHP.>'O(ZT[UOJX@VHKO*)@\1Y%L6)&_P?O%7=)/GM=3$'5%QE MA%[:P)CSG1DM1$^)*DUT\0715;GD7!I2QF&"7+'XGK;0!11$ >416V^EBRN()BDBZM(;+WM1' N7?NG/VB_80+;5*AD7AO%7@A,Z@T&T MV:1A8:,1>,4$377A!5'_I.1=&.I%]J">1>,_T!LBP<>J;*%W$074]-*"SRHSA.$3'%G]-+EPL@ M:I\NT9?>9Y"7TFUO]_[#TY)%S AVF5HK7:Q!5#X141?&=A(5T5&+W>8I"L3A M(=R&N@B#*'@2TBX,\LD\^/!6FN@""Z+9<9>&.O59(HM\2O3!O+_-'S8>SARU"T4MY>0]=X &=B')B@=ZG M)8C-&;^@H9NXQ0QE^(MZZ.(/Z%"4$POV?IX,Z,&SCN0^\TI#7;0!G\)R20,! M>;%Q@^ NC7&(8NG>4FFH"S+@FUM4E)AP'\]QI'G\6]2Y#FMM;,3 ,(N)!(J[<:A^-R");QWB0!U67M=W$$# M*\6$7ACY:?*,2/G^E$UF1/4VV:,'=2]=+H"HJ[I$PYRMI4A^Z=%ZTDX7;T#% ME$<83,Q4^A1@[SZ(7.F]_*29+KZ 6BB'+!!X[]SP#Y)N$V_'D@\BQ-PG\6&U M:2A$F@/HL@10/S6" L9<$&TV+)@H\O[(TN['I6(S4J.!M)\N:R"#.#4(![H% MQ<= +^3?[>:LM E[IK!$K\D=_= ?\DN11G==_H!F%-*&X<)L&GDKDAF\(])/ M$A3GL(D?$\C:ZS("1"%6$PJ6!H0NW$WB$!*1040W44_. 9U^NIP S3>D)AS" MVQ41\8.$DP;:Z>/ ?%BGI," >8_)9B10?"M-= &%\N]Z!_]P ME@ \I -AGYWUO:)_KQC@;#E9N?%3QHDT?K=VW6V1/3U(XOUOCE)3_.+WP^2F MJX-#>Q;EMC))_O"BNU[O\U= $\J*(AQ*&JKMH)*.&T%ZNEP$E'2P%35G1*$% MZO*CUAPL=[D<7!X'!*2",V+@QL]BW/._@J4PUT(PXLS8$G#W=<5/"!"C+6@. MELB\ ?Q2BL'Y4;@>XCGR$'YA5;4F*%&R1=X++.UY ^[HT _.)%8H/*3#[NC< MQ$PY;066#KT!$WCT@8,^(VCK8K\H[:Q<$H+F8#G2&[!!2C$X/S1/C&8G1?NF MS29[D>*$H'//RUJ/"RS[NLG]5H=P\/5TK">.W!C-\?J9ZE*/,*"H_SZ@4I\TE]C"+_,PYX$76',U6G-URJ=Q-^F2 !SK;3^_XD M"CTS):?< RXMO E[5!2#LX3MO\GN 27/D<_NFG$B"KXI>@@[P"6--V&(@EYP M?JAW+_,=JF-=7X&XA;M0?E5D7O,-6KJOAYU3M@^)^\"EE3?;B514@S,FGY%* M?X',,6]NR7T#NLH8NT\XP E&&KX0;F.X5/7GNT0DU(,OF-+XU MP!:R1>TL,5MQ+X@\13$"77-[V^O,W3'#J[;5N=H>+G>^/I_X5F<^Y>!+CDZ/ MI%20:F1)>2/J I=+_PSVR.D'Y]#^HC-'+RA,U4M'U!XNS7Y3WL@I!V<,O7,B M[0V-VQ@N!7]3EDAH!N?'F$5N3E<#*C%8[=?DMX;+SM^4(S*JP5ER:GW=T[93 M,D?5#RZC?U,VZ2$!SK!Q%*Z7B&R&Z$EC"?$:PV7\;[R"Q#3#\\/@7G;&A:R# M>@#-]S.-F]BUF1P$JU_'8Z#1%:X @;&:JPT$^,JKV1=+1)J95JL=X>H9&+-+ M$P1P9I6W<)U%)6H/5QG!W& D)1F>(T="M$XLR.H)YQCKWL#AE(7"/D>EV[2@$6090E>6*H1@IY9 M@987E%]=QE',+BS3%;W#2"W;9@/!59MHS,MF6('S>(X2%X?(=UP2LEP:)3KH M)975,1&S5:77:3&X6D"4NFC)'3/$57Q0?ZOV'&2O>*67-:C0-]F^U3WA:I(T%0M=-*S-Q##+8'E&"?9*U_:3 MM S?Z:=EZ/W;R7C_?DO3T)G&GR=0>(,]NE! M8AGGS%>A;G_H9!2M<=+ZM5C;^+-B-B8'X+X#=(J*-D^_4Q#L8Y(\AZR(JD89 M9*^!77J99<%TA&.9KNDJ-_U2]89C$.9K#-_+-(;CT+UHUB?#%W^ M42#R;Q\FJM89A!V@+.+9J^A[*L #9H2@4_D5)\^#-$[H-,DA:IK%;='_^5+/ M1Z/!@-4*!0-KYO+&<%FPS\9T.V*!IYD! I$7[*%X$072\U#DOHN[X:W4A!@25,F*Y6=),E,;NN44)$.93W9'-;0]_D M39DAHQF<(1]12*D)1F&<$F:++VB2G#:B#M!IZDS9HJ Z?1HD M?+,.;5#^.W1:.&T<*_.V1("7Q'U! LMP1.^F;)$1&PG.TZ>RRPB&V#OLQZ-P%9%-]N,2><]A%$1KR3M)W?[@J>9,V68&3$?:RF:#LXL* M[T*67?M+#<"3Q)DI+#72P)?"8U(\CJT2(I9^21?P#&^F J\DOQ,97SSC[9:5 M$HZX3_EID],6X)G93*2<1QRXF-]'!.%UF"NDOL6O/;'*&4-)I8;@V>-:^BJ MKQ-\Q6S!:ZIKSIH*(&]S;/OC@-9P2]X"B-@]TO*/#W :C"<%W:4:'8X3? UR;%D M8>PGE!.7><35ON:3QN!IX,P6A81@"YBQ/R#WSWMQF-*#LSA!H[#0.PYI[%#L MO%)B*<0X=,EN1!&(3"(Z4^'HG %7?.6I95','OS1_^9)FS6>G^J/ M )Y%STQP3*$!WVIJ$RXTK#L4(NGK;V5'\+1YQKQ0L)*/S%4;?(J,Q,;,5_4# M3]1W)N_U<+EJUN?1#W*K0[D->)H_LXVX3MX5'[@3E!QO).#.C;$G9IZ@.7@V03,F2HD&OP]7 M9S?$09K(\C0(.X!G"#R/+17"P1GS*V*USI'??Z$J^!I-TLT3(M-5+3&!8@T9 M#@.>\\^,B8U LI6UA00:9.(P'@@\=U\K[%4!!WM'W_YGF7D=UROJNOJ>DNZ U 7CK9@:S( M@SAPX^?[(/I\-)>>)#W\03_I(1NIEP\%G2#]0)118G1.+S!;/9M+]M"N.7>N 9]X['L29\N9&3=\-\0,?#[:T=^UL[TE#.@[LP# M^X+(4Q0CT)/VJ"+%RVB.Z(7"PP$Z\4@MH]:6=3=?@T[2V)IL=PVYA>.EOF&[\+P5;I9V@$T->D+<:X'42 MPY"E:9@SA\MT1>=>)$\790P3MX9.&WD)5DD!L&01YC-"E7EF 4IZ"U)[ .B, ME!=._.GL4<$$&Z\:.79_I[$C9P@W0=$6QHN@DNUG@A@F+TLJ2 M)^G(AKP_=!Y.$&'1@?2JI0H?6":]X<6_#-OC[E_7E$H4+XA;F2302!UQL\]6L#OJ@8*T;IC>T. M3/\)Z8>P+-F2HAMX1MD.!("#RQOC_(R@K8M]C1(,JI[@26L[X#\?G31U(Z3^P^%?DRFYP.\O' D^5V>%[H(&GGI8!-MA177A!BR'W1 M(.#9>[MAN1PS"_G,JZFYEU!)&FSC@<#3 W? ;RWLP'FN_QBAC==7%F0L;NWU MA3ER5_RR6T!L[@UIY[&>="SPI,GM/=?3P Q\5Z G4V$AR6Q?+,67AI]0W@L\ M!?(9_(@,Z(2_^7.-P)1L#R$_2^4V1S[:;'-[IIRSM*=61_!1;\P)SIZ@&%/CWXU:M2 M.0!X%N765Z)SU=:Q^CY" M?^.G#*#\Y9?1QEOO"Y[@N<,=5X04_*%:%=V3MSNL;JGZ193)&.#9HKN[$RN1 MN^[57R7W+HUQB*@TY]&9#-3B+Y*L66:C@&>/[DY8--"[:G'11ZX-LXD%^:); M$Q5SY-Z>E>T01=""E4TZ%GBRZO:L;!J8P=\V3LP-VV)3G*[&;"^D"&1)FO5N MD9+NX%FHS^"0^"*IQ NP@KP_'WC"Z]8Y+T?H MNH6 >PRQU/LEMJ,X6Y,YNCE MEH>@.QA>'5%>_==NS25N['W25NO[1@G[_SFHGU-EM( ME$J2W(3[HJPS*6?1F7W;KZ#!EDI#79YT9FX^ER=9308<8G]4-^ MU*\?4A[R_W/IU?\_>\7(T.5$ZL0:U161=05!6*RHD4@7E!URD:T7_*KHJIU1Z+QZ**:7KIE+/KE!BH1HTU[* M3M U?HQPUR'($LUECA*Z+)'ON"3$X3I6+0E1>^BJ/$W6A9QV<-;T/2_=I '3 M.43%(U7<,A@"NO1.$P8:(P3.TUD&A8IMIZV@*^TTX0R/3G#P^3DF5,R0]X(N MBM.$.3HX@#.KKB.W6Q>]K?&MN1#6%/&:OM0FH%?_+B-[^AY/TR1.W-#G%T [ M.(AJ3:VYCBJY+B+SZADH.O'O(X+P.ARDE*+0VRV)&\:N5Y39RWX*K1(\$/: GUH=E47N_M:M8J>T[#'@#8$%KR!_F!)V MC&4[4Z9E3]#G["]22ZA6=VMNWUKGNRX<5UVS6D!I?M0UYWRMOS5W^X:L%P " MOG#WT8?[.^7^E3L+1AOB.-_>F1-7= G]1173V=X7H&MB:LM VZ!>=1CH24VH MON]GI;[<@+U2&(6%:39;'4_5XMISE)<&0PM$7K"'\I7$RDJMPVR4;#^56-PZ M_S)TX4UMB;P4$\#W,XV< N:9!+H/Q%/Q[VVE!^!O>OM *[9+[G/644E\PJ&B M:G;#X< K9&IS_RR\P)?D=5@/#2)ENJN\>6$#XIN)?#G'@&C"> MMB!WRL-MG MHME$8N1]O8Y>OD&>G\]E]K)E45I!%*?D>*O('X3^_/,/W[__MO>N=VQ!?YBY MN]Y+W*/WDNRA;.BATM_/?_A9GF$NB9Y_%$#Z TMV\RDN??[X]1HS2^)(>VIU M/']!:5#PLA4]XV33//P5^ &4+F2G"^>$@G8?:ZJ1=5Z1E[) M!-*V@J868%Z1CA*P@CFW^MY/#7(_"*H3P4C\>H9VD?> AUPJ-B7\Y704;+@0 M%T;T.*)*2NH&8AFOMH%'6B+5*PJGXEJ;]66%]8'J M^_2N(Q;5DP;PB$H$]62F)=?J)>^[2ZJ@W 7\3(2EV9>:Z9=*;%U3//OV6Z.V M58*UN"(M(,V+]I_AF3 "PV:+[T; M9;G;CA-3,N""!LT77PO1DN6\RVY=&YZ1/Q.>2B-MM-M_"60D M\US:+H]PWTNH?A7LF+=7!32WK3;>[3^_,<-;0NF%8<\4!3HC-@OEUB)LK U\ M^V]>#(!7T'KI:T\4TKE,J#"\K-5[B[BU-O;MO^[0O&RJ* 4$/IM):3%JX<_M MI,V&]A]I-&"#A&Z(#>@P-?UM2-Q%EQ,=/)@P0#G2)0>$*[FOGCV9RF&CM^&\ M#OH0KU:(O<)'2C:9CJ'-MTZT9G.^-S)1]O)[:3.M$/V^#:6(\P%E5NZ$:LTPV@C;K.E'J MVV"=&I\+LY"S 3"+=F&/4'!/N[,VXSJQ#Y@SSA 5\&67Q1,V77&"SMH\Z\3& MT,9BDZ)RZ77F/J6!2\8X3G0\79+FVGSIQ 318"VI*(??\83*L*BM-@\Z,46T MLI]!&D#W^Z@!)Y2=M%G2B5G"G"6:*( '"QPNF_*X[4HS76Y\Z,8MKS(2\2<- M=)A7;H3").*D3??%]^-]B/GW MWWYX.8J1T@.E[*;-CD[TT68+1!N-B]=JX ?A.23+%B4-Q/N^%HC'<@*\(+)C ME1CH"%&(HC0.=KW^9Y?RQ.^5LPI<(BYO/Y_IJD9/C5FG8JC7\R+^POS[^PE) MHO3X+>&?@)MPH>P$Y))SZ? ]5M.M",P=TO^*W]US&\*#+Q.?$MC MJ+2!#371 C$23AX$Y?T$Z"UW%^-8]8A)V!HVN$0 9>UB(B3SPJ@ODC]FQ)N2 M94R<.,%YH;@'E#Q'OH(#>CUAPTN4W# A_]+&WV..%IT-2-(<-KA$R0,EH7#; M_21*?D.'+12IEH1>3]CH$R4[3,B_,&?N*;E1B/8W"WIA$UM%16UA8U&4Z,M) MA,5[F*)EY+PR(PRBMSI66-3+[AC"34@7J3ZJ=XA7VBMDNW=<[%*(53F(C M?JI'@@V;:8&GNF#!\I5N(($;%A,<;;:L;BR=\!,.<+)3W#8:#@4;AG,6JX0< M-X,1[B*O=7.1M8>-Q6F)>6I X#FDJVO5VL,&V73'(5B=K'P@1"BFBDF65YP< M*%7LE2;]82-N6N*@.6"6^(XS;^\2TQ-_+?WG7"Z=PS2>]R68\ MEON&!4TO8MA@GXX'%!8J4P_A%K,Y2%S"LO;P+ATIYF5[AH2*2_N#K]-)J98; MM:OR@KE<;ZY*B(?W^7*D'Q!(]KZ0R&DS>+CUA9M/0:NN^,:YZ^^J95?ZA+!< M35G%EKO=L_CD!N*E(.T _(1 DQ$:-$,L M"NYE7V=EJ#H"/RTXVQX"O4:X,Y.Z2N0]@!\4G,,/6'](-J7'T"?!;KU 7DIP M@I'8PRQI#OLTP(@%,GHA\'=>B3".D:91#P?J0:>Q:MR0 7\;)4IE]C3-7C(FY_$=T@ M(<$2D4T\72V)3[^ON(S*VFNNABZ6@AKVLFZ@I/G2>;:R64AOFY4FFE!WLNT8 M8)=LY%/@6;;2O--8 ?$+2=V-B/,%>1>/H&($?ZR]IHLZ,3&9L0"-=$@FTPV#VG8+*^=)NJ=&-0:;#8\ M(@$WG"79A(GF?E-NJXEZ)P:SQMM-G5C8W48%OJ2Y)OZ=&,C.V6O 6;"_M&H$ MZ0N::D+?B6&LP88C(!4$]F%*\BQ $KR/;32![L0NU@#H*G$@")>LH.MU_\7% M@3CIL*R#MHYD"?A2NJVTSLRB 'MTOC,2'=Y%E:TS/ZFL,_L!>F[H]]@HR*<- M 0PU94J,+#:"CI=YT%M,Q"]/0GG]U^AFC2%'RI:3A[^:4%QX0^//:Q(EQ=04 MQC:#[O88A,[CF02;BV^!JP"]XJ< Q5&0LM[QUUZTR??!.S?&\70U*XU=WP!_ M>/^AN@'>]1>C16]ZWYO-G84S6?:7H^GD_.VNT:-ISV.QQB6.]9_BA$4OC07^R[/4'@^GC9#F:?.S-IN/18.0L;DORC* M&7,TEJ%N_VM;>F:XV+3OJ^^JZ&CO]1[+)B%9$+2YN#7,4AC3G1:AZ18QM3IW,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 MZTBBKU.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) M9]-8+!_@[H3LLIWL\@0GI5_1SA,/M$?V(,:],*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;.: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? %";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@NT9H6IR]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:[7%NAKA,JY&4FXS\W*#Z[4W* ]I!W "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+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-@_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(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&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!,?*^7D1AL7AWQD3UL P\I# MK(;IZ8R/]X?V[D9.N)TADI8VM7'@/:#-$R+\ZY"T U@:G1I6M.X[]&#G%YPV5WR;E?Z MR<@N8S(:=)I#X0$OM+Z88P7.:,'UK'D50XO,)-H MJ?I!YW#3YI0> #9IVRQ8>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%]IE081*NW,3:T$;.+NL[M86[1(5,K1-UG-]4R*2Q19DOX1*V5=KVJ@L?Z9%W*OC*H3[[83Y91^0F'J;&EX;C0>^P9[#P73)OVS'-* M6XOWU5HBK%.0I_F8T._? MS.IBGX^>1=?QTN0=NG&0T WVBS[N)_E9Q;:R?>4IEO>'9[F'7P4^A QK:W>/0,L$K+\@?"OV$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,"PAN0ZD]1V3;+^W50&0[ ME-<6;'R9$7KFDN2D3OC=KOP7P:7B8.G2'^,:;AT-R"KMD/!\%-Y2.(19: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$?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=^'-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+T*X38Z,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()(=*'TH/J:#Y=;-(0!2X^[,V M+Y7+4]C!$O[(9$W%DRX?BM]C$F:""=A?JHRFBL!OS^C,F2C1KC:#]>OI@"NCK!,O[*"7)LW*=UUI!>_,,%KJ MPFZ,1HJ [.(0GI(%(B_8$]TL:%-^2TL.+=-+A9">;L+/])C PAN+R<2R^'A) M<_A(>9E U='GT0#]$FKQC+?;W%W[BQOZ=.BURG(JZ0(97JN4J]I]3D$YO%T[ M"EGD ,ES\N+X#YT7H]).5[J!Z9!6ND!8PBT=_4C:R0YN:4BABD]=:TM+^CBKI /T&04.03JZK2MIMW,CN4.@]TSG_8;R;57K:L4A:W-(J M])6N\K8P;S]!X\VMUM,.YNF*IY)W5?*@+W>E[)]9(FG72W[%R?-^FU!=]#2[ M6[=?"@2TEO/! !SP+;1PS<1SY"'\PG84Y>LZ80_HQT,-&::" ,2D4,IQ^F>* M6;H+YI(^1GG7?XO0Q-U(3 _GC6C'CMK$1'$>W27-\G+,%TU)9L]0]8$W:K0A MTB6^J@CN0B$X3E:F!=1;P;W[T@"J=O4740E^6 W1-HIQ(KG7'UO OT%2/0ZH M'$-5XBQ NUST_E FQ$U0EKQ"GF3E0)3^&-!>QB8L,T6H$V_/ P[Q)MWLOS]# MH1LD._[>)&H+[90T %]"A24K1Z$"Y,4RF8DXCA']'ZMDW5A;X@\&[18U7TMG M8%;B-Z4S+PX^SG$44I.1\H+(4Q2CK"V<&21.IJN/4>27/0R+Z @NSP B[@/M MPC7GO!H!2 9S=]RZ*94VCEDX@RKSF%Y/"\(T#79C$S3 ]V:^[C%$L4?P-B^- M-",X]/#6#8KRI!A);IQ-Q[,@-M1PG9Z'G%6/YM/-)LLJ.^O/?6"*R^>CC+\MWT_MWCPNGUU\LG&56 M%F[L].G/XU'_;C0>+7\[,T49/[+C,*.,$-F;>!;U(&P-E.QAB]@V$JZSZ63L MF:X>"^:(%Z&B&Y0N* 68N\:TZ&]\'-+!<>13W80DH'<>*97]#2L"]:^,.V6@H"+]_ %1P6^8[HZ65;< ) M;6+TX<#597&I YBR>RYK:T1#[^S<&\4XS^N4NT MEE.Y*2[0247LPQ?+_5W@ ^DVMNKO[/2 MGG=X6?(8^I1.]IP+^7/ZG?VU06+&>R\K+? X&8X660X,9]B;.Y-E;];_[8'^ M=W&SW=7S6U']% D$Y\"(%$THFY>?4?""'J(P>9;<8IN/>#T6OW-1 U=-= GX M#;ED^3DZG]N'@:[(E-<0I*MA[OEC]1TIJ^;AU7CW: MM+]A/S44!_%P5V3B.PNPFUG#Q*(+:C+LV*++UWW KM@Y%AH)Y7[X4+U/9T[O M]O+&?2$WYV&Q3PA2,4HVF].>UWT3YJ%@I^99CR*2Z)S?R73.(NGB@NJ; V?T MJ7]'?PUF&/0.=)L\LU_"!:@G+F@X('6]@P-/S,+OJ2^6> M3DK?)$I02:XGLO<@BF[0X0[FZUE*?ZOZI06'*7M>&E)9DCV__%YVAHXFGYS) M)[I.0P5?4)*NT$LPP/4[K'(8XIG[+W^AHD5-H#GZ,:[*BL/SGA MX,?I87IS]_,#W:P)=H,LC"+=;@/IPW5U3^@#\@QF*="PAVW20^RT%?29=08[ MWO!1M2\V<"@RL \A8/$O,K_C#[+S:S:?SISY\K?_Z#E_?QS-F,?Q&$#PRW0\ M/-?_V$;VWVJ>P^?PO]4\O]4\5Y!H7Z++ M-U[SW*K"M1863KMHX=KSS6V7*+-J4]TU,3&6<&00;;8I566URWL*.UB0%*1I M\4$Y!N \NFB->IMJJ2HNA5/ M!WW&Z8:^LM)PJ0UTZMTSZ@K7*(4''ZKNLX4UU*^A[/,0O:" $N@?2XIG,?A* MGBD[0B=(;LXW34PZ.3KN(E>:;K7\=UTUT::=JT*"):M 2(CB!96J'WQ>5L/: MT)IT6<*VON>EFS1@SW;*%:WIOP.401SZYUEK"VJ\TMOP8EOVK%_+>RU][O]CU8UMX+H&+R'_%IW8Y1U)=E^&9H#$]COR">0I=1]@!>#]MQ+3*LE6 ;[-EN97I;%T/2]?P[7XJ#T6 M]';<,H\-,;29_5*=1=4/6FOIF*U\%<:B4_.$?A^MQ*1(#M:_R [6C]/I\-?1 M>)PI):/)T+D?349+EI7[D\-^L>Q//HY8S&66MOMV %^0UJQJCLXKVTH[.]YY MM;%TJY3!OYX]S*AF-I'P96S=ZUBN9(G 'W?UYC5&WM?KZ.4;'^$<>_J/(^3T MA]_':.T&3DAWLYW@-2MM56MT#2#SYMWJ&U0UN/FGA4]+:9/3%L"P\A"K87HZ MXRZ*'CKA[%CN(QY$9!OEI5[&XX',+Z?3#^Q)6@VYFD].GVSPR_#^Y%$?_^"J MJ?@XJ9J-*C1==1)1Q57V4-Q,S4CSD: 556V.-P4)?/G!<1>TL$77_&TM+SA\ MP9NR"85E-SBE7.)K5_2#?M&MS7L] *XZ40G@+J"?6KJSM^/=[0*\C-/M5 > M\[J?N(:D[O6?:^[UBE\(W(?^11FH#G9*B8U5.T1GTKABT#JN&-7I(Y M:IC!]'K;P5MSB=9W-G1F1FN9I7>[!_>?$1D$;AS+0\B-!GG[#*[3#!Y4+IGM M<:X3=Z,,,#<>R YV-Q!S?7[S"8<.0"]N4ZKHC$HS:+-(0T&MOE7ET0YN$ %6 M=P%8UKK^"ZZC',\-)T[PAJG7]VG"+GKUPK-B5_R/]2+9)5>\LUB.'OJLM,[] MX_)Q[O3Z#]/YBX M)*3J>#Q#9/%,5XE"N]$?P8[SL@W=1I]F>,U&8ZX:&H[9*'9PVE2VS9ELE[Y# M9_O)#5)TM\O$64>[$7=Y$RR4T >OM^SG5EP!D11NTX3^.0H]'.1!$&7"E I.9U^T0UB4"T D':WC :T@R50-A=*D MT15IXY1BHQW9I8;+7W?4[O'Y5QG/'A4X!WN &9/!N7A_9JW[18@:!LO9C MP^&@]YZ+RY*X/N07(4+TRQ+=L_& T$]H8,2H#.:5'59L_O=1VNSB(AT/^D4- MB"B4H;Q&22B]G6A%$K+QH%_4P$A"^1F*1=9HF9E._8KFQUJ-]TH0F"CFZ_:X MYH*TOE&O41L6YJZ>3]J>0V$LE(ILARA)'2&(^?ZR5G2T[FL;3RTID_ M](;.;+H8G1W6J2I"6YFW=CE:83^P7#+Y//+@X2AD%A4DRPXF[F%'(5H%8^H) M9J3TO[T5=["FQ?L4+7WOSQ13NEAFJ**Z-48,D73#TI\)%Z2TQNU]?S3O?>J/ M'YT%^W'YR^'H[0_^_CB:.\,\9]2H?S<:CY8CVHS^_?&!_A[8'8)AYG8#:CL8!_ET7!+ MXH9Q+OF2Y$9FHP"?V U97*O[8 X%^PY4*26_H(FIP=L6-;[RXAH_B5H*ZE]TEGFP$TP2_I!3O[2?2W]\3*B*OHVM&'7/N&5 M<^G!&::[KX&74[H3(GL%)O;EEJ!1V4.[^);T+68 M[-LR6[*\MR*>W>^-=)Q92KQG-T8S@CV>M[7M3:#^2>BB5);MDB*>6"B+1[2< M &\8Y5 M= !S5^JDQ542VLGM]#Z("+T%WU%UQU<\1_1&%>ZU <%6I-43^@F%FGG:I%B]KN;(#9@]J%HW MS95D##4?"?I]P9E+40U2)X>0-88LP(R^9]BJKB]&L:VCSR!1-WR*7@D-'9F8 MXUZ4A@G2LZC]4+.H M/3X\].>_9?4=Y]/[45$9=[I8]$:3^^G\(<]\-7?&65:LY71O=^L/!M/'R=*Y MF=[@3&_LK(F9>"!ZW"S<@#V1/SV1G)@M,3&A^B.\B1?0IH"!7\CVMXKC)$LD MB-FJZ 9]<6Z'F5K8='+IDGZ97^R1=E/W@KX"G^^=TD7FK80IE5#2B?JME:8_ MGIT6A?A^:<>HRD.IGS]?WM\.-^(U,_ULXKM)5:F0 -&4 MA&Y"VDG5!YB+9S.BQE<5P3>_HXP9>B)F@2=RXH;1X!EM9"A7VX#I&DV Y1/8 M"9;.I%QD55505M08S&C>2&SE)%^W\_Q]^V\YFV ,X$]7'*#3SR$B\3/>BN]$ ME297?LFI4%/:X ! EUU3:HW@[R5<8>%AV^G-8C)CQZMB0RXW 0MCXT'"VW?K M]'1SJ(5;D^O8.3>Q]H-=]+"44MCJ!OO&7X,VVEXEKT2_N[T2M?B5:'^[#3#R M?XFR3!:#B&QE>X.XM;:>!O"6445C)UONDN!HNMU&)$E#.CD5LI+FNM"V?XJI MH552::7R8%2DWI;'M]S'+NUA.MZMHW@42J\&U3:Z&+;_@$B-(9\><(?^X'O B2I,LU7QG4U)6>G\$PJSPE5?$B7EM+V*,2N0I'>)1 %PP: M1)M-%&8SNU-5".*UU3U#.PO5%XM2%7TAI>![%W]U'W0SJLMZ#-.UQ%5N, 1T M9(:QVUCKS:H$K4Z.];[O9U'B5-$X@WOL$MUD(.B'9LV9V)1B2Y:JQ3ERNPO@ M.'?%7F5^7)8U57(69G\%#^$XES-E(L$1?\ A5<^2W2A,$ 62MP_<[5AF]BA, M*$;TT^N\B9A-9PP)'L-Q+F_/AO.JPWFT0GB:1*QVEIKO;(;+PU?;N_JP;'VC M,$Y(RK[UX"8I$[.LXB$K+,2_YB@[02>>.^M*HPD)^!:;J4FC.$Z1/TQ9P=0\ M8V=68BJ>H,_9GZ0F$[W^T GL9SY"&/)>NCRST)"B19^0=7!AV,\12=Y1C63#*)NN!G2CP(E. MC-=/M1#K7Z;SY;NLUMMX-,ER%P[FSG"TM"?BB]T+3:HWBMK#K+@RA^Y=CV6E MW2E"MB1=['#:R#E265P2:N#CKWB3J^T6>AP:VQ9EI90\#4:-.X^E.I-9#*7Z=R_N81E0;]SPS]D+V9$ M;:$=8[JB5+(=R;]HG<0 M=D^^VY7_(C\@3,:P=Q>2'1DF%'83==*0I:IC@]?6#A:9"Z:$9UT>%@_8#]S0 MS]Y@Q:JM3-@8^K@0"TUI$U.0"KZ9+>G8TU6?:MKA.GL/)]^W!,WMD'_3+4I M3*LA&HU,FL<9L0PDDRATC[\I+VS5HS_C@>S@HU0FJV9/4Q*[V,\FZ'-_35#V M36FX.:<=]"[64-C*<>A"ZF\19NWO79*@LG;>A-^"RCK:)(IT#8O"KJX(*Y$T M!WOLH@XP41()?N$Y//S/?3:#:+.-PFSSTXLWX7>[LDU$CZB2'$&^K3],2Z69 M"9K;P1LMN>.^EJ\1!!UW"?D$F%;4*6W3H!]_G3-P5;\=1 M(7%1_ @7IW4R*67,'+>U'>S0=D+PB8#>N.;H)0I>6+C[R?14.Y>BFZX&UUF, MATR^ZD^_U B [UV\53]("8/B+B(D^LP(<+?T+]Q:.9*]0SP*<&0=;[)CQ?.A M)C!9R=L']Q5OTLV9O!6/ FUC:8NY*IPZ\3<>(TZFJ_N((+P.ZV\-\XH!(1U1 M4+S*?!3HR#DCIC6BT)(5>1K_0$E%_0V;MGCUB7M !]4U66DJ^BUCT%[?F%-] M,E,J?9T8B#D:0K][YR68B-_R8NL2EDT?^G%^BAB5QX;2#CG\S MW2S%M(*O-C;M>$]+<9V27T3JK:&M&4TO'"*ZKSI")'NUOD3D>&^2V7EYC:$C MXIJP4T)U-]DT [QF80/E:Q!51>DFC+WZ/8B_LYF.8>6C-EG9TT88614!<@AY M83OX(*)W6?=8YN8/K)F?3+Q7YN 1]- MSJTH7+/USF8E.:].6@$;/@&*[RDT['68G'G\ MUM#6#2,NR@CNQGQ1^B#;LXI(.Y_]G/T[QN)JP-J=H8T5>CPPH9-GFPVUQFB9QXH8LU?2=&[BAAYB<2JZ-/\NNC=/'Y6+9GPQ'DX^]N_ZX M/QDX^57R=H%LI2;@$*VH%N/?H9#^(YE1?L7':>H7?M0:Q@['MM&R-:00/MJX M/LWC+&OZ*D],M;K;P7))6\T2V'LM>;0WL7M5!6 MDGLID!7B+.\![6IJ"C682"\_1X9HEWI I_)KBG:-Z(NA39N;2O=)'_"D;8TA MKU-^*=#OHY088E[NH@LY["&I1??%$,[J*+N'4'9IUN< ? 5;HU#!ZH7T3Q&D,K0VVQY.QW498Z6%A(FPECR^WA?9_M\+:.0# M5,X*<0\[.".6+RD_RH1TX:!@$L+>3TAK9U?:P-_ Y<)1KI_-)0]<"_K2G:W: MF],M]>?-MZIP_FEZ5:_5GWK)5-"7]/#99[&\)1R\P+XNR3G83I;46\[!R^0< MC V3#L;F60?;WW_-LP[6R;0NV-N9S!Y0Z$>)*^-'O94N%]I_X*YF@XBF;N)- M0WIFN$&R&X\'4@@Y[>!..PT0A71U N-^Z>CL"H;P?6C?XJ^_%5Q" B>S&2)I MJ6:;8BD+6NO"";2DI31V":SB'56]E2Z0[3_GT0;R,L^D-$Z69L?*]^V_.U-# MU\F97U:0!"4EI-/7XN'U3V&UY;.W@ADB8)_K8D MU9P1O,DFI$JC66L(_7! +#JUH'4NB>![$$#FMLYJZ4J=K,TSMEU?NB)+L[UU M5T6Y.><[3?-&A[9*$AA$NAS/VT+OKV=PMDPL^#:[%S/G=8O"&,E?HG(;0X9&;&!1R XZI6EJ[U+P6>L/&>'DL!O0>J3&8E><$S_>A^144@;H*7[6LR\ M>+,LSH/RTWM9'I39?/IIM!A-)[W[Z;PWF@RF#TYOV?]'S_G'S)DLG-Z_W3D3 MYWZT_'?HS"@'PDU>ZTH[ 97RR!^(WR.Z&MR@QD@Q+:?'BZV<+%(K-]@X0D[0FM)S5>> HM.7 O% MM^E'^7Z%\M^AM1X#9"LS/]=T$"5NT/J3@0,Y<^1%+TA4:8/3#%J_,6.$D,ZK MCK8KQ$MP U3N7\)^T$I3X^U+@03)J9,QRW?[0.ILYZ\V0 ;]T M[*=[[0:<_E<[F9QQY:P]Y)LM2>B,_?9 9 M3.?.8#H9C,:C_I)93>EOCD93![S^R%LQDN93&D=QEIE^$(4)#E,2CQP- M!O0">KIK]/?V:78Y35G9S9/&8G%J9?#K,PJWB&DW3\/IR>AT]Q]C]XD5B,92Z^5W,NOET+EWYG-G MF#WQ["\6#BN9/![U[T;CT7+D+&ZO/%NBH["2A6MF0!NXA.Q6$?G,\@XID%ABOIK%'H[ M5:"^I(LU'@V)V%6U!A4 X I#YED+W:"8XP*1%^RAT7RA8I2RHS4FWASX0VUQB903L8Y")_ZA-!U%G[N$66:?E";J^$*<:G1.D M8>T^;0WM&&Z1RR7J[5N>I8R>!BPZZ07ML6V151PT(%?BN5>;:<$E)O:^L=(H)?W/PEYSZIELE*%_2'=AJWN.:E"%U$.9E$"7LZL@[Q MOXZN1OF"K72!=@BWLSZY.-AT9)9\MUI+Z*0]>*!1*VN& T'+&Z8%3OM)%(K! MDGCMOY=Y[21C;SQ=+'J#_GS^V_UT_FM_/KQ%'=V<]C>G_RJ3,WJ9BGRYG[[2[)H94R$%W!M_F(_* 5]K: <7N!(DPKS3RJJ? MH^5SE,9NZ"^?,2NFZ+[^AEPBK;2JZ /MUA$(1[G@JA;5G>A$M4]3C=P8\$H? M:+=, \"Y5%\&E,\P?#,R<>6_Q M2W_N0#\6<%P24D8=Z%1K8.(>,,MN@I)CR5!<6E\:HWRU\1 M7C_3-=:GDW'7:)*R,Y85+J=@Q-,TB1,W]"E"V9(4<]5P&.@MU9#MC4!ZBV)1 M;,@UPHT%0SP0M(^Q'=%0 775PE&%2+$W")I#*R6&C)82_:;86RM$+X6_%:'._5_3#![WQ&)7Y!TVW63G*A_DEVH>Y/EJ-WV5UZ](G^8L;R M_H,_N;W^6S1CT9Y#"^2E)'L9[KQZ04I9G^>O)%7[MJZ>2.OCF4W M;^3-&WFEWLA;JCL3%LWV&NHBB;P_FFURS:YW11<^SK:5;(YY_:4/BORI4I&_K/,L+)83@?_71A4>OW!Z8NHR"N,,SCD*6,SY((J3.&/;DQLC?^;NLK0/:J7MW'%AEG")]X4Q MF$WU./L^U9W#-K<[MBGFWV=K0J$$MO@).RY%[4A09=]H$25X]5-)@H@" M#>VTC;'MD*/6UUY5I%I JB,M."9)28[H3T<9HC_\/F;2 :WJ-CY+".5O2@/*7)1V<[^)/ =L VKL- MM77 J[C2^,7 -@N'720N25I/;WF\4I>IS37LP@+V+^0_4@V8E/18EM$Q=EX1 M\7",9@1[*%M_)=(+,$[:<,233N&R,X"V@;0OMA>'T YIMFGWK3SS4PE]^QN- M? +0CR:O8:O68>$7+_(?"4OD.PKS_ R*6@"=? SZ6:BUHBQA32>Q<*T>.=GD MD0]T9Y!^'?K1JOWW!0WFV:]I"0U(W.75T7G?YB2@,R;!;93ML])^\560?!^1 M%<))RI9WZ#NO6TRR$0XH='>*:WP:.N&4M6>Z-MNL*YK1Z@$S8)5Z@H >,23# M .RBH#L1Z/(=]M\9S%CZ]O=?& /"F=."+DIRO?OV=5PZV"K.W\8-4X+#=3[W M?,67EOAAS@*[T7Y&[[=(0=B3Q M=L5>W[N8?'*#%/7C.-VHTMO]Y5OM*.S[_FC>^]0?/SJ]_F+Q^&!'LKM;1/8M M(OL6D6WI(5O;^6\1V;>([%,QN$5DWR*R;Q'9MXCL6T3VI0_TFLVA?I0\57(ZI8XP,GN@B(J^O@M;OI\UEVOF.J$BV5_ M'%)R#\!T9Q WGL@M5KI=EEJ57;3T3%RCLL-?WM>LV24+MD75YF]6:[[5>ECX M8P0"_RM.GD>ACU^PG[I!7KL$A^O:*F#Q*#-**T$))OE202%:86:N63)QF:Z. MP]"V]+>4//[GM^&'-^!WCHV&H?^2<[!#X*]!-KF+ZI*L M@O%(U-$2>B<$36\BUDS$Q(B"N$-JI=UW=::4!;VD)LDI5; ;%; ;%.L^^\ MR0)BC1VNV?_YA&)6]FG.#*VL'JC'^+%6V&2WL MZ(P^Y.<9>_(' 1'[E3BN;X[8FJ:_I_?1S!9'V=;58X\.Y@CM@[_>Y="9P%SO M&CIFN=+**-G.)Z =]-[=:/)0+OMKU>HSQVA,YO#"Y@4 MR$Y,X'W?Q^Q[C*#L:_$P1)7K)W$<'CI>4!GWWZ[HBUE/+B\ MGZN]"&RBI50T_?6:9.G(1U0'QV&,O8X#)\Z8$GC&;_!E "X/=JR(1C;6/U.< M[$8AA3W-F#!-GA%9/KMA@8V \ARR+@SH9TX(/'NX':L!3A9LBD :N%M,3[M, MW=")0/I0C4 :]&>C97]<1")9$X&4:I,I"EG$SZ ?FCVTJS+X/#%:*["=QH<]T+J3Q20J]*@1OJO)SMYFMV2 Y7 MZELK02.C'_IQ[L$.+@6@8Z,>WEY8".9S@0C!D9D\4^C$E-3.K;Z(T3.C4,Q#$7%?UL_X* MT)3->H#99'(MA8GB."'X*6\@*6+PG:R(P7"T6,Y'=X]6E"N81*'''N5& 1UU MO4]XJ#;#JOH!1312MD0!]G/^HSAFEOY?G^DD=]//(?(7Z5.,?>R2W2Q; ^R7 MA 5F[PEP5BOD)?%T-7AFM\!5] 4+NW&RN2R!PF*,U7+^VN"LIG(=D;]WM#FQX:"6=I.39$"WU\?<)AELMG/5[S8ZBV! M'0<749(JRU$$UYD5-A>)2Q+0&,XJ84/D$43E]IZB?F*36D9\=?V7**#INP0?#.Y8^YP/Z<"VR8O65E)76 HXXI:'E"KG$4Q_TD1X#=AD0(2$R- MYD-!^T@@9+ QXE=\ROUN0=X.&_:;WWF9--Y,,>D)"^BJB6^1IG\9];T_4QQG M\5P2E\SW,I?,9#KI#::3Y7PZ'H\F'WNCR=*9.XME;^Z,^TMGV%M.>_W!WQ]' MBU%6>OKFM+'GS5LUG=V<-E^BW?3FM+E^I\T#O0I&B:OPUM1; MV>VF$5$%KEG=_#,W_\S-/W/SS]S\,[99KF[^F;?DG]DGN"B,403=I3'%(HX1 M6PE[D*]1<<*70OO.(M!JY[Y#U4ORF0Z>$G@IJ^V]-V_)S5MR\Y; M8*868_<)!U318LD%W' W)<4?Z*Z7%(36MC[QO:&]+WR!5MFVV0,N;U4E_C#3 M8_'4NP(_?8N(=) OT?[: &5PR3C:C/>SSY*./*NB(U3]OD23JAZ6X"POJGM+ MF'ML\25:/*OX7'6MN[[GL61"\1QY"+\PM8@B,$B)?*N7]X(NK @A%#HXMBPH M%L09S-$V(EG(S *ML[U-$D_PHRR>8.[,IO-E_X[^M' ^/CB3)7BBIX*DG$8< MKM7V;W$/Z)S[3D@YL?L5^V@4KB*RR02BV,B8+\^AHD!"-QBD<1)MZ&J@%Q$2 M^:F7/4S9IY#3SK_?ZN?L,$.II$&8E;]5+.#MW*;D:-BPSQC2$MGH+P^+4'3[@K9T/4# 0R2*Z2@+IYPVLX2/.C):Y<BBNV&?OG&/D+]U7I673;#!@#]C9 M&AG?OMD$4'!A.%CP7ED"=HFMHM80>O&US44!$N <&B**K(F+ M?4D7:#=2VUQ3HG/5SH8\VQ+=+PJA+(K9RE:IH .TWZG]U2I%YJJY?I)F2\SK M2C-H)U+;'.:BT)BOR;GIZF175G:P)SQ.'>^ ^R9@[[O:YE*=-$O.RUK0'M4\ MMX@D.U8K+F'EZNEOMQNIN]9D#$V._F@]1QO0WG11JE-)6N&KS3#\2$\6PJ8Y M"A]#]D M4Y^9'6/@AJ[O2ARX/\D=N)^==VS3%;[S,1[1$!%I9((*G7^:@P/A>#Z;1CRA:$W?[C#TW$#M@ M)YZH4OC(?Q(2T658\1M[7Z^CEF^RM'MGE MG"A^.#*B^,7O@SX']>*/[&^0+EFEH.S!+Q<L3-&8RS'3+7)FD\);6 MB$2U_(M,M1Q/)Q_?C4>?J";97RR<)=4DYP[][6"O9A9*)=,ORQKG3+/-64OC_ATAO_16XP^3D;W(ZK1+7N#Q\5R^N#,J8IW/YT_]+-"4DS) M>'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*,"9QCE&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&C4_ 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" &9O4@ $ @ $4.0( 9F]R;3$P M+6M?,# R+FIP9U!+ 0(4 Q0 ( $.%@5@N)U?BQQ8 &H$ 0 0 M " 3B# @!F'-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&UL4$L%!@ - T $@, &WI P $! end XML 112 form10-k_htm.xml IDEA: XBRL DOCUMENT 0001069394 2023-01-01 2023-12-31 0001069394 2023-06-30 0001069394 2024-03-29 0001069394 2023-12-31 0001069394 2022-12-31 0001069394 2022-01-01 2022-12-31 0001069394 2021-12-31 0001069394 us-gaap:CommonStockMember 2021-12-31 0001069394 FSI:CapitalInExcessOfParValueMember 2021-12-31 0001069394 us-gaap:RetainedEarningsMember 2021-12-31 0001069394 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-12-31 0001069394 us-gaap:ParentMember 2021-12-31 0001069394 us-gaap:NoncontrollingInterestMember 2021-12-31 0001069394 us-gaap:CommonStockMember 2022-12-31 0001069394 FSI:CapitalInExcessOfParValueMember 2022-12-31 0001069394 us-gaap:RetainedEarningsMember 2022-12-31 0001069394 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-12-31 0001069394 us-gaap:ParentMember 2022-12-31 0001069394 us-gaap:NoncontrollingInterestMember 2022-12-31 0001069394 us-gaap:CommonStockMember 2022-01-01 2022-12-31 0001069394 FSI:CapitalInExcessOfParValueMember 2022-01-01 2022-12-31 0001069394 us-gaap:RetainedEarningsMember 2022-01-01 2022-12-31 0001069394 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-01-01 2022-12-31 0001069394 us-gaap:ParentMember 2022-01-01 2022-12-31 0001069394 us-gaap:NoncontrollingInterestMember 2022-01-01 2022-12-31 0001069394 us-gaap:CommonStockMember 2023-01-01 2023-12-31 0001069394 FSI:CapitalInExcessOfParValueMember 2023-01-01 2023-12-31 0001069394 us-gaap:RetainedEarningsMember 2023-01-01 2023-12-31 0001069394 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-12-31 0001069394 us-gaap:ParentMember 2023-01-01 2023-12-31 0001069394 us-gaap:NoncontrollingInterestMember 2023-01-01 2023-12-31 0001069394 us-gaap:CommonStockMember 2023-12-31 0001069394 FSI:CapitalInExcessOfParValueMember 2023-12-31 0001069394 us-gaap:RetainedEarningsMember 2023-12-31 0001069394 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-12-31 0001069394 us-gaap:ParentMember 2023-12-31 0001069394 us-gaap:NoncontrollingInterestMember 2023-12-31 0001069394 FSI:MendotaLLCMember 2023-01-01 2023-12-31 0001069394 FSI:ENPInvestmentsLLCAndENPMendotaMember 2023-01-01 2023-12-31 0001069394 FSI:ENPPeruMember FSI:UnrelatedPartyMember 2022-01-01 2022-12-31 0001069394 FSI:ENPPeruMember 2022-01-01 2022-12-31 0001069394 FSI:ENPInvestmentsAndENPMendotaMember 2022-01-01 2022-12-31 0001069394 FSI:ENPPeruMember 2023-01-01 2023-12-31 0001069394 FSI:MendotaLLCMember FSI:UnrelatedPartyMember 2023-12-31 0001069394 FSI:FirstTermMember 2023-12-31 0001069394 FSI:SecondTermMember 2023-12-31 0001069394 FSI:ThirdTermMember 2023-12-31 0001069394 FSI:FourthTermMember 2023-12-31 0001069394 us-gaap:ShippingAndHandlingMember 2023-01-01 2023-12-31 0001069394 us-gaap:ShippingAndHandlingMember 2022-01-01 2022-12-31 0001069394 us-gaap:RevenueFromContractWithCustomerMember FSI:ThreePrimaryCustomersMember 2023-01-01 2023-12-31 0001069394 us-gaap:RevenueFromContractWithCustomerMember FSI:ThreePrimaryCustomersMember 2022-01-01 2022-12-31 0001069394 us-gaap:AccountsReceivableMember FSI:ThreePrimaryCustomersMember 2023-01-01 2023-12-31 0001069394 us-gaap:AccountsReceivableMember FSI:ThreePrimaryCustomersMember 2022-01-01 2022-12-31 0001069394 FSI:InvestmentMember 2023-01-01 2023-12-31 0001069394 us-gaap:ComputerEquipmentMember 2023-01-01 2023-12-31 0001069394 us-gaap:MachineryAndEquipmentMember 2023-01-01 2023-12-31 0001069394 us-gaap:OfficeEquipmentMember 2023-01-01 2023-12-31 0001069394 FSI:BoatMember 2023-01-01 2023-12-31 0001069394 us-gaap:BuildingAndBuildingImprovementsMember 2023-01-01 2023-12-31 0001069394 FSI:TrailerMember 2023-01-01 2023-12-31 0001069394 us-gaap:AutomobilesMember 2023-01-01 2023-12-31 0001069394 us-gaap:PatentsMember 2023-01-01 2023-12-31 0001069394 us-gaap:TechnologyEquipmentMember 2023-01-01 2023-12-31 0001069394 us-gaap:LeaseholdImprovementsMember 2023-01-01 2023-12-31 0001069394 us-gaap:CustomerRelationshipsMember 2023-01-01 2023-12-31 0001069394 FSI:SoftwareMember 2023-01-01 2023-12-31 0001069394 us-gaap:BuildingAndBuildingImprovementsMember 2023-12-31 0001069394 us-gaap:AutomobilesMember 2023-12-31 0001069394 us-gaap:ComputerEquipmentMember 2023-12-31 0001069394 us-gaap:OfficeEquipmentMember 2023-12-31 0001069394 us-gaap:MachineryAndEquipmentMember 2023-12-31 0001069394 FSI:TrailerMember 2023-12-31 0001069394 us-gaap:LandMember 2023-12-31 0001069394 us-gaap:LeaseholdImprovementsMember 2023-12-31 0001069394 us-gaap:DevelopedTechnologyRightsMember 2023-12-31 0001069394 us-gaap:BuildingAndBuildingImprovementsMember 2022-12-31 0001069394 us-gaap:AutomobilesMember 2022-12-31 0001069394 us-gaap:ComputerEquipmentMember 2022-12-31 0001069394 us-gaap:OfficeEquipmentMember 2022-12-31 0001069394 us-gaap:MachineryAndEquipmentMember 2022-12-31 0001069394 FSI:TrailerMember 2022-12-31 0001069394 FSI:BoatMember 2022-12-31 0001069394 us-gaap:LeaseholdImprovementsMember 2022-12-31 0001069394 us-gaap:DevelopedTechnologyRightsMember 2022-12-31 0001069394 us-gaap:LandMember 2022-12-31 0001069394 us-gaap:PatentsMember 2023-01-01 2023-12-31 0001069394 us-gaap:PatentsMember 2022-01-01 2022-12-31 0001069394 FSI:EnPInvestmentsCorporationLLCMember 2021-12-31 0001069394 FSI:EnPInvestmentsCorporationLLCMember 2022-01-01 2022-12-31 0001069394 FSI:EnPInvestmentsCorporationLLCMember 2022-12-31 0001069394 FSI:EnPInvestmentsCorporationLLCMember 2023-01-01 2023-12-31 0001069394 FSI:EnPInvestmentsCorporationLLCMember 2023-12-31 0001069394 us-gaap:FiniteLivedIntangibleAssetsMember 2023-12-31 0001069394 FSI:EnpPeruInvestmentsLlcMember 2016-12-31 0001069394 FSI:NanoChemMember 2016-12-31 0001069394 FSI:ENPInvestmentsLLCMember 2016-12-31 0001069394 FSI:NanoChemMember 2022-06-30 0001069394 FSI:ENPPeruMember 2022-06-01 2022-06-30 0001069394 FSI:ENPPeruMember 2022-06-30 0001069394 FSI:EnpnvestmentsLlcMember 2023-12-31 0001069394 FSI:ENPInvestmentsLLCMember 2023-12-31 0001069394 FSI:ENPInvestmentsLLCMember 2023-06-30 0001069394 FSI:AppliedHoldingCorpMember 2018-12-31 0001069394 2021-01-01 2021-12-31 0001069394 2023-10-31 0001069394 FSI:TrioOpportunityCorpMember 2018-12-31 0001069394 FSI:TrioOpportunityCorpMember 2023-04-30 0001069394 us-gaap:CommonClassBMember FSI:TrioOpportunityCorpMember 2018-12-01 2018-12-31 0001069394 us-gaap:CommonClassBMember FSI:TrioOpportunityCorpMember 2018-12-31 0001069394 FSI:FloridaBasedLLCMember 2019-01-31 0001069394 FSI:FloridaBasedLLCMember 2023-01-01 2023-12-31 0001069394 FSI:FloridaBasedLLCMember 2022-01-01 2022-12-31 0001069394 FSI:FloridaBasedLLCMember 2023-12-31 0001069394 FSI:FloridaBasedLLCMember 2022-12-31 0001069394 FSI:LygosIncMember 2020-12-01 2020-12-31 0001069394 FSI:LygosIncMember 2021-01-01 2021-12-31 0001069394 FSI:LygosIncMember 2021-12-31 0001069394 FSI:EnpPeruInvestmentsLlcMember 2023-01-01 2023-12-31 0001069394 FSI:EnpPeruInvestmentsLlcMember 2021-12-31 0001069394 FSI:EnpPeruInvestmentsLlcMember 2022-01-01 2022-12-31 0001069394 FSI:EnpPeruInvestmentsLlcMember 2022-12-31 0001069394 FSI:EnpPeruInvestmentsLlcMember 2023-12-31 0001069394 FSI:FloridaBasedLLCMember 2021-12-31 0001069394 FSI:StockYardAndBankMember FSI:MidlandStatesBankMember FSI:NewAgreementMember 2023-06-30 0001069394 FSI:StockYardAndBankMember FSI:MidlandStatesBankMember FSI:NewAgreementMember 2023-06-01 2023-06-30 0001069394 FSI:StockYardAndBankMember FSI:MidlandStatesBankMember FSI:NewAgreementMember 2023-12-31 0001069394 FSI:StockYardAndBankMember FSI:MidlandStatesBankMember FSI:NewAgreementMember 2022-12-31 0001069394 FSI:StockYardAndBankMember FSI:NewAgreementMember FSI:NanoChemSolutionIncMember 2023-12-31 0001069394 FSI:StockYardAndBankMember us-gaap:NoncontrollingInterestMember 2023-12-31 0001069394 FSI:StockYardAndBankMember FSI:NewAgreementMember FSI:NanoChemSolutionIncMember 2022-12-31 0001069394 FSI:StockBankMember FSI:MidlandStatesBankMember FSI:NewAgreementMember 2023-06-30 0001069394 FSI:StockBankMember FSI:MidlandStatesBankMember FSI:NewAgreementMember 2023-06-01 2023-06-30 0001069394 FSI:StockBankMember FSI:MidlandStatesBankMember FSI:NewAgreementMember 2023-12-31 0001069394 FSI:StockBankMember FSI:MidlandStatesBankMember FSI:NewAgreementMember 2022-12-31 0001069394 us-gaap:RevolvingCreditFacilityMember FSI:StockBankMember FSI:NewAgreementMember FSI:NanoChemSolutionIncMember 2023-12-31 0001069394 us-gaap:RevolvingCreditFacilityMember FSI:StockBankMember FSI:NewAgreementMember FSI:NanoChemSolutionIncMember 2022-12-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:NanoChemSolutionsIncMember 2020-10-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember us-gaap:PrimeRateMember FSI:NanoChemSolutionsIncMember 2020-10-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:NanoChemSolutionsIncMember 2020-10-01 2020-10-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:NanoChemSolutionsIncMember 2023-01-01 2023-12-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:NanoChemSolutionsIncMember 2022-01-01 2022-12-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:NanoChemSolutionsIncMember 2023-12-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:NanoChemSolutionsIncMember 2022-12-31 0001069394 FSI:MidlandBankMember FSI:NanoChemSolutionsIncMember 2020-10-31 0001069394 FSI:MidlandBankMember us-gaap:PrimeRateMember FSI:NanoChemSolutionsIncMember 2020-10-31 0001069394 FSI:MidlandBankMember FSI:NanoChemSolutionsIncMember 2023-01-01 2023-12-31 0001069394 FSI:MidlandBankMember FSI:NanoChemSolutionsIncMember 2022-01-01 2022-12-31 0001069394 FSI:MidlandBankMember FSI:NanoChemSolutionsIncMember 2023-12-31 0001069394 FSI:MidlandBankMember FSI:NanoChemSolutionsIncMember 2022-12-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:ENPMendotaMember 2020-01-31 0001069394 FSI:StockYardsBankTrustMember FSI:EnpRealtyLLCMember 2020-01-01 2020-01-31 0001069394 FSI:StockYardsBankTrustMember us-gaap:PrimeRateMember FSI:EnpRealtyLLCMember 2020-01-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:ENPMendotaMember 2020-01-01 2020-01-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:ENPMendotaMember 2023-01-01 2023-12-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:ENPMendotaMember 2022-01-01 2022-12-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:ENPMendotaMember 2023-12-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:ENPMendotaMember 2022-12-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:NanoChemMember 2022-06-30 0001069394 FSI:StockYardsBankTrustMember FSI:EnpRealtyLLCMember 2022-06-01 2022-06-30 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:ENPPeruInvestmentsMember 2022-06-30 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:NanoChemMember 2023-01-01 2023-12-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:NanoChemMember 2022-01-01 2022-12-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:NanoChemMember 2023-12-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:NanoChemMember 2022-12-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:ENPPeruOneMember 2020-01-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember us-gaap:PrimeRateMember FSI:ENPPeruOneMember 2020-01-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:ENPPeruOneMember 2020-01-01 2020-01-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:ENPPeruOneMember 2022-06-30 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:ENPPeruOneMember 2023-01-01 2023-12-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:ENPPeruOneMember 2022-01-01 2022-12-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:ENPPeruOneMember 2023-12-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:ENPPeruOneMember 2022-12-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:ENPPeruInvestmentsMember 2022-06-01 2022-06-30 0001069394 FSI:TermLoanMember FSI:MidlandBankMember us-gaap:PrimeRateMember FSI:ENPPeruInvestmentsMember 2022-06-30 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:ENPPeruInvestmentsMember 2023-01-01 2023-12-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:ENPPeruInvestmentsMember 2022-01-01 2022-12-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:ENPPeruInvestmentsMember 2023-12-31 0001069394 FSI:TermLoanMember FSI:MidlandBankMember FSI:ENPPeruInvestmentsMember 2022-12-31 0001069394 FSI:TermLoanMember FSI:NanoChemMember 2022-12-31 0001069394 FSI:TermLoanMember FSI:NanoChemMember 2023-01-01 2023-12-31 0001069394 FSI:TermLoanMember FSI:NanoChemMember 2022-01-01 2022-12-31 0001069394 FSI:TermLoanMember FSI:NanoChemMember 2023-12-31 0001069394 FSI:TermLoanMember FSI:MendotaMember 2023-06-30 0001069394 FSI:TermLoanMember FSI:MendotaMember 2023-01-01 2023-12-31 0001069394 FSI:TermLoanMember FSI:MendotaMember 2022-01-01 2022-12-31 0001069394 FSI:TermLoanMember FSI:MendotaMember 2023-12-31 0001069394 FSI:TermLoanMember FSI:MendotaMember 2022-12-31 0001069394 FSI:MidlandStatesBankMember 2023-12-31 0001069394 FSI:MidlandStatesBankMember 2022-12-31 0001069394 FSI:MidlandStatesBankOneMember 2023-12-31 0001069394 FSI:MidlandStatesBankOneMember 2022-12-31 0001069394 FSI:StockYardsBankTrustMember 2023-12-31 0001069394 FSI:StockYardsBankTrustMember 2022-12-31 0001069394 FSI:StockYardsBankTrustOneMember 2023-12-31 0001069394 FSI:StockYardsBankTrustOneMember 2022-12-31 0001069394 FSI:StockYardsBankTrustTwoMember 2023-12-31 0001069394 FSI:StockYardsBankTrustTwoMember 2022-12-31 0001069394 FSI:StockYardsBankTrustThreeMember 2023-12-31 0001069394 FSI:StockYardsBankTrustThreeMember 2022-12-31 0001069394 FSI:StockYardsBankTrustFourMember 2023-12-31 0001069394 FSI:StockYardsBankTrustFourMember 2022-12-31 0001069394 FSI:StockYardsBankTrustFiveMember 2023-12-31 0001069394 FSI:StockYardsBankTrustFiveMember 2022-12-31 0001069394 us-gaap:CanadaRevenueAgencyMember 2023-12-31 0001069394 us-gaap:CanadaRevenueAgencyMember 2022-12-31 0001069394 us-gaap:InternalRevenueServiceIRSMember 2023-12-31 0001069394 us-gaap:InternalRevenueServiceIRSMember 2022-12-31 0001069394 FSI:TwoThousandThirtyTaxYearMember 2023-12-31 0001069394 FSI:TwoThousandThirtyOneYearMember 2023-12-31 0001069394 FSI:TwoThousandThirtyTwoYearMember 2023-12-31 0001069394 FSI:TwoThousandThirtySevenYearMember 2023-12-31 0001069394 FSI:TwoThousandThirtyNineYearMember 2023-12-31 0001069394 FSI:TwoThousandFourtyYearMember 2023-12-31 0001069394 FSI:ConsultantsMember 2023-01-01 2023-12-31 0001069394 FSI:ConsultantsMember 2022-01-01 2022-12-31 0001069394 FSI:EmployeesMember 2023-01-01 2023-12-31 0001069394 FSI:EmployeesMember 2022-01-01 2022-12-31 0001069394 us-gaap:CanadaRevenueAgencyMember 2023-01-01 2023-12-31 0001069394 us-gaap:CanadaRevenueAgencyMember 2022-01-01 2022-12-31 0001069394 srt:MinimumMember 2021-12-31 0001069394 srt:MaximumMember 2021-12-31 0001069394 srt:MinimumMember 2022-01-01 2022-12-31 0001069394 srt:MaximumMember 2022-01-01 2022-12-31 0001069394 srt:MinimumMember 2022-12-31 0001069394 srt:MaximumMember 2022-12-31 0001069394 srt:MinimumMember 2023-01-01 2023-12-31 0001069394 srt:MaximumMember 2023-01-01 2023-12-31 0001069394 srt:MinimumMember 2023-12-31 0001069394 srt:MaximumMember 2023-12-31 0001069394 us-gaap:EmployeeStockOptionMember 2023-01-01 2023-12-31 0001069394 us-gaap:EmployeeStockOptionMember 2022-01-01 2022-12-31 0001069394 FSI:ConsultantStockOptionMember 2022-01-01 2022-12-31 0001069394 FSI:ENPInvestmentsLLCMember 2023-01-01 2023-12-31 0001069394 FSI:ENPInvestmentsLLCMember 2023-12-31 0001069394 FSI:ENPInvestmentsLLCMember 2022-01-01 2022-12-31 0001069394 FSI:ENPInvestmentsLLCMember 2022-12-31 0001069394 FSI:MendotaLLCMember 2023-12-31 0001069394 FSI:ENPInvestmentsLLCMember FSI:OwnershipInterestPurchaseAgreementMember 2021-12-31 0001069394 FSI:ENPInvestmentsLLCMember FSI:OwnershipInterestPurchaseAgreementMember 2022-01-01 2022-12-31 0001069394 FSI:ENPInvestmentsLLCMember FSI:OwnershipInterestPurchaseAgreementMember 2022-12-31 0001069394 FSI:ENPInvestmentsLLCMember FSI:OwnershipInterestPurchaseAgreementMember 2023-01-01 2023-12-31 0001069394 FSI:ENPInvestmentsLLCMember FSI:OwnershipInterestPurchaseAgreementMember 2023-12-31 0001069394 FSI:MendotaLLCMember FSI:OwnershipInterestPurchaseAgreementMember 2022-12-31 0001069394 FSI:MendotaLLCMember FSI:OwnershipInterestPurchaseAgreementMember 2023-01-01 2023-12-31 0001069394 FSI:MendotaLLCMember FSI:OwnershipInterestPurchaseAgreementMember 2023-12-31 0001069394 FSI:ThreeCustomersMember us-gaap:AccountsReceivableMember 2023-12-31 0001069394 FSI:ThreeCustomersMember us-gaap:AccountsReceivableMember 2023-01-01 2023-12-31 0001069394 FSI:ThreeCustomersMember us-gaap:AccountsReceivableMember 2022-12-31 0001069394 FSI:ThreeCustomersMember us-gaap:AccountsReceivableMember 2022-01-01 2022-12-31 0001069394 FSI:EWCPMember FSI:SegmentMember 2023-01-01 2023-12-31 0001069394 FSI:BCPAMember FSI:SegmentMember 2023-01-01 2023-12-31 0001069394 FSI:SegmentMember 2023-01-01 2023-12-31 0001069394 FSI:EWCPMember FSI:SegmentMember 2022-01-01 2022-12-31 0001069394 FSI:BCPAMember FSI:SegmentMember 2022-01-01 2022-12-31 0001069394 FSI:SegmentMember 2022-01-01 2022-12-31 0001069394 country:CA 2023-01-01 2023-12-31 0001069394 country:CA 2022-01-01 2022-12-31 0001069394 FSI:UnitedStatesandAbroadMember 2023-01-01 2023-12-31 0001069394 FSI:UnitedStatesandAbroadMember 2022-01-01 2022-12-31 0001069394 country:CA 2023-12-31 0001069394 country:CA 2022-12-31 0001069394 country:US 2023-12-31 0001069394 country:US 2022-12-31 0001069394 FSI:ConsultantsMember us-gaap:SubsequentEventMember 2024-01-01 2024-01-31 0001069394 FSI:EmployeesMember us-gaap:SubsequentEventMember 2024-01-01 2024-01-31 iso4217:USD shares iso4217:USD shares pure FSI:Segments iso4217:CAD utr:sqft false FY 0001069394 A0 10-K true 2023-12-31 --12-31 2023 false 001-31540 FLEXIBLE SOLUTIONS INTERNATIONAL, INC. 71-1630889 6001 54 Ave. Taber AB CA T1G 1X4 (403) 223-2995 Common Stock, $0.001 par value FSI NYSEAMER No No Yes Yes Non-accelerated Filer true false false false false 19343103 12450532 None Smythe LLP 995 Vancouver, Canada 5017583 6115099 2690241 700000 9843056 9449857 11134889 14419430 1540923 310297 30226692 30994683 13171787 9709288 115293 167222 2280000 2440000 824254 8540 6033960 5458895 2534275 2534275 284794 274289 55471055 51587192 1984592 873904 284131 959856 148292 387763 4485213 4486350 1810479 2818591 59520 58080 1281632 717612 10053859 10302156 55773 109142 260047 500459 6833304 5436465 17202983 16348222 50000000 50000000 0.001 0.001 1000000 1000000 0.01 0.01 12435532 12435532 12426260 12426260 12436 12426 12436 12426 17932015 17523345 -795146 -805799 18053051 15903964 35202356 32633936 3065716 2605034 38268072 35238970 55471055 51587192 38324806 45840469 27987451 31971596 10337355 13868873 2659654 2537783 1205007 1032394 861501 683272 508376 350126 498666 292949 324327 312171 264563 171369 238466 660821 222650 179505 194308 182609 158246 99275 97806 149446 55093 42098 35623 30732 26854 29517 24060 23469 37632 -23091 17869 7337568 6818496 2999787 7050377 4589 505065 341424 335051 113809 132233 3623250 7859085 -250917 -71295 118182 217151 3755985 7713229 980121 691625 2775864 7021604 0.22 0.57 0.22 0.56 12434886 12379316 12489467 12466415 3755985 7713229 10653 -30069 3766638 7683160 980121 691625 2786517 6991535 3755985 7713229 395080 399148 1686319 1277431 6151 8566 51929 50045 505065 341424 4589 17869 -250917 -71295 335051 393199 2338397 -3284541 4124022 1230626 -131864 434964 -700191 -1137 -249628 -239471 38759 6989965 1476903 470000 200000 201034 265001 200000 815714 5411 4990675 1981307 499329 -5669944 -2215635 -1008112 517772 725823 2292819 2686682 3230798 58080 58611 626777 719439 689434 13600 140620 -437949 848326 10653 -30069 892725 79525 6815099 6735574 7707824 6815099 5017583 6115099 2690241 700000 7707824 6815099 119319 158966 498666 292949 12355246 12355 16983648 8882360 -775730 25102633 2602843 27705476 -30069 -30069 -30069 7021604 7021604 691625 7713229 71014 71 140549 140620 140620 689434 689434 399148 399148 399148 12426260 12426 17523345 15903964 -805799 32633936 2605034 35238970 12426260 12426 17523345 15903964 -805799 32633936 2605034 35238970 10653 10653 10653 626777 626777 626777 200000 200000 2775864 2775864 980121 3755985 9272 10 13590 13600 13600 719439 719439 395080 395080 395080 12435532 12436 17932015 18053051 -795146 35202356 3065716 38268072 12435532 12436 17932015 18053051 -795146 35202356 3065716 38268072 <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"> </span></p> <p style="font: 10pt Times New 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 (“consolidated financial statements”) include the accounts of Flexible Solutions International, Inc. (the “Company”), its wholly-owned subsidiaries Flexible Fermentation Ltd., NanoChem Solutions Inc. (“NanoChem”), Flexible Solutions Ltd., Flexible Biomass LP, FS Biomass Inc., NCS Deferred Corp., Natural Chem SEZC Ltd., InnFlex Holdings Inc., ENP Peru Investments LLC (“ENP Peru”), 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 (“317 Mendota”), 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 (“ENP Investments”) and ENP Mendota, LLC (“ENP Mendota”). 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"> </span></p> <p style="font: 10pt Times New 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"> </span></p> <p style="font: 10pt Times New 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"> </span></p> <p style="font: 10pt Times New 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®, 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®, 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 “TPAs”), 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"> </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> 0.80 0.65 0.50 0.9167 0.0833 0.65 0.0833 0.80 0.20 <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"> </span></p> <p style="font: 10pt Times New 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"> </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"> </span></p> <p style="font: 10pt Times New 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"> </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"> </span></p> <p style="font: 10pt Times New 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"> </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"> </span></p> <p style="font: 10pt Times New 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’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"> </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"> </span></p> <p style="font: 10pt Times New 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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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 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"> </span></p> <p style="font: 10pt Times New 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’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"> </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"> </span></p> <p style="font: 10pt Times New 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’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’s financial statements from the subsidiary’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"> </span></p> <p style="font: 10pt Times New 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"> </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"> </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"> </span></p> <p style="font: 10pt Times New 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"> </span></p> <p style="font: 10pt Times New 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’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"> </span></p> <p style="font: 10pt Times New 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’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"> </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"> </span></p> <p style="font: 10pt Times New 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’s common stock issued in exchange for services is valued at estimated fair market value based upon trading prices of the Company’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"> </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 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"> </span></p> <p style="font: 10pt Times New 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 — 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"> </span></p> <p style="font: 10pt Times New 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"> </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"> </span></p> <p style="font: 10pt Times New 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’ equity. The Company’s other comprehensive income is comprised only of unrealized foreign exchange gains and losses related to the translation of subsidiaries’ 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"> </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"> </span></p> <p style="font: 10pt Times New 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"> </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"> </span></p> <p style="font: 10pt Times New 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"> </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"> </span></p> <p style="font: 10pt Times New 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"> </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"> </span></p> <p style="font: 10pt Times New 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"> </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 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"> </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">●</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 – 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"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif"><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">Level 2 – 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"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif"><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">Level 3 — 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"> </span></p> <p style="font: 10pt Times New 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"> </span></p> <p style="font: 10pt Times New 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"> </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"> </span></p> <p style="font: 10pt Times New 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’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’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"> </span></p> <p style="font: 10pt Times New 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’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"> </span></p> <p style="font: 10pt Times New 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"> </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"> </span></p> <p style="font: 10pt Times New 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’s taxable net income by the Company’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"> </span></p> <p style="font: 10pt Times New 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’s policy to provide for uncertain tax positions and the related interest and penalties based upon management’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’s effective tax rate in a given financial statement period may be affected. Interest and penalties associated with the Company’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"> </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 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"> </span></p> <p style="font: 10pt Times New 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’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’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’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’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"> </span></p> <p style="font: 10pt Times New 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"> </span></p> <p style="font: 10pt Times New 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"> </span></p> <p style="font: 10pt Times New 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"> </span></p> <p style="font: 10pt Times New 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"> </span></p> <p style="font: 10pt Times New 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"> </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"> </span></p> <p style="font: 10pt Times New 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’s ownership interest in the voting stock of the investee ranges between 20% and 50%, although other factors, such as representation on the investee’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’s share of the investee’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"> </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"> </span></p> <p style="font: 10pt Times New 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’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"> </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; 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"> </span></p> <p style="font: 10pt Times New 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 – 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"> </span></p> <p style="font: 10pt Times New 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 “Impairment of Long Lived Assets” 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"> </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"> </span></p> <p style="font: 10pt Times New 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"> </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"> </span></p> <p style="font: 10pt Times New 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"> </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"> </span></p> <p style="font: 10pt Times New 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"> </span></p> 680000 0.050 150 300000 0.013 710241 0.0300 150 1000000 0.0385 150 <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"> </span></p> <p style="font: 10pt Times New 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’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"> </span></p> 522033 433015 944811 913890 <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"> </span></p> <p style="font: 10pt Times New 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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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 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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </span></td></tr> </table> 30% Declining balance 20% Declining balance 20% Declining balance 20% Declining balance 10% Declining balance 30% Declining balance Straight-line over 5 years Straight-line over 17 years Straight-line over 10 years Straight-line over lease term Straight-line over 15 years Straight-line over 3 years <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"> </span></p> <p style="font: 10pt Times New 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’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"> </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"> </span></p> <p style="font: 10pt Times New 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’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’s financial statements from the subsidiary’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"> </span></p> <p style="font: 10pt Times New 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"> </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"> </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"> </span></p> <p style="font: 10pt Times New 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"> </span></p> <p style="font: 10pt Times New 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’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"> </span></p> <p style="font: 10pt Times New 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’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"> </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"> </span></p> <p style="font: 10pt Times New 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’s common stock issued in exchange for services is valued at estimated fair market value based upon trading prices of the Company’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"> </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 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"> </span></p> <p style="font: 10pt Times New 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 — 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"> </span></p> <p style="font: 10pt Times New 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"> </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"> </span></p> <p style="font: 10pt Times New 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’ equity. The Company’s other comprehensive income is comprised only of unrealized foreign exchange gains and losses related to the translation of subsidiaries’ 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"> </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"> </span></p> <p style="font: 10pt Times New 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"> </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"> </span></p> <p style="font: 10pt Times New 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"> </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"> </span></p> <p style="font: 10pt Times New 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"> </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"> </span></p> <p style="font: 10pt Times New 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"> </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 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"> </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">●</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 – 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"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif"><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">Level 2 – 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"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif"><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">Level 3 — 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"> </span></p> <p style="font: 10pt Times New 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"> </span></p> <p style="font: 10pt Times New 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"> </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"> </span></p> <p style="font: 10pt Times New 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’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’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"> </span></p> <p style="font: 10pt Times New 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’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"> </span></p> <p style="font: 10pt Times New 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"> </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"> </span></p> <p style="font: 10pt Times New 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’s taxable net income by the Company’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"> </span></p> <p style="font: 10pt Times New 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’s policy to provide for uncertain tax positions and the related interest and penalties based upon management’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’s effective tax rate in a given financial statement period may be affected. Interest and penalties associated with the Company’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"> </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 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"> </span></p> <p style="font: 10pt Times New 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’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’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’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’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"> </span></p> <p style="font: 10pt Times New 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"> </span></p> <p style="font: 10pt Times New 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"> </span></p> <p style="font: 10pt Times New 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"> </span></p> <p style="font: 10pt Times New 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"> </span></p> <p style="font: 10pt Times New 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"> </span></p> 20482798 0.53 27775616 0.61 6561164 0.67 6124424 0.65 <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"> </span></p> <p style="font: 10pt Times New 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’s ownership interest in the voting stock of the investee ranges between 20% and 50%, although other factors, such as representation on the investee’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’s share of the investee’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"> </span></p> Significant influence is generally deemed to exist if the Company’s ownership interest in the voting stock of the investee ranges between 20% and 50%, although other factors, such as representation on the investee’s board of directors, are considered in determining whether the equity method of accounting is appropriate. <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"> </span></p> <p style="font: 10pt Times New 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’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"> </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; 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"> </span></p> <p style="font: 10pt Times New 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 – 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"> </span></p> <p style="font: 10pt Times New 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 “Impairment of Long Lived Assets” 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"> </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"> </span></p> <p style="font: 10pt Times New 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"> </span></p> <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"> </span></p> <p style="font: 10pt Times New 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 (“ROU”) 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’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’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’s leases do not usually provide a readily determinable implicit rate; therefore, an estimate of the Company’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"> </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 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"> </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"> </td> <td colspan="2" style="text-align: right"> </td><td style="padding-bottom: 1.5pt"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 80%">Balance at December 31, 2021</td><td style="width: 2%"> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Balance at December 31, 2021</td><td> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Lease interest expense</td><td> </td> <td style="text-align: left"> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Lease interest expense</td><td> </td> <td style="text-align: left"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1.5pt">Payments</td><td style="padding-bottom: 1.5pt"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Short-term portion</td><td> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </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"> </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"> </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"> </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"> </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"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_498_20231231_zLio0l23jKGi" style="text-align: right"> </td><td style="text-align: left"> </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%"> </td> <td style="width: 1%; text-align: left"> </td><td style="width: 16%; text-align: right">59,520</td><td style="width: 1%; text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </td><td style="border-bottom: Black 1.5pt solid; text-align: right">61,020</td><td style="padding-bottom: 1.5pt; text-align: left"> </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> </td> <td style="text-align: left">$</td><td style="text-align: right">120,540</td><td style="text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </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"> </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"> </span></p> 0.055 <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"> </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"> </td> <td colspan="2" style="text-align: right"> </td><td style="padding-bottom: 1.5pt"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 80%">Balance at December 31, 2021</td><td style="width: 2%"> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Balance at December 31, 2021</td><td> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Lease interest expense</td><td> </td> <td style="text-align: left"> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Lease interest expense</td><td> </td> <td style="text-align: left"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1.5pt">Payments</td><td style="padding-bottom: 1.5pt"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Short-term portion</td><td> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </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"> </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"> </td></tr> </table> 217267 50045 167222 51929 115293 217267 8566 58611 167222 6151 58080 115293 59520 55773 115293 <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"> </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"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_498_20231231_zLio0l23jKGi" style="text-align: right"> </td><td style="text-align: left"> </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%"> </td> <td style="width: 1%; text-align: left"> </td><td style="width: 16%; text-align: right">59,520</td><td style="width: 1%; text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </td><td style="border-bottom: Black 1.5pt solid; text-align: right">61,020</td><td style="padding-bottom: 1.5pt; text-align: left"> </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> </td> <td style="text-align: left">$</td><td style="text-align: right">120,540</td><td style="text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </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"> </td></tr> </table> 59520 61020 120540 5247 115293 <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"> </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> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td></tr> <tr style="vertical-align: bottom"> <td> </td><td> </td> <td colspan="2"> </td><td> </td><td> </td> <td colspan="2"> </td><td> </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%"> </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"> </td><td style="width: 2%"> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </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"> </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"> </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> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td></tr> <tr style="vertical-align: bottom"> <td> </td><td> </td> <td colspan="2"> </td><td> </td><td> </td> <td colspan="2"> </td><td> </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%"> </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"> </td><td style="width: 2%"> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td></tr> </table> 10133249 9739150 290193 289293 9843056 9449857 <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"> </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> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td></tr> <tr style="vertical-align: bottom"> <td style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"> </td><td> </td> <td colspan="2"> </td><td> </td><td> </td> <td colspan="2"> </td><td> </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%"> </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"> </td><td style="width: 2%"> </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"> </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"> </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,452,731</td><td style="padding-bottom: 1.5pt; text-align: left"> </td><td style="padding-bottom: 1.5pt"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </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"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </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"> </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"> </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> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td></tr> <tr style="vertical-align: bottom"> <td style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"> </td><td> </td> <td colspan="2"> </td><td> </td><td> </td> <td colspan="2"> </td><td> </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%"> </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"> </td><td style="width: 2%"> </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"> </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"> </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,452,731</td><td style="padding-bottom: 1.5pt; text-align: left"> </td><td style="padding-bottom: 1.5pt"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </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"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td></tr> </table> 2682158 3806646 8452731 10612784 11134889 14419430 <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"> </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> </td><td> </td> <td colspan="2" id="xdx_484_eus-gaap--PropertyPlantAndEquipmentGross_iI_zJzU5HXXAFA2" style="text-align: center">2023</td><td> </td><td> </td> <td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_zAEMZ1XPhTWc" style="text-align: center">Accumulated</td><td> </td><td> </td> <td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zKd45XXpbAPj" style="text-align: center">2023</td><td> </td></tr> <tr style="vertical-align: bottom"> <td> </td><td style="padding-bottom: 1.5pt"> </td> <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Cost</td><td style="padding-bottom: 1.5pt"> </td><td style="padding-bottom: 1.5pt"> </td> <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Depreciation</td><td style="padding-bottom: 1.5pt"> </td><td style="padding-bottom: 1.5pt"> </td> <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Net</td><td style="padding-bottom: 1.5pt"> </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%"> </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"> </td><td style="width: 2%"> </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"> </td><td style="width: 2%"> </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"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">196,255</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">140,040</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">56,215</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">43,493</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">43,123</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">370</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">134,130</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">121,925</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">12,205</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">10,008,395</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">5,791,615</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">4,216,780</td><td style="text-align: left"> </td></tr> <tr id="xdx_41A_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TrailerMember_zVq6firyuwJ1" style="vertical-align: bottom; background-color: White"> <td>Trailers</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">9,071</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">8,164</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">907</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">440,592</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0855">—</span></td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">440,592</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">88,872</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">88,872</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0859">—</span></td><td style="text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </td><td style="border-bottom: Black 1.5pt solid; text-align: right">103,292</td><td style="padding-bottom: 1.5pt; text-align: left"> </td><td style="padding-bottom: 1.5pt"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </td><td style="border-bottom: Black 1.5pt solid; text-align: right">103,292</td><td style="padding-bottom: 1.5pt; text-align: left"> </td><td style="padding-bottom: 1.5pt"> </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="-sec-ix-hidden: xdx2ixbrl0862">—</span></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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </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"> </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 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> </td><td> </td> <td colspan="2" id="xdx_48C_eus-gaap--PropertyPlantAndEquipmentGross_iI_zv6fW8nK1csb" style="text-align: center">2022</td><td> </td><td> </td> <td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_zItwjS92R3J1" style="text-align: center">Accumulated</td><td> </td><td> </td> <td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zs2glnczE7Ba" style="text-align: center">2022</td><td> </td></tr> <tr style="vertical-align: bottom"> <td> </td><td style="padding-bottom: 1.5pt"> </td> <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Cost</td><td style="padding-bottom: 1.5pt"> </td><td style="padding-bottom: 1.5pt"> </td> <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Depreciation</td><td style="padding-bottom: 1.5pt"> </td><td style="padding-bottom: 1.5pt"> </td> <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Net</td><td style="padding-bottom: 1.5pt"> </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%"> </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"> </td><td style="width: 2%"> </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"> </td><td style="width: 2%"> </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"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">196,255</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">107,055</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">89,200</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">43,432</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">42,663</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">769</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">133,280</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">112,782</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">20,498</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">8,634,063</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">4,891,736</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">3,742,327</td><td style="text-align: left"> </td></tr> <tr id="xdx_419_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TrailerMember_zv4d8beYz2J7" style="vertical-align: bottom; background-color: White"> <td>Trailers</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">8,857</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">7,592</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">1,265</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">34,400</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">27,907</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">6,493</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">88,872</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">88,872</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0892">—</span></td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">100,860</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">100,860</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0895">—</span></td><td style="text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </td><td style="border-bottom: Black 1.5pt solid; text-align: right">384,027</td><td style="padding-bottom: 1.5pt; text-align: left"> </td><td style="padding-bottom: 1.5pt"> </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="-sec-ix-hidden: xdx2ixbrl0897">—</span></td><td style="padding-bottom: 1.5pt; text-align: left"> </td><td style="padding-bottom: 1.5pt"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </td><td style="border-bottom: Black 1.5pt solid; text-align: right">384,027</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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </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"> </span></p> <p style="font: 10pt Times New 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"> </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"> </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"> </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> </td><td> </td> <td colspan="2" id="xdx_484_eus-gaap--PropertyPlantAndEquipmentGross_iI_zJzU5HXXAFA2" style="text-align: center">2023</td><td> </td><td> </td> <td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_zAEMZ1XPhTWc" style="text-align: center">Accumulated</td><td> </td><td> </td> <td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zKd45XXpbAPj" style="text-align: center">2023</td><td> </td></tr> <tr style="vertical-align: bottom"> <td> </td><td style="padding-bottom: 1.5pt"> </td> <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Cost</td><td style="padding-bottom: 1.5pt"> </td><td style="padding-bottom: 1.5pt"> </td> <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Depreciation</td><td style="padding-bottom: 1.5pt"> </td><td style="padding-bottom: 1.5pt"> </td> <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Net</td><td style="padding-bottom: 1.5pt"> </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%"> </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"> </td><td style="width: 2%"> </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"> </td><td style="width: 2%"> </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"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">196,255</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">140,040</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">56,215</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">43,493</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">43,123</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">370</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">134,130</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">121,925</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">12,205</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">10,008,395</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">5,791,615</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">4,216,780</td><td style="text-align: left"> </td></tr> <tr id="xdx_41A_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TrailerMember_zVq6firyuwJ1" style="vertical-align: bottom; background-color: White"> <td>Trailers</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">9,071</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">8,164</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">907</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">440,592</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0855">—</span></td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">440,592</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">88,872</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">88,872</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0859">—</span></td><td style="text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </td><td style="border-bottom: Black 1.5pt solid; text-align: right">103,292</td><td style="padding-bottom: 1.5pt; text-align: left"> </td><td style="padding-bottom: 1.5pt"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </td><td style="border-bottom: Black 1.5pt solid; text-align: right">103,292</td><td style="padding-bottom: 1.5pt; text-align: left"> </td><td style="padding-bottom: 1.5pt"> </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="-sec-ix-hidden: xdx2ixbrl0862">—</span></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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </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"> </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 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> </td><td> </td> <td colspan="2" id="xdx_48C_eus-gaap--PropertyPlantAndEquipmentGross_iI_zv6fW8nK1csb" style="text-align: center">2022</td><td> </td><td> </td> <td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_zItwjS92R3J1" style="text-align: center">Accumulated</td><td> </td><td> </td> <td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zs2glnczE7Ba" style="text-align: center">2022</td><td> </td></tr> <tr style="vertical-align: bottom"> <td> </td><td style="padding-bottom: 1.5pt"> </td> <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Cost</td><td style="padding-bottom: 1.5pt"> </td><td style="padding-bottom: 1.5pt"> </td> <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Depreciation</td><td style="padding-bottom: 1.5pt"> </td><td style="padding-bottom: 1.5pt"> </td> <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Net</td><td style="padding-bottom: 1.5pt"> </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%"> </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"> </td><td style="width: 2%"> </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"> </td><td style="width: 2%"> </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"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">196,255</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">107,055</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">89,200</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">43,432</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">42,663</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">769</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">133,280</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">112,782</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">20,498</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">8,634,063</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">4,891,736</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">3,742,327</td><td style="text-align: left"> </td></tr> <tr id="xdx_419_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TrailerMember_zv4d8beYz2J7" style="vertical-align: bottom; background-color: White"> <td>Trailers</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">8,857</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">7,592</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">1,265</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">34,400</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">27,907</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">6,493</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">88,872</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">88,872</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0892">—</span></td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">100,860</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">100,860</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0895">—</span></td><td style="text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </td><td style="border-bottom: Black 1.5pt solid; text-align: right">384,027</td><td style="padding-bottom: 1.5pt; text-align: left"> </td><td style="padding-bottom: 1.5pt"> </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="-sec-ix-hidden: xdx2ixbrl0897">—</span></td><td style="padding-bottom: 1.5pt; text-align: left"> </td><td style="padding-bottom: 1.5pt"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </td><td style="border-bottom: Black 1.5pt solid; text-align: right">384,027</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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td></tr> </table> 12341605 3896887 8444718 196255 140040 56215 43493 43123 370 134130 121925 12205 10008395 5791615 4216780 9071 8164 907 440592 440592 88872 88872 103292 103292 23365705 10193918 13171787 8775629 3310920 5464709 196255 107055 89200 43432 42663 769 133280 112782 20498 8634063 4891736 3742327 8857 7592 1265 34400 27907 6493 88872 88872 100860 100860 384027 384027 18399675 8690387 9709288 1526319 1103732 4589 <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"> </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> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </td> <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Accumulated <br/> Amortization</td><td style="padding-bottom: 1.5pt"> </td><td style="padding-bottom: 1.5pt"> </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"> </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"> </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"> </td><td style="width: 2%; padding-bottom: 1.5pt"> </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"> </td><td style="width: 2%; font-variant: small-caps; padding-bottom: 1.5pt"> </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"> </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"> </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> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </td> <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Accumulated <br/> Amortization</td><td style="padding-bottom: 1.5pt"> </td><td style="padding-bottom: 1.5pt"> </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"> </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"> </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"> </td><td style="width: 2%; padding-bottom: 1.5pt"> </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"> </td><td style="width: 2%; font-variant: small-caps; padding-bottom: 1.5pt"> </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"> </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"> </span></p> <p style="font: 10pt Times New 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"> </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"> </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> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </td> <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Accumulated <br/> Amortization</td><td style="padding-bottom: 1.5pt"> </td><td style="padding-bottom: 1.5pt"> </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"> </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"> </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"> </td><td style="width: 2%; padding-bottom: 1.5pt"> </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"> </td><td style="width: 2%; font-variant: small-caps; padding-bottom: 1.5pt"> </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"> </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"> </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> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </td> <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Accumulated <br/> Amortization</td><td style="padding-bottom: 1.5pt"> </td><td style="padding-bottom: 1.5pt"> </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"> </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"> </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"> </td><td style="width: 2%; padding-bottom: 1.5pt"> </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"> </td><td style="width: 2%; font-variant: small-caps; padding-bottom: 1.5pt"> </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"> </td></tr> </table> 200444 200444 195725 195725 13699 <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"> </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> </td> <td colspan="2" style="text-align: right"> </td><td> </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"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Indefinite Lived Intangible Assets</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </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">Balance as of December 31, 2022 and 2023</td><td style="padding-bottom: 1.5pt"> </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"> </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"> </span></p> <p style="font: 10pt Times New 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"> </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> </td> <td colspan="2" style="text-align: right"> </td><td> </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%"> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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> </td> <td style="text-align: left"> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </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"> </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"> </span></p> <p style="font: 10pt Times New 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"> </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; 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"> </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"> </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%"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: justify">2025</td><td> </td> <td style="text-align: left"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: justify">2026</td><td> </td> <td style="text-align: left"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: justify">2027</td><td> </td> <td style="text-align: left"> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </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"> </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"> </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> </td> <td colspan="2" style="text-align: right"> </td><td> </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"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Indefinite Lived Intangible Assets</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </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">Balance as of December 31, 2022 and 2023</td><td style="padding-bottom: 1.5pt"> </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"> </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"> </span></p> <p style="font: 10pt Times New 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"> </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> </td> <td colspan="2" style="text-align: right"> </td><td> </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%"> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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> </td> <td style="text-align: left"> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </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"> </td></tr> </table> 2534275 2534275 770000 770000 1830000 160000 1670000 160000 1510000 160000 160000 <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"> </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%"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: justify">2025</td><td> </td> <td style="text-align: left"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: justify">2026</td><td> </td> <td style="text-align: left"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: justify">2027</td><td> </td> <td style="text-align: left"> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </td></tr> </table> 160000 160000 160000 160000 160000 <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"> </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"> </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> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 60%"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left"> </td><td style="width: 16%; text-align: right"> </td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left"> </td><td style="width: 16%; text-align: right"> </td><td style="width: 1%; text-align: left"> </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"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </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"> </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"> </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> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 60%"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left"> </td><td style="width: 16%; text-align: right"> </td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left"> </td><td style="width: 16%; text-align: right"> </td><td style="width: 1%; text-align: left"> </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"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td></tr> </table> 824254 8540 <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"> </span></p> <p style="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: 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">        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’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"> </span></p> <p style="font: 10pt Times New 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’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"> </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"> </td><td style="padding-bottom: 1.5pt"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </td><td id="xdx_49D_20220101__20221231_z5jQSYaOJCOd" style="border-bottom: Black 1.5pt solid; text-align: right"> </td><td style="padding-bottom: 1.5pt; text-align: left"> </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"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Assets acquired:</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">7,330</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">3,750,000</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">150,000</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Liabilities assumed:</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </td><td style="border-bottom: Black 1.5pt solid; text-align: right">883,248</td><td style="padding-bottom: 1.5pt; text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">376,589</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </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"> </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"> </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"> </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 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’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"> </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%"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td>Return of equity</td><td> </td> <td style="text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td>Balance, December 31, 2022</td><td> </td> <td style="text-align: left"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Return of equity</td><td> </td> <td style="text-align: left"> </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> </td> <td style="text-align: left"> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </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"> </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"> </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">)        </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. (“Applied”). 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 – 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"> </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">)        </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. (“Trio”), 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"> </span></p> <p style="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>       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’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"> </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%"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Gain in equity method investment</td><td> </td> <td style="text-align: left"> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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> </td> <td style="text-align: left"> </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"> </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> </td> <td style="text-align: left"> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </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"> </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"> </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"> </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> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td></tr> <tr style="vertical-align: bottom"> <td> </td><td> </td> <td colspan="2"> </td><td> </td><td> </td> <td colspan="2" style="text-align: right"> </td><td> </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%"> </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"> </td><td style="width: 2%"> </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"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">4,668,177</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">4,204,311</td><td style="text-align: left"> </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> </td> <td style="text-align: left">$</td><td style="text-align: right">1,010,128</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td style="text-align: right">615,055</td><td style="text-align: left"> </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"> </span></p> <p style="font: 10pt Times New 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"> </span></p> <p style="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>       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. (“Lygos”), a privately held entity, under a Simple Agreement for Future Equity (“SAFE”) 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"> </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> </b></span></p> 0.50 0.4167 0.0833 0.50 506659 259000 0.35 0.0833 0.0833 <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"> </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"> </td><td style="padding-bottom: 1.5pt"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </td><td id="xdx_49D_20220101__20221231_z5jQSYaOJCOd" style="border-bottom: Black 1.5pt solid; text-align: right"> </td><td style="padding-bottom: 1.5pt; text-align: left"> </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"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Assets acquired:</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">7,330</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">3,750,000</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">150,000</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Liabilities assumed:</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </td><td style="border-bottom: Black 1.5pt solid; text-align: right">883,248</td><td style="padding-bottom: 1.5pt; text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">376,589</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </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"> </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"> </td></tr> </table> 506659 7330 3750000 150000 174582 -2849500 883248 376589 -41538 335051 <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’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"> </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%"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td>Return of equity</td><td> </td> <td style="text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td>Balance, December 31, 2022</td><td> </td> <td style="text-align: left"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Return of equity</td><td> </td> <td style="text-align: left"> </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> </td> <td style="text-align: left"> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </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"> </td></tr> </table> 3822 -3822 22642 22642 -8750 27646 -41538 200000 2023-12 200000 200000 500000 470000 97000 10.00 0.50 <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"> </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%"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Gain in equity method investment</td><td> </td> <td style="text-align: left"> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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> </td> <td style="text-align: left"> </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"> </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> </td> <td style="text-align: left"> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </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"> </td></tr> </table> 3701368 307527 -250000 3758895 505065 -200000 4063960 <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"> </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> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td></tr> <tr style="vertical-align: bottom"> <td> </td><td> </td> <td colspan="2"> </td><td> </td><td> </td> <td colspan="2" style="text-align: right"> </td><td> </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%"> </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"> </td><td style="width: 2%"> </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"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">4,668,177</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">4,204,311</td><td style="text-align: left"> </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> </td> <td style="text-align: left">$</td><td style="text-align: right">1,010,128</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td style="text-align: right">615,055</td><td style="text-align: left"> </td></tr> </table> 16043468 18103070 4668177 4204311 1010128 615055 10260870 12938735 2073813 2423285 500000 500000 1000000 <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"> </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">In June 2023, ENP Investments renewed the line of credit with Stock Yards Bank and Trust (“Stock Yards”), 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"> </span></p> <p style="font: 10pt Times New 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’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"> </span></p> <p style="font: 10pt Times New 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"> </span></p> <p style="font: 10pt Times New 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"> </span></p> <p style="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>In June 2023, the Company renewed the line of credit with Stock Yards Bank and Trust (“Stock Yards”). 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"> </span></p> <p style="font: 10pt Times New 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"> </span></p> <p style="font: 10pt Times New 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"> </span></p> <p style="font: 10pt Times New 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"> </span></p> 500000 4500000 0.50 2000000 0.085 0.075 0.65 2925000 0.35 1575000 1810479 2477794 4000000 0.80 0.50 2000000 0.085 0.075 340797 <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"> </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">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 (“Midland”) 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 (“Harris”) 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"> </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">)        </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"> </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> </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)        </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"> </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"> </p> <p style="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>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"> </span></p> <p style="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>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"> </span></p> <p style="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>       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"> </span></p> <p style="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)        </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"> </span></p> <p style="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)        </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"> </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"> </span></p> <p style="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><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"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </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%"> </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"> </td><td style="width: 2%"> </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"> </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> </td> <td style="text-align: left">$</td><td style="text-align: right">6,154,077</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td style="text-align: right">2,366,598</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">2,686,682</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">3,230,798</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1242">-</span></td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">2,849,500</td><td style="text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </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"> </td><td style="padding-bottom: 2.5pt"> </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"> </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"> </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"> </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"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </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 – Midland States Bank</td><td> </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"> </td><td> </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"> </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 – Midland States Bank</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1256">-</span></td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1257">-</span></td><td style="text-align: left"> </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 – Stock Yards Bank &amp; Trust</td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left"> </td><td style="width: 16%; text-align: right">399,269</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left"> </td><td style="width: 16%; text-align: right">415,430</td><td style="width: 1%; text-align: left"> </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 – Stock Yards Bank &amp; Trust</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">1,004,748</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">1,632,672</td><td style="text-align: left"> </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 – Stock Yards Bank &amp; Trust</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">2,737,232</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">2,813,015</td><td style="text-align: left"> </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 – Stock Yards Bank &amp; Trust</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">250,207</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">256,162</td><td style="text-align: left"> </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 – Stock Yards Bank &amp; Trust</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">1,475,188</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">1,036,798</td><td style="text-align: left"> </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 – Stock Yards Bank &amp; Trust</td><td style="padding-bottom: 1.5pt"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </td><td style="padding-bottom: 1.5pt"> </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="-sec-ix-hidden: xdx2ixbrl1275">—</span></td><td style="padding-bottom: 1.5pt; text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">8,114,936</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">6,154,077</td><td style="text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </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"> </td><td style="padding-bottom: 2.5pt"> </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"> </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"> </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> </b></span></p> 1980947 0.0385 P5Y 0.65 30334 894253 0.0385 5816 450000 P10Y 0.0435 P5Y 0.045 17911 17107 399269 415430 1935000 0.0490 P3Y 0.65 66957 45113 1004747 1632672 3000000 0.0435 P10Y 2849500 122544 62679 2737232 2813015 259000 P10Y 0.054 13877 7077 250207 256162 2000000 0.065 67397 23632 1475188 1036798 3240000 95396 2248292 <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"> </span></p> <p style="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><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"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </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%"> </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"> </td><td style="width: 2%"> </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"> </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> </td> <td style="text-align: left">$</td><td style="text-align: right">6,154,077</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td style="text-align: right">2,366,598</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">2,686,682</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">3,230,798</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1242">-</span></td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">2,849,500</td><td style="text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </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"> </td><td style="padding-bottom: 2.5pt"> </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"> </td></tr> </table> 6154077 2366598 6154077 2366598 2686682 3230798 2849500 725823 2292819 8114936 6154077 <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"> </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"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </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 – Midland States Bank</td><td> </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"> </td><td> </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"> </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 – Midland States Bank</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1256">-</span></td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1257">-</span></td><td style="text-align: left"> </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 – Stock Yards Bank &amp; Trust</td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left"> </td><td style="width: 16%; text-align: right">399,269</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left"> </td><td style="width: 16%; text-align: right">415,430</td><td style="width: 1%; text-align: left"> </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 – Stock Yards Bank &amp; Trust</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">1,004,748</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">1,632,672</td><td style="text-align: left"> </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 – Stock Yards Bank &amp; Trust</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">2,737,232</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">2,813,015</td><td style="text-align: left"> </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 – Stock Yards Bank &amp; Trust</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">250,207</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">256,162</td><td style="text-align: left"> </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 – Stock Yards Bank &amp; Trust</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">1,475,188</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">1,036,798</td><td style="text-align: left"> </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 – Stock Yards Bank &amp; Trust</td><td style="padding-bottom: 1.5pt"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </td><td style="padding-bottom: 1.5pt"> </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="-sec-ix-hidden: xdx2ixbrl1275">—</span></td><td style="padding-bottom: 1.5pt; text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">8,114,936</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">6,154,077</td><td style="text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </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"> </td><td style="padding-bottom: 2.5pt"> </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"> </td></tr> </table> 399269 415430 1004748 1632672 2737232 2813015 250207 256162 1475188 1036798 2248292 8114936 6154077 1281632 717612 6833304 5436465 <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"> </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"> </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> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </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%"> </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"> </td><td style="width: 2%"> </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"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">340,952</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">460,098</td><td style="text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </td><td style="border-bottom: Black 1.5pt solid; text-align: right">151,236</td><td style="padding-bottom: 1.5pt; text-align: left"> </td><td style="padding-bottom: 1.5pt"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </td><td style="border-bottom: Black 1.5pt solid; text-align: right">216,082</td><td style="padding-bottom: 1.5pt; text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">1,245,871</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">1,693,239</td><td style="text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">118,182</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">217,151</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">(172,763</td><td style="text-align: left">)</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">(49,088</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">(78,154</td><td style="text-align: left">)</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">(22,207</td><td style="text-align: left"> </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"> </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="-sec-ix-hidden: xdx2ixbrl1314">-</span></td><td style="padding-bottom: 1.5pt; text-align: left"> </td><td style="padding-bottom: 1.5pt"> </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="-sec-ix-hidden: xdx2ixbrl1315">-</span></td><td style="padding-bottom: 1.5pt; text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </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,295</td><td style="padding-bottom: 1.5pt; text-align: left"> </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"> </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"> </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"> </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"> </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’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"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </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"> </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"> </td><td style="width: 2%; color: black"> </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"> </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"> </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">30.50</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">%</td><td style="color: black; padding-bottom: 1.5pt"> </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">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"> </td> <td style="color: black; text-align: left"> </td><td style="color: black; text-align: right">1,105,091</td><td style="color: black; text-align: left"> </td><td style="color: black"> </td> <td style="color: black; text-align: left"> </td><td style="color: black; text-align: right">2,397,021</td><td style="color: black; text-align: left"> </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"> </td> <td style="color: black; text-align: left"> </td><td style="color: black; text-align: right">362,554</td><td style="color: black; text-align: left"> </td><td style="color: black"> </td> <td style="color: black; text-align: left"> </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"> </td> <td style="color: black; text-align: left"> </td><td style="color: black; text-align: right">(1,585,427</td><td style="color: black; text-align: left">)</td><td style="color: black"> </td> <td style="color: black; text-align: left"> </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"> </td> <td style="color: black; text-align: left"> </td><td style="color: black; text-align: right">(92,379</td><td style="color: black; text-align: left">)</td><td style="color: black"> </td> <td style="color: black; text-align: left"> </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"> </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">77,426</td><td style="padding-bottom: 1.5pt; color: black; text-align: left"> </td><td style="color: black; padding-bottom: 1.5pt"> </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">(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"> </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"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="color: red"> </td><td style="color: red"> </td> <td style="color: red; text-align: left"> </td><td style="color: red; text-align: right"> </td><td style="color: red; text-align: left"> </td><td style="color: black"> </td> <td style="color: black; text-align: left"> </td><td style="color: black; text-align: right"> </td><td style="color: black; text-align: left"> </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"> </td> <td style="color: black; text-align: left"> </td><td style="color: black; text-align: right">118,182</td><td style="color: black; text-align: left"> </td><td style="color: black"> </td> <td style="color: black; text-align: left"> </td><td style="color: black; text-align: right">217,151</td><td style="color: black; text-align: left"> </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"> </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">(250,917</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">)</td><td style="color: black; padding-bottom: 1.5pt"> </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">(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"> </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"> </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"> </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"> </span></p> <p style="font: 10pt Times New 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"> </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"> </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"> </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> </td><td style="padding-bottom: 1.5pt"> </td> <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2023</td><td style="padding-bottom: 1.5pt"> </td><td style="padding-bottom: 1.5pt"> </td> <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="color: black">Canada</td><td style="color: black"> </td> <td style="color: black; text-align: left"> </td><td style="color: black; text-align: right"> </td><td style="color: black; text-align: left"> </td><td style="color: black"> </td> <td style="color: black; text-align: left"> </td><td style="color: black; text-align: right"> </td><td style="color: black; text-align: left"> </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"> </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"> </td><td style="width: 2%; color: black"> </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"> </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"> </td> <td style="color: black; text-align: left"> </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"> </td><td style="color: black"> </td> <td style="color: black; text-align: left"> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"> </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"> </td><td style="color: black; padding-bottom: 1.5pt"> </td> <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="color: black"> </td><td style="color: black"> </td> <td style="color: black; text-align: left"> </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"> </td><td style="color: black"> </td> <td style="color: black; text-align: left"> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"> </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"> </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"> </td><td style="color: black; padding-bottom: 1.5pt"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="color: black"> </td><td style="color: black"> </td> <td style="color: black; text-align: left"> </td><td style="color: black; text-align: right"> </td><td style="color: black; text-align: left"> </td><td style="color: black"> </td> <td style="color: black; text-align: left"> </td><td style="color: black; text-align: right"> </td><td style="color: black; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="color: black">US</td><td style="color: black"> </td> <td style="color: black; text-align: left"> </td><td style="color: black; text-align: right"> </td><td style="color: black; text-align: left"> </td><td style="color: black"> </td> <td style="color: black; text-align: left"> </td><td style="color: black; text-align: right"> </td><td style="color: black; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="color: black; padding-bottom: 1.5pt"> </td><td style="color: black; padding-bottom: 1.5pt"> </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">2023</td><td style="padding-bottom: 1.5pt; color: black; text-align: left"> </td><td style="color: black; padding-bottom: 1.5pt"> </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">2022</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">Net operating loss carryforwards</td><td style="color: black"> </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"> </td><td style="color: black"> </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"> </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"> </td> <td style="color: black; text-align: left"> </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"> </td> <td style="color: black; text-align: left"> </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"> </td> <td style="color: black; text-align: left"> </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"> </td><td style="color: black"> </td> <td style="color: black; text-align: left"> </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"> </td> <td style="color: black; text-align: left"> </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"> </td> <td style="color: black; text-align: left"> </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"> </td> <td style="color: black; text-align: left"> </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"> </td><td style="color: black"> </td> <td style="color: black; text-align: left"> </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"> </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"> </td> <td style="color: black; text-align: left"> </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"> </td><td style="color: black"> </td> <td style="color: black; text-align: left"> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"> </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"> </td><td style="color: black; padding-bottom: 1.5pt"> </td> <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"> </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"> </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"> </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"> </td><td style="color: black; padding-bottom: 1.5pt"> </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"> </span></p> <p style="font: 10pt Times New 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"> </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> </td><td style="padding-bottom: 1.5pt"> </td> <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: right">Loss</td><td style="padding-bottom: 1.5pt"> </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%"> </td> <td style="width: 1%; text-align: left"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: right">2031</td><td> </td> <td style="text-align: left"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: right">2032</td><td> </td> <td style="text-align: left"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: right">2037</td><td> </td> <td style="text-align: left"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: right">2039</td><td> </td> <td style="text-align: left"> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </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"> </span></p> <p style="font: 10pt Times New 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"> </span></p> <p style="font: 10pt Times New 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"> </span></p> <p style="font: 10pt Times New 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’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"> </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"> </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> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </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%"> </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"> </td><td style="width: 2%"> </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"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">340,952</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">460,098</td><td style="text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </td><td style="border-bottom: Black 1.5pt solid; text-align: right">151,236</td><td style="padding-bottom: 1.5pt; text-align: left"> </td><td style="padding-bottom: 1.5pt"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </td><td style="border-bottom: Black 1.5pt solid; text-align: right">216,082</td><td style="padding-bottom: 1.5pt; text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">1,245,871</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">1,693,239</td><td style="text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">118,182</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">217,151</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">(172,763</td><td style="text-align: left">)</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">(49,088</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">(78,154</td><td style="text-align: left">)</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">(22,207</td><td style="text-align: left"> </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"> </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="-sec-ix-hidden: xdx2ixbrl1314">-</span></td><td style="padding-bottom: 1.5pt; text-align: left"> </td><td style="padding-bottom: 1.5pt"> </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="-sec-ix-hidden: xdx2ixbrl1315">-</span></td><td style="padding-bottom: 1.5pt; text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </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,295</td><td style="padding-bottom: 1.5pt; text-align: left"> </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"> </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"> </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"> </td></tr> </table> 753683 1017059 340952 460098 151236 216082 1245871 1693239 1127689 1476088 118182 217151 -172763 -49088 -78154 -22207 -250917 -71295 -132735 145856 <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’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"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </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"> </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"> </td><td style="width: 2%; color: black"> </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"> </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"> </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">30.50</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">%</td><td style="color: black; padding-bottom: 1.5pt"> </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">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"> </td> <td style="color: black; text-align: left"> </td><td style="color: black; text-align: right">1,105,091</td><td style="color: black; text-align: left"> </td><td style="color: black"> </td> <td style="color: black; text-align: left"> </td><td style="color: black; text-align: right">2,397,021</td><td style="color: black; text-align: left"> </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"> </td> <td style="color: black; text-align: left"> </td><td style="color: black; text-align: right">362,554</td><td style="color: black; text-align: left"> </td><td style="color: black"> </td> <td style="color: black; text-align: left"> </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"> </td> <td style="color: black; text-align: left"> </td><td style="color: black; text-align: right">(1,585,427</td><td style="color: black; text-align: left">)</td><td style="color: black"> </td> <td style="color: black; text-align: left"> </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"> </td> <td style="color: black; text-align: left"> </td><td style="color: black; text-align: right">(92,379</td><td style="color: black; text-align: left">)</td><td style="color: black"> </td> <td style="color: black; text-align: left"> </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"> </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">77,426</td><td style="padding-bottom: 1.5pt; color: black; text-align: left"> </td><td style="color: black; padding-bottom: 1.5pt"> </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">(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"> </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"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="color: red"> </td><td style="color: red"> </td> <td style="color: red; text-align: left"> </td><td style="color: red; text-align: right"> </td><td style="color: red; text-align: left"> </td><td style="color: black"> </td> <td style="color: black; text-align: left"> </td><td style="color: black; text-align: right"> </td><td style="color: black; text-align: left"> </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"> </td> <td style="color: black; text-align: left"> </td><td style="color: black; text-align: right">118,182</td><td style="color: black; text-align: left"> </td><td style="color: black"> </td> <td style="color: black; text-align: left"> </td><td style="color: black; text-align: right">217,151</td><td style="color: black; text-align: left"> </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"> </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">(250,917</td><td style="padding-bottom: 1.5pt; color: black; text-align: left">)</td><td style="color: black; padding-bottom: 1.5pt"> </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">(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"> </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"> </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"> </td></tr> </table> 3623250 7859085 0.3050 0.3050 1105091 2397021 362554 -243167 -1585427 -2004041 -92379 -226611 77426 -222654 -132735 145856 118182 217151 -250917 -71295 -132735 145856 1127689 1476088 <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"> </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> </td><td style="padding-bottom: 1.5pt"> </td> <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2023</td><td style="padding-bottom: 1.5pt"> </td><td style="padding-bottom: 1.5pt"> </td> <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="color: black">Canada</td><td style="color: black"> </td> <td style="color: black; text-align: left"> </td><td style="color: black; text-align: right"> </td><td style="color: black; text-align: left"> </td><td style="color: black"> </td> <td style="color: black; text-align: left"> </td><td style="color: black; text-align: right"> </td><td style="color: black; text-align: left"> </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"> </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"> </td><td style="width: 2%; color: black"> </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"> </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"> </td> <td style="color: black; text-align: left"> </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"> </td><td style="color: black"> </td> <td style="color: black; text-align: left"> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"> </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"> </td><td style="color: black; padding-bottom: 1.5pt"> </td> <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="color: black"> </td><td style="color: black"> </td> <td style="color: black; text-align: left"> </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"> </td><td style="color: black"> </td> <td style="color: black; text-align: left"> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"> </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"> </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"> </td><td style="color: black; padding-bottom: 1.5pt"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="color: black"> </td><td style="color: black"> </td> <td style="color: black; text-align: left"> </td><td style="color: black; text-align: right"> </td><td style="color: black; text-align: left"> </td><td style="color: black"> </td> <td style="color: black; text-align: left"> </td><td style="color: black; text-align: right"> </td><td style="color: black; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="color: black">US</td><td style="color: black"> </td> <td style="color: black; text-align: left"> </td><td style="color: black; text-align: right"> </td><td style="color: black; text-align: left"> </td><td style="color: black"> </td> <td style="color: black; text-align: left"> </td><td style="color: black; text-align: right"> </td><td style="color: black; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="color: black; padding-bottom: 1.5pt"> </td><td style="color: black; padding-bottom: 1.5pt"> </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">2023</td><td style="padding-bottom: 1.5pt; color: black; text-align: left"> </td><td style="color: black; padding-bottom: 1.5pt"> </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">2022</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">Net operating loss carryforwards</td><td style="color: black"> </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"> </td><td style="color: black"> </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"> </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"> </td> <td style="color: black; text-align: left"> </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"> </td> <td style="color: black; text-align: left"> </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"> </td> <td style="color: black; text-align: left"> </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"> </td><td style="color: black"> </td> <td style="color: black; text-align: left"> </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"> </td> <td style="color: black; text-align: left"> </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"> </td> <td style="color: black; text-align: left"> </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"> </td> <td style="color: black; text-align: left"> </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"> </td><td style="color: black"> </td> <td style="color: black; text-align: left"> </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"> </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"> </td> <td style="color: black; text-align: left"> </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"> </td><td style="color: black"> </td> <td style="color: black; text-align: left"> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"> </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"> </td><td style="color: black; padding-bottom: 1.5pt"> </td> <td style="border-bottom: Black 1.5pt solid; color: black; text-align: left"> </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"> </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"> </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"> </td><td style="color: black; padding-bottom: 1.5pt"> </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> 855176 891954 30916 47279 886092 939233 886092 939233 -11346 -6070 7676 248701 486713 284794 274289 24747 226170 3718155 3878060 <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"> </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> </td><td style="padding-bottom: 1.5pt"> </td> <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: right">Loss</td><td style="padding-bottom: 1.5pt"> </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%"> </td> <td style="width: 1%; text-align: left"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: right">2031</td><td> </td> <td style="text-align: left"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: right">2032</td><td> </td> <td style="text-align: left"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: right">2037</td><td> </td> <td style="text-align: left"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: right">2039</td><td> </td> <td style="text-align: left"> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </td></tr> </table> 407947 941856 615878 1692555 48048 11871 3718155 <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">  </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"> </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> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td></tr> <tr style="vertical-align: bottom"> <td> </td><td> </td> <td colspan="2"> </td><td> </td><td> </td> <td colspan="2"> </td><td> </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%"> </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"> </td><td style="width: 2%"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td>Weighted average common shares outstanding:</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">12,434,886</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">12,379,316</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">12,489,467</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">12,466,415</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </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> </td> <td style="text-align: left">$</td><td style="text-align: right">0.22</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td style="text-align: right">0.57</td><td style="text-align: left"> </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"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </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"> </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; 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, “Stock Options” 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"> </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> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 60%"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left"> </td><td style="width: 16%; text-align: right"> </td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left"> </td><td style="width: 16%; text-align: right"> </td><td style="width: 1%; text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </td><td style="border-bottom: Black 1.5pt solid; text-align: right">740,000</td><td style="padding-bottom: 1.5pt; text-align: left"> </td><td style="padding-bottom: 1.5pt"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </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"> </span></p> <p style="font: 10pt Times New 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"> </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"> </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> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td></tr> <tr style="vertical-align: bottom"> <td> </td><td> </td> <td colspan="2"> </td><td> </td><td> </td> <td colspan="2"> </td><td> </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%"> </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"> </td><td style="width: 2%"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td>Weighted average common shares outstanding:</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">12,434,886</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">12,379,316</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">12,489,467</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">12,466,415</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </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> </td> <td style="text-align: left">$</td><td style="text-align: right">0.22</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td style="text-align: right">0.57</td><td style="text-align: left"> </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"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td></tr> </table> 2775864 7021604 12434886 12379316 12489467 12466415 0.22 0.57 0.22 0.56 <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"> </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> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 60%"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left"> </td><td style="width: 16%; text-align: right"> </td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left"> </td><td style="width: 16%; text-align: right"> </td><td style="width: 1%; text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </td><td style="border-bottom: Black 1.5pt solid; text-align: right">740,000</td><td style="padding-bottom: 1.5pt; text-align: left"> </td><td style="padding-bottom: 1.5pt"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </td></tr> </table> 740000 1304000 0 0 0 0 <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"> </span></p> <p style="font: 10pt Times New 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 (“Plan”). 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’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"> </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’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"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td></tr> <tr style="vertical-align: bottom"> <td style="font-size: 12pt"> </td><td style="font-size: 12pt"> </td> <td colspan="2" style="font-size: 12pt"> </td><td style="font-size: 12pt"> </td><td style="font-size: 12pt"> </td> <td colspan="2" style="font-size: 12pt"> </td><td style="font-size: 12pt"> </td><td style="font-size: 12pt"> </td> <td colspan="2" style="font-size: 12pt"> </td><td style="font-size: 12pt"> </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%"> </td> <td style="width: 1%; text-align: left"> </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"> </td><td style="width: 2%"> </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> – <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"> </td><td style="width: 2%"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td>Granted</td><td> </td> <td style="text-align: left"> </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"> </td><td> </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> – <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"> </td><td> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Cancelled or expired</td><td> </td> <td style="text-align: left"> </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> </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> – <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"> </td><td> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1.5pt">Exercised</td><td style="padding-bottom: 1.5pt"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </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> – <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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Balance, December 31, 2022</td><td> </td> <td style="text-align: left"> </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"> </td><td> </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> – <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"> </td><td> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Cancelled or expired</td><td> </td> <td style="text-align: left"> </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> </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> – <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"> </td><td> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </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"> </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_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"> </td><td style="padding-bottom: 1.5pt"> </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> – <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"> </td><td style="padding-bottom: 1.5pt"> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </td><td style="padding-bottom: 1.5pt"> </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> – <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"> </td><td style="padding-bottom: 1.5pt"> </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"> </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"> </span></p> <p style="font: 10pt Times New 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"> </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"> </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"> </td><td style="padding-bottom: 1.5pt"> </td> <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 80%; text-align: left">Expected life – years</td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Interest rate</td><td> </td> <td style="text-align: left"> </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> – <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> </td> <td style="text-align: left"> </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> </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> – <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"> </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"> </span></p> <p style="font: 10pt Times New 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 – <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 – $<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 – <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 – $<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 – <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"> </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; 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"> </span></p> <p style="font: 10pt Times New 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 – $<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"> </span></p> 1 P5Y P5Y <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’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"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td></tr> <tr style="vertical-align: bottom"> <td style="font-size: 12pt"> </td><td style="font-size: 12pt"> </td> <td colspan="2" style="font-size: 12pt"> </td><td style="font-size: 12pt"> </td><td style="font-size: 12pt"> </td> <td colspan="2" style="font-size: 12pt"> </td><td style="font-size: 12pt"> </td><td style="font-size: 12pt"> </td> <td colspan="2" style="font-size: 12pt"> </td><td style="font-size: 12pt"> </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%"> </td> <td style="width: 1%; text-align: left"> </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"> </td><td style="width: 2%"> </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> – <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"> </td><td style="width: 2%"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td>Granted</td><td> </td> <td style="text-align: left"> </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"> </td><td> </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> – <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"> </td><td> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Cancelled or expired</td><td> </td> <td style="text-align: left"> </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> </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> – <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"> </td><td> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1.5pt">Exercised</td><td style="padding-bottom: 1.5pt"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </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> – <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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Balance, December 31, 2022</td><td> </td> <td style="text-align: left"> </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"> </td><td> </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> – <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"> </td><td> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Cancelled or expired</td><td> </td> <td style="text-align: left"> </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> </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> – <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"> </td><td> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </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"> </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_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"> </td><td style="padding-bottom: 1.5pt"> </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> – <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"> </td><td style="padding-bottom: 1.5pt"> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </td><td style="padding-bottom: 1.5pt"> </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> – <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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td></tr> </table> 789500 1.42 4.13 2.78 981000 3.55 3.61 3.55 13486 1.70 3.61 2.32 71014 1.42 2.44 1.98 1686000 1.70 4.13 3.26 564000 3.46 4.13 3.55 8000 1.70 1.70 1114000 1.75 3.61 3.13 754000 1.75 3.61 2.93 P2Y10M24D <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"> </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"> </td><td style="padding-bottom: 1.5pt"> </td> <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 80%; text-align: left">Expected life – years</td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Interest rate</td><td> </td> <td style="text-align: left"> </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> – <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> </td> <td style="text-align: left"> </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> </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> – <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"> </td></tr> </table> P3Y 0.0176 0.0364 0.6601 0.6966 1.46 1.65 46000 14850 62241 62187 935000 172731 328769 149380 8000 54500 16514 375351 P2Y6M 69190 11520 96989 <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"> </span></p> <p style="font: 10pt Times New 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 – <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 – <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"> </span></p> <p style="font: 10pt Times New 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"> </span></p> <p style="font: 10pt Times New 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"> </span></p> 8000 54500 16514 1272 4070 0.05 <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"> </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 (“LLC”) 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 (“NCI”) 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’s are consolidated into these financial statements. The NCI’s ownership interest in ENP Investments is recorded in non-controlling interests in these consolidated financial statements. The non-controlling interest represents NCI’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"> </span></p> <p style="font: 10pt Times New 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"> </span></p> <p style="font: 10pt Times New 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"> <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%"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td>Distribution</td><td> </td> <td style="text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td>Balance, December 31, 2022</td><td> </td> <td style="text-align: left"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Distribution</td><td> </td> <td style="text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </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"> </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"> </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"> </span></p> <p style="font: 10pt Times New 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 – $<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"> </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> </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 (“317 NCI”) 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’s ownership interest in 317 Mendota is recorded in non-controlling interests in these consolidated financial statements. The non-controlling interest represents 317 NCI’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"> <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> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 80%">Acquisition</td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Non-controlling interest share of loss</td><td> </td> <td style="text-align: left"> </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> </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"> </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"> </span></p> 0.65 0.35 3225957 <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"> <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%"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td>Distribution</td><td> </td> <td style="text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td>Balance, December 31, 2022</td><td> </td> <td style="text-align: left"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Distribution</td><td> </td> <td style="text-align: left"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </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"> </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"> </td></tr> </table> 2602843 689434 691625 2605034 719439 1015604 2901199 6811083 6667815 4225028 3634083 0.80 0.20 <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"> <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> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 80%">Acquisition</td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left"> </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"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Non-controlling interest share of loss</td><td> </td> <td style="text-align: left"> </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> </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"> </td></tr> </table> 200000 35483 164517 <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"> </span></p> <p style="font: 10pt Times New 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"> </span></p> <p style="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 “EWCP” 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"> </span></p> <p style="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’s (as shown under the column heading “BCPA” 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"> </span></p> <p style="font: 10pt Times New 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’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"> </span></p> <p style="font: 10pt Times New 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"> </span></p> <p style="font: 10pt Times New 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’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"> </span></p> <p style="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"> <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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td></tr> <tr style="vertical-align: bottom"> <td style="text-align: justify"> </td><td> </td> <td colspan="2" style="text-align: justify"> </td><td> </td><td> </td> <td colspan="2" style="text-align: justify"> </td><td> </td><td> </td> <td colspan="2"> </td><td> </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%"> </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"> </td><td style="width: 2%"> </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"> </td><td style="width: 2%"> </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"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">387</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">498,279</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">498,666</td><td style="text-align: left"> </td></tr> <tr id="xdx_407_eus-gaap--DepreciationNonproduction_zD1WwEHW9bZ3" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Depreciation</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">17,411</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">1,668,908</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">1,686,319</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">(35,341</td><td style="text-align: left">)</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">168,076</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">132,735</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">(256,390</td><td style="text-align: left">)</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">3,032,254</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">2,775,864</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">4,843,123</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">50,627,932</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">55,471,055</td><td style="text-align: left"> </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"> </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="-sec-ix-hidden: xdx2ixbrl1710">-</span></td><td style="padding-bottom: 1.5pt; text-align: left"> </td><td style="padding-bottom: 1.5pt"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </td><td style="padding-bottom: 1.5pt"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </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"> </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"> </span></p> <p style="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"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td></tr> <tr style="vertical-align: bottom"> <td style="text-align: justify"> </td><td> </td> <td colspan="2" style="text-align: justify"> </td><td> </td><td> </td> <td colspan="2" style="text-align: justify"> </td><td> </td><td> </td> <td colspan="2"> </td><td> </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%"> </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"> </td><td style="width: 2%"> </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"> </td><td style="width: 2%"> </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"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1718">-</span></td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">292,949</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">292,949</td><td style="text-align: left"> </td></tr> <tr id="xdx_407_eus-gaap--DepreciationNonproduction_zrRFvC6jytj9" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Depreciation</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">33,876</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">1,243,555</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">1,277,431</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">18,898</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">126,958</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">145,856</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">(334,525</td><td style="text-align: left">)</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">8,047,754</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">7,713,229</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">2,810,091</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">48,777,101</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">51,587,192</td><td style="text-align: left"> </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"> </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="-sec-ix-hidden: xdx2ixbrl1738">-</span></td><td style="padding-bottom: 1.5pt; text-align: left"> </td><td style="padding-bottom: 1.5pt"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </td><td style="padding-bottom: 1.5pt"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </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"> </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"> <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> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td></tr> <tr style="vertical-align: bottom"> <td> </td><td> </td> <td colspan="2"> </td><td> </td><td> </td> <td colspan="2"> </td><td> </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%"> </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"> </td><td style="width: 2%"> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </td><td style="padding-bottom: 1.5pt"> </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,288,346</td><td style="padding-bottom: 1.5pt; text-align: left"> </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"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </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"> </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’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"> <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> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td></tr> <tr style="vertical-align: bottom"> <td> </td><td> </td> <td colspan="2"> </td><td> </td><td> </td> <td colspan="2"> </td><td> </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%"> </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"> </td><td style="width: 2%"> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </td><td style="padding-bottom: 1.5pt"> </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,699,896</td><td style="padding-bottom: 1.5pt; text-align: left"> </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"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </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"> </span></p> <p style="font: 10pt Times New 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"> </span></p> 2 <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"> <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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td></tr> <tr style="vertical-align: bottom"> <td style="text-align: justify"> </td><td> </td> <td colspan="2" style="text-align: justify"> </td><td> </td><td> </td> <td colspan="2" style="text-align: justify"> </td><td> </td><td> </td> <td colspan="2"> </td><td> </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%"> </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"> </td><td style="width: 2%"> </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"> </td><td style="width: 2%"> </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"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">387</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">498,279</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">498,666</td><td style="text-align: left"> </td></tr> <tr id="xdx_407_eus-gaap--DepreciationNonproduction_zD1WwEHW9bZ3" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Depreciation</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">17,411</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">1,668,908</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">1,686,319</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">(35,341</td><td style="text-align: left">)</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">168,076</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">132,735</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">(256,390</td><td style="text-align: left">)</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">3,032,254</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">2,775,864</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">4,843,123</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">50,627,932</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">55,471,055</td><td style="text-align: left"> </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"> </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="-sec-ix-hidden: xdx2ixbrl1710">-</span></td><td style="padding-bottom: 1.5pt; text-align: left"> </td><td style="padding-bottom: 1.5pt"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </td><td style="padding-bottom: 1.5pt"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </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"> </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"> </span></p> <p style="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"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td></tr> <tr style="vertical-align: bottom"> <td style="text-align: justify"> </td><td> </td> <td colspan="2" style="text-align: justify"> </td><td> </td><td> </td> <td colspan="2" style="text-align: justify"> </td><td> </td><td> </td> <td colspan="2"> </td><td> </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%"> </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"> </td><td style="width: 2%"> </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"> </td><td style="width: 2%"> </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"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1718">-</span></td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">292,949</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">292,949</td><td style="text-align: left"> </td></tr> <tr id="xdx_407_eus-gaap--DepreciationNonproduction_zrRFvC6jytj9" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Depreciation</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">33,876</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">1,243,555</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">1,277,431</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">18,898</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">126,958</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">145,856</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">(334,525</td><td style="text-align: left">)</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">8,047,754</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">7,713,229</td><td style="text-align: left"> </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> </td> <td style="text-align: left"> </td><td style="text-align: right">2,810,091</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">48,777,101</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">51,587,192</td><td style="text-align: left"> </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"> </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="-sec-ix-hidden: xdx2ixbrl1738">-</span></td><td style="padding-bottom: 1.5pt; text-align: left"> </td><td style="padding-bottom: 1.5pt"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </td><td style="padding-bottom: 1.5pt"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </td></tr> </table> 572845 37751961 38324806 387 498279 498666 17411 1668908 1686319 -35341 168076 132735 -256390 3032254 2775864 4843123 50627932 55471055 -4990675 -4990675 528462 45312007 45840469 292949 292949 33876 1243555 1277431 18898 126958 145856 -334525 8047754 7713229 2810091 48777101 51587192 -1981307 -1981307 <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"> <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> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td></tr> <tr style="vertical-align: bottom"> <td> </td><td> </td> <td colspan="2"> </td><td> </td><td> </td> <td colspan="2"> </td><td> </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%"> </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"> </td><td style="width: 2%"> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </td><td style="padding-bottom: 1.5pt"> </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,288,346</td><td style="padding-bottom: 1.5pt; text-align: left"> </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"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td></tr> </table> 755844 552123 37568962 45288346 38324806 45840469 <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’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"> <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> </td><td style="padding-bottom: 1.5pt"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td></tr> <tr style="vertical-align: bottom"> <td> </td><td> </td> <td colspan="2"> </td><td> </td><td> </td> <td colspan="2"> </td><td> </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%"> </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"> </td><td style="width: 2%"> </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"> </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"> </td> <td style="border-bottom: Black 1.5pt solid; text-align: left"> </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"> </td><td style="padding-bottom: 1.5pt"> </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,699,896</td><td style="padding-bottom: 1.5pt; text-align: left"> </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"> </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"> </td><td style="padding-bottom: 1.5pt"> </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"> </td></tr> </table> 142577 150890 17958778 14699896 18101355 14850786 20482798 0.53 27775616 0.61 <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"> </span></p> <p style="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"> </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"> </p> <p style="font: 10pt Times New 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> 15000 494000 56000 false false false false